Programación General > Visual C++
Estructuras
alexancoC++:
Buenas, tengo un problemilla con una práctica que estoy haciendo de estructuras.
Tengo la siguiente estructura:
--- Código: Text --- #define N 30#define LON 25 struct asignatura{ char Nombre[LON]; int codigo; float Nota; int año;}; struct alumno{ char Nombre[LON]; long dni; int Edad; float media; asignatura asignaturas[40];}Clase[N];
Primeramente tengo que definir un vector Clase donde se guardaran todos los alumnos, que como máximo seran 30. ¿Esta definido correctamente en la estructura de alumno (Clase[N])?
Posteriormente, el programa pide el DNI de un alumno, si este no existe se pide el nombre, la edad y luego se mostrará un menú de asignaturas (introducir asignatura, modificar, salir). Si el DNI introducido existe aparecerá directamente el menú de asignaturas.
¿Como miro si el DNI introducido después de pedirlo existe o no? ¿Tengo que tener en cuenta el vector clase que como máximo tiene 30?
¿Alguna idea de como hacerlo?
Gracias de antemano!!
SteelX:
puedes hacer una funcion search o buscar. que reciba como parametro el vector de alumnos y el numero (DNI) a buscar.. que retorne un booleano.. true si lo encontro y false si no.. lo recibes en un condicional que te muestre los respectivos menues.
No tengo que decirte que vas a tener que recorer el vector de alumnos , es decir la clase para buscar si esta el DNI.
pero por si acaso
for(i=0;i< N;i++)
{
if ( CLase.DNI==DNI_introducido)
return true;
}
return false; por si no encontro
N seria lo que llevas introducido hasta ahora... no sera necesario recorer los 30 si llevas 5 .
alexancoC++:
Muchas gracias por tu ayuda!!!! me fue muy bien.
Pero una pregunta, como hago para cuando devuelva el booleano en un condicional me muestre los menús (con un if-else???).
Este punto es el que no acabo de entender muy bien.
Muchas muchas muchas gracias!!
Saludos.
SteelX:
--- Cita de: "alexancoC" ---
Pero una pregunta, como hago para cuando devuelva el booleano en un condicional me muestre los menús (con un if-else???).
Este punto es el que no acabo de entender muy bien.
--- Fin de la cita ---
Pues seria algo como esto
2 funciones.
1 cuando es el Alumno
1 cuando es el Asignatura
if(encontro)
funcion_asignatura()
else
funcion_alumno()
y asi
alexancoC++:
Una ultima pregunta.
Cuando pido el DNI al principio, se lo paso al vector clase asi?
--- Código: Text --- printf("Introduce el dni\n");scanf("%d",&Classe[i].dni); O no lo paso en el vector y lo paso como un scanf("%d",&dni) por ejemplo? Porque luego cuando hago la funcion buscar que reciba como parametro el vector de alumnos y el dni a buscar, de que forma se lo paso?
Muchisimas gracias!!!!!
saludos.
Navegación
[#] Página Siguiente
Ir a la versión completa