Ayuda con este programita, urgente
Have si alguien me puede indicar como continuar, la funcion listar creo que esta mal y la que te pide los datos te debe pedir la letra del dni y en este caso no se puede.
#include <stdio.h>
#include <string.h>
struct Alumno{
char apellidos[100];
char nombre[30];
int dni;
float practica;
float teorica;
float final;
};
struct Alumno alumnos[200];
int menu(void);
void crear(void);
void buscar(void);
void borrar(void);
void ordenar(void);
void ponernotas(void);
void listar(void);
int op, finlista=0;
main(){
op = menu();
while (op>=1 && op<7){
if (op==1)
crear();
else if (op==2)
borrar();
else if (op==3)
buscar();
else if (op==4)
ordenar();
else if (op==5)
ponernotas();
else if (op==6)
listar();
op = menu();
}
}
int menu(){
printf("nMENU PRINCIPALnn");
printf("t1.-Dar de alta un Alumnon");
printf("t2.-Borrar un Alumnon");
printf("t3.-Buscar un Alumnon");
printf("t4.-Ordenarn");
printf("t5.-Poner notasn");
printf("t6.-Mostrar listadon");
printf("t7.-SALIRnn");
printf("ELIJA UNA OPCION: ");
scanf("%d",&op);
return op;
}
void crear(void){
struct Alumno alumnos[finlista];
if(finlista<200){
printf("nnnCREA FICHA:n");
printf("nApellidos: ");
fflush(stdin);
gets(alumnos[finlista].apellidos);
printf("nNombre: ");
fflush(stdin);
gets(alumnos[finlista].nombre);
printf("nDNI: ");
fflush(stdin);
gets(alumnos[finlista].dni);
alumnos[finlista].practica=0;
alumnos[finlista].teorica=0;
alumnos[finlista].final=0;
finlista++;
}
else{
printf ("nnNo se puede introducir mas datosnn");
}
printf("nnn");
}
void buscar(void){
}
void borrar(void){
}
void ordenar(void){
}
void ponernotas(void){
}
void listar(void){
int i;
struct Alumno alumnos[finlista];
printf("nDNIt APELLIDOStt NOMBRESt PRACTICA TEORICA FINAL");
printf("n--------------------------------------------------------------------------");
for(i=0; i<finlista; i++){
printf("n%d", alumnos[finlista].dni);
printf("%s", alumnos[finlista].apellidos);
printf("%s", alumnos[finlista].nombre);
printf("%f", alumnos[finlista].practica);
printf("%f", alumnos[finlista].teorica);
printf("%f", alumnos[finlista].final);
}
printf("nnn");
}
#include <stdio.h>
#include <string.h>
struct Alumno{
char apellidos[100];
char nombre[30];
int dni;
float practica;
float teorica;
float final;
};
struct Alumno alumnos[200];
int menu(void);
void crear(void);
void buscar(void);
void borrar(void);
void ordenar(void);
void ponernotas(void);
void listar(void);
int op, finlista=0;
main(){
op = menu();
while (op>=1 && op<7){
if (op==1)
crear();
else if (op==2)
borrar();
else if (op==3)
buscar();
else if (op==4)
ordenar();
else if (op==5)
ponernotas();
else if (op==6)
listar();
op = menu();
}
}
int menu(){
printf("nMENU PRINCIPALnn");
printf("t1.-Dar de alta un Alumnon");
printf("t2.-Borrar un Alumnon");
printf("t3.-Buscar un Alumnon");
printf("t4.-Ordenarn");
printf("t5.-Poner notasn");
printf("t6.-Mostrar listadon");
printf("t7.-SALIRnn");
printf("ELIJA UNA OPCION: ");
scanf("%d",&op);
return op;
}
void crear(void){
struct Alumno alumnos[finlista];
if(finlista<200){
printf("nnnCREA FICHA:n");
printf("nApellidos: ");
fflush(stdin);
gets(alumnos[finlista].apellidos);
printf("nNombre: ");
fflush(stdin);
gets(alumnos[finlista].nombre);
printf("nDNI: ");
fflush(stdin);
gets(alumnos[finlista].dni);
alumnos[finlista].practica=0;
alumnos[finlista].teorica=0;
alumnos[finlista].final=0;
finlista++;
}
else{
printf ("nnNo se puede introducir mas datosnn");
}
printf("nnn");
}
void buscar(void){
}
void borrar(void){
}
void ordenar(void){
}
void ponernotas(void){
}
void listar(void){
int i;
struct Alumno alumnos[finlista];
printf("nDNIt APELLIDOStt NOMBRESt PRACTICA TEORICA FINAL");
printf("n--------------------------------------------------------------------------");
for(i=0; i<finlista; i++){
printf("n%d", alumnos[finlista].dni);
printf("%s", alumnos[finlista].apellidos);
printf("%s", alumnos[finlista].nombre);
printf("%f", alumnos[finlista].practica);
printf("%f", alumnos[finlista].teorica);
printf("%f", alumnos[finlista].final);
}
printf("nnn");
}