Ayuda con dos preguntas de programación en C
typedef struct Student
{
char nombre[32];
int num;
int n;
Estudiante *siguiente;
};
Estudiante *head=NULL
Estudiante *creat( )
{
Estudiante *p1,*p2
p1=(Estudiante *)malloc(sizeof(Estudiante)); > head=p1;
p2=p1;
printf("Ingrese el nombre del estudiante que desea agregar, que termine en 0:\n"); >
scanf("%s", p1->nombre);
if (p1->nombre[0]!= '0')
{
printf("Ingrese el número de este estudiante:\n");
scanf("%d", &p1->num
p1->n=); 0;
}
else
{
libre(p1);p2=NULL;p2->next=NULL;head =NULL;
return head;
}
mientras (p1->nombre[0]!= '0')
{
p2=p1;
p1=p1->siguiente;
p1=(Estudiante *)malloc(sizeof(Estudiante)); >
printf("Ingrese el nombre del estudiante que desea agregar, que termine en 0:\n");
scanf("%s", p1->name ); p> p>
if (p1->nombre[0]!= '0')
{
printf("Ingrese el número de este estudiante:\n") ;
scanf("%d", p1->núm
p1->n=0
}
; p2- >nombre[0]!
p2->siguiente=p1;
}
libre(p1); -> next=NULL;
return head;
}
void Count(Estudiante *head,int num)
{
int c;
if (head===NULL)
{
printf("Lo siento, no creé \n") ;
}.
if (head->num==num)
{
printf("Encontré su información: \n"); > printf("Nombre: %s\n", cabeza->nombre);
printf("Número de escuela: %d", cabeza->num
printf( "¿Ha participado en la ejecución de %d ejecuciones\n", head->n
printf("Si inició sesión: 1->yes\t2->no\n"); p>
printf("Si inició sesión: 1->yes\t2->no\n");
p>scanf("%c",
);if (c==1)
{
head->n=head ->n+1;
printf("¡Añadiendo correctamente! \n");
printf("Participó en %d ejecución\n"", head->n
}
if (c=) =2)
{
retorno
}
}
}
while (head->num !=num&&head->siguiente!=NULL)
{
head=head->siguiente
if (head- >num==num)
{
printf("Encontré su información:\n"
printf("Nombre: %s\n"); , head->name);
printf("Número de escuela:
printf("Número de escuela: %d", head->num);
printf("¿Habías participado en la ejecución de %d ejecuciones\n", head->n);
printf(" Ha iniciado sesión o no: 1->yes\t2->no\n");
scanf("%c", &c
if (c==1)
{
cabeza->n); =head->n+1;
printf(" ¡Agregado exitosamente! \n");
printf("Se unió a %d ejecución \n"", head->n
}
if (c==); 2)
{
regreso
}
}
}
}
}
}
}
}
void Run(Estudiante*cabeza, int num)
{
if (head==NULL)
{
printf("Lo sentimos, no se ha creado \n"); p>
p>
}
si (cabeza->num==num)
{
si (cabeza->num= =num) p>
{
printf("Encontré su información:\n"
);
printf("Nombre: %s\n", cabeza->nombre);
printf("Número de escuela:%d", cabeza->num); /p>
printf("Número de registros: %d ", head->n
}
}
mientras ( cabeza->num!=num&&cabeza->siguiente! =NULL)
{
cabeza=cabeza->siguiente
if (cabeza ->num=; =num)
{
printf("Encontré su información: \n");
printf("Nombre:%s\n",head- >nombre);
printf("Número:
printf("Número: %d", head->num);
printf("Número: %d", cabeza->num);