HOLA,ESTOY TRATANDO DE HACER ALGO BASICO, NO ME SALE,RECIEN ESTOY APRENDIENDO, PORQUE ME PARACE Q EN EL BUCLE WHILE(RESP!='N')AL ULTIMO SALE LA PREG "DESEA...",PERO DEBAJO DE ESO YA APARECE "LU"....LE FALTA UN CORCHETE? Y TAMBIEN COMO HAGO PARA QUE MUESTRE LA LISTA?AYUDA.GRACIAS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct fecha
{
char dia,mes,anio;
};
struct alumno
{
int lu;
long int dni;
char apellido[20];
char nombre[20];
char carrera[25];
int edad;
struct fecha ing;
struct alumno*sig;
};
void DarAlta();
void MostrarDatos();
void main ()
{
int op=0;
while (op!=3)
{
printf("====Menu====\n\n");
printf("1-Dar de Alta\n");
printf("2-Mostar Datos\n");
printf("3-Salir\n");
scanf("%d",&op);
switch(op)
{
case 1:DarAlta();break;
case 2:MostrarDatos();break;
}
}
}
void DarAlta ()
{
char resp='s';
while(resp!='n')
{
struct alumno*aux;
struct alumno*inicio=NULL;
struct alumno*nuevo=((struct alumno*)malloc(sizeof(struct alumno)));
printf("INGRESE LOS DATOS:\n");
printf("lu:\n");
scanf("%d",&nuevo->lu);
printf("DNI:\n");
scanf("%d",&nuevo->dni);
printf("Apellido:\n");
scanf("%s",nuevo->apellido);
printf("nombre:\n");
scanf("%s",nuevo->nombre);
printf("carrera:\n");
scanf("%s",nuevo->carrera);
printf("edad:\n");
scanf("%d",&nuevo->edad);
printf("fecha de ingreso:\n");
printf("dia\n");
scanf("%d",nuevo->ing.dia);
printf("mes:\n");
scanf("%d",nuevo->ing.mes);
printf("a¤o:\n");
scanf("%d",nuevo->ing.anio);
nuevo->sig=NULL;
if (inicio==NULL)
{
inicio=nuevo;
}
else
aux=inicio;
if (aux->lu>nuevo->lu)
{
nuevo->sig=aux;
inicio=nuevo;
}
else
{
while (aux->sig!=NULL & nuevo->lu>=aux->sig->lu)
{
aux=aux->sig;
}
nuevo->sig=aux->sig;
aux->sig=nuevo;
}
printf("Desea ingresar mas datos\n");
scanf("%c",&resp);
}
}
void MostrarDatos ()
{
struct alumno*inicio;
struct alumno*aux;
int i;
i=0;
aux=inicio;
while (aux!=NULL)
{
printf("%d",aux->lu);
printf("%d",aux->dni);
printf("%s",aux->apellido);
printf("%s",aux->nombre);
printf("%s",aux->carrera);
printf("%d",aux->edad);
printf("%d",aux->ing.dia);
printf("%d",aux->ing.mes);
printf("%d",aux->ing.anio);
aux=aux->sig;
i++;
}
if (i==0)
printf("La lista esta vacio");
}