C/Visual C - Ayuda con manejo de archivos

   
Vista:

Ayuda con manejo de archivos

Publicado por Camilo (1 intervención) el 15/12/2014 04:18:19
Hola soy nuevo en el foro, me mandaron esta tarea y no se como hacerla, si me ayudan los maestros por favor ! la tarea es la siguiente:

Se desea implementar un programa en C para trabajar con archivos para los estudiantes y profesores. Tanto un estudiante como un profesor tienen el dato nombre completo que está formado por apellido paterno, apellido materno, primer nombre y segundo nombre, para lo cual se pide definir una estructura nombre (struct nombre), y entonces en las estructuras estudiante y profesor, se debe definir un atributo struct nombre nombreCompleto. Además, un estudiante tiene los atributos carrera que corresponde a una cadena, junto con el conjunto de los códigos de sus ramos. Un estudiante puede tener a lo más 10 ramos. Los datos de un profesor son nombreCompleto, carrera, y un conjunto de los códigos de sus cursos que son a lo más 5, para lo cual se define un vector. Tanto para los cursos de un alumno como los de un profesor, se consideran sólo los primeros cursos con valor distinto de cero. Por ejemplo, un alumno podría presentar los cursos [80, 10, 0, 0, …, 0] que significa que el alumno tiene solo 2 ramos.

Se pide entonces crear una aplicación con un menú con las siguientes opciones:

1. Ingresar nuevo Alumno (Debe ingresar todos los datos de un alumno, incluyendo el conjunto de sus cursos – para esto, solicite número de cursos del alumno y luego ingrese dichos cursos en el vector – Asuma ingresos correctos - si el número de cursos < 10, entonces habrán cursos no asignados con código 0).

2. Buscar Alumno. (Ingresar el primer apellido del alumno solamente a buscar – su búsqueda no debe distinguir entre mayúsculas ni minúsculas. Por ejemplo, Abarza sería lo mismo que abarza).

3. Ingresar Profesor. (Debe ingresar todos los datos de un alumno, incluyendo el conjunto de sus cursos – para esto, solicite número de cursos dictados por el profesor, y luego ingrese dichos cursos en el vector – Asuma ingresos correctos - si el número de cursos < 5, entonces habrán cursos no asignados con código 0).


4. Buscar Profesor (Ingresar el primer nombre y el primer apellido - su búsqueda no debe distinguir entre mayúsculas ni minúsculas. Por ejemplo, CRISTIAN Abarza sería lo mismo que cristian abarzA).

5. Mostrar todos los alumnos de curso X (X corresponde al código de un curso) mediante orden alfabético de nombreCompleto.

6. Mostrar todos los alumnos de profesor Y (todos los alumnos que son alumnos de un curso dictado por el profesor Y – Y es el 1er apellido de un profesor de la UPLA – El primero que se encuentre. Si dicho profesor no existe, debe indicar un mensaje de “Error / Profesor no Existe”) Mostrar todos los alumnos de curso X (X corresponde al código de un curso) mediante orden alfabético de nombreCompleto.


7. Salir.

Gracias !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con manejo de archivos

Publicado por Juan (6 intervenciones) el 16/12/2014 12:22:25
Buenas Camilo

En principio en el enunciado no se dice nada de manejo de archivos, sino de una estructura de datos, en caso que sí tengas que manear archivos yo usaría funciones tipo fopen, fwrite, fread,... (son las que se suelen usar en C para apertura y escritura de archivos).

Así que la orientación sería crear la estructura de datos y después un menú con las opciones. Cada menú debería llamar a una función que haga lo que piden.

Por partes cada función sería algo similar a esto:

1) Introduces datos y en el vector una vez que sabes los cursos que tienes pues haces algo parecido a lo siguiente:
cont = 1
scanf(%d,num_cursos);
while cont != num_cursos{
scanf("%d",curso) ;
Alumno.curso[cont] = curso;
cont ++ ;
}
while cont <= 10
Alumno.curso[cont] = 0


2) Una búsqueda por nombre sin más

3) No entiendo este apartado, para qué necesitas saber los datos del alumno para un profesor? Más bien sería el alumno el que tendría que saber el profesor por el curso al que está apuntado

4) Como el dos una búsqueda por nombre

5) Búsqueda por curso y printf(Alumno)

6) Leer(Profesor) y después buscar alumnos que tengan la asignatura/s que dé ese profesor

Espero haberte orientado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar