Programación General > Visual C++
Estructuras
SteelX:
Luego primero no tienes que comprobar si existe??. si se lo pasas a la estructura lo estas introduciendo, sera mejor que lo almacenes en una variable diferente a la estructura.
int DNI_In=0;
lo recibes y despues lo comparas con el de la clase
alexancoC++:
Hola de nuevo, sigo avanzando con la práctica. Recordando la estructura:
--- Código: Text --- struct asignatura{ char Nombre[LON]; int codigo; float Nota; int año;}; struct alumno{ char Nombre[LON]; long dni; int Edad; float media; asignatura Asignatures[M];}Clase[N];
Tengo que introducir una asignatura mirando que el codigo de la misma no exista. He pensado en hacer un bool como antes, sería esto?:
--- Código: Text --- bool buscar_codigo(alumno Clase[],int num){ int i; for(i=0;i<N;i++) { if(Clase[i].Asignatures[i].codigo==num) { return true; } }return false;} Esta función me da errooorrr!!!!!!
Después de comprobar que el codigo no esta, podría ponerle el nombre a la asignatura de esta forma?:
printf("Introduce el nombre de la asignatura:\n");
scanf("%s",&Clase.Asignatures.Nombre);
Gracias. Saludos.
SteelX:
--- Código: Text --- for(i=0;i<N;i++)
te da error porque no sabe que es N???
alexancoC++:
N lo tengo definido arriba de esta forma:
--- Código: Text --- #define N 30#define M 40#define LON 25 bool buscar_codigo(alumno [],int );
Quizás tengo mal definida la función.
Para llamarlo lo hago de esta forma:
--- Código: Text --- c=buscar_codigo(Clase[i].Asignatures,codigo_in);if(c==1){ printf("Asignatura ja introducida\n"); printf("Vuelve a introducir el codigo\n"); scanf("%d",&codigo_in); c=buscar_codigo(Clase[i].Asignatures,codigo_in);}
Si el codigo existe vuelvo a llamar a la función. ¿Es así? ¿Se llama asi a la función y se define asi?
SteelX:
--- Código: Text --- bool buscar_codigo(alumno Clase[],int num){ int i; for(i=0;i<N;i++) { if(Clase[i].Asignatures[i].codigo==num) { return true; } }return false;}
tu funcion la veo bien implementada..
el problema es cuando la llamas
--- Código: Text --- c=buscar_codigo(Clase[i].Asignatures,codigo_in);
en tu declaracion le pasas como parametro un array de alumnos
y en el llamado le estas pasando un array de
--- Código: Text --- asignatura Asignatures[M]; alli hay conflictos
si le pasaras
--- Código: Text ---c=buscar_codigo(Clase,codigo_in);
no habria error
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa