Programación General > Visual C++

 Estructuras

<< < (2/3) > >>

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&#60;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&#60;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(&#34;Asignatura ja introducida&#092;n&#34;);  printf(&#34;Vuelve a introducir el codigo&#092;n&#34;);  scanf(&#34;%d&#34;,&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&#60;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

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa