• Sábado 11 de Mayo de 2024, 06:55

Autor Tema:  Problema Con Estructuras En C  (Leído 1582 veces)

Gero_M

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
    • http://www.nirvanamedia.net
Problema Con Estructuras En C
« en: Lunes 5 de Julio de 2004, 04:30 »
0
Hola Amigos de Solo Codigo... Miren les presento un nuevo problema que me ha ocurrido resulta que estoi aprendiendo a crear estructuras y me dieron un problema que es el siguiente: crear un programa que registre la entrega de tareas de un curso... para el cual debo registrar el nombre rut asignatura, tema tarea. etc... y despues debo darle solo las tareas de un profesor en especifico...
para un curso de 68 alumnos. pero resulta que he comenzado a crear mis estructuras y tengo un error ("two or more data types in declaration of `gen'");
mi codigo fuente ess el siguiente no esta listo es solo una pasrte de el espero que me puedan ayudar ... creo que eso esta mal asignado por el tipo de error que envia....

el Codigo:

struct alumno{
char nombre[25];
char apellido[35];
char rut[10];
char carrera[50];
}
struct tarea{
char asignatura[20];
char profesor[25];
char fecha[8];
char hora[4];
char tema[20];
}

struct general{
struct alumno a;
struct tarea t;
}

struct general gen; /*aqui envia el error*/
main()
{
printf("Ingrese Nombre de Alumno");
scanf("%s",&gen.a.nombre);
printf("Ingrese Apellido de Alumno");
scanf("%s",&gen.a.apellido);
printf("Ingrese Rut de Alumno");
scanf("%s",&gen.a.rut);
printf("Ingrese Carrera de Alumno");
scanf("%s",&gen.a.carrera);
printf("Ingrese Asignatura");
scanf("%s",&gen.t.asignatura);
printf("Ingrese Nombre de Profesor");
scanf("%s",&gen.t.profesor);
printf("Ingrese Fecha de Entrega");
scanf("%s",&gen.t.fecha);
printf("Ingrese Hora de Entrega");
scanf("%s",&gen.t.hora);
printf("Ingrese Tema de la Tarea");
scanf("%s",&gen.t.tema);
printf("%s",gen.t.profesor);
getch();
}
 :alien:
"Las Estrellas están ahí... Solo debes Mirarlas"

Oliverio

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Problema Con Estructuras En C
« Respuesta #1 en: Lunes 5 de Julio de 2004, 05:47 »
0
Funciona si despues de cada struct pones un ";", asi:
Código: Text
  1. struct alumno{
  2. char nombre[25];
  3. char apellido[35];
  4. char rut[10];
  5. char carrera[50];
  6. };
  7. struct tarea{
  8. char asignatura[20];
  9. char profesor[25];
  10. char fecha[8];
  11. char hora[4];
  12. char tema[20];
  13. };
  14. struct general{
  15. struct alumno a;
  16. struct tarea t;
  17. };
  18.  

Suerte

Gero_M

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
    • http://www.nirvanamedia.net
Re: Problema Con Estructuras En C
« Respuesta #2 en: Miércoles 7 de Julio de 2004, 04:12 »
0
hola Miren Tengo mi codigo practicamente listo... solo me falta saber como puedo hacer para que el programa me imprima solo la estructura de un profesor ... es decir que al final del programa este me imprima el nombre rut ,etc. de los alumnos que tienen tarea para el profesor Juan Moraga... El codigo que tengo es el siguiente:

#include <stdio.h>
#include <conio.h>
int i;
main()
{
struct trabajo
{
char rut[15];
char nombre[30];
char apellido[30];
char carrera[30];
char fecha[30];
char hora[30];
char asignatura[30];
char profesor[30];
char tema[20];
}tra[3];

for(i=0;i<3;i++)
{
printf("\nIngrese Nombre de Alumno %d :", i+1);
scanf("%s",&tra.nombre);
printf("\nIngrese Apellido de Alumno %d :", i+1);
scanf("%s",&tra.apellido);
printf("\nIngrese Rut de Alumno %d :", i+1);
scanf("%s",&tra.rut);
printf("\nIngrese Carrera de Alumno %d :", i+1);
scanf("%s",&tra.carrera);
printf("\nIngrese Asignatura %d :", i+1);
scanf("%s",&tra.asignatura);
printf("\nIngrese Nombre de Profesor %d :", i+1);
scanf("%s",&tra.profesor);
printf("\nIngrese Fecha de Entrega %d :", i+1);
scanf("%s",&tra.fecha);
printf("\nIngrese Hora de Entrega %d :", i+1);
scanf("%s",&tra.hora);
printf("\nIngrese Tema de la Tarea %d :", i+1);
scanf("%s",&tra.tema);
}
getch();
}

Espero que me ayuden.... Gracias
"Las Estrellas están ahí... Solo debes Mirarlas"

Oliverio

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Problema Con Estructuras En C
« Respuesta #3 en: Miércoles 7 de Julio de 2004, 19:15 »
0
Podes hacer algo asi:
Código: Text
  1.  
  2. char szProf[30];
  3. printf(&#34;Profesor?: &#34;);
  4. scanf(&#34;%s&#34;, szProf);
  5. for(i=0;i&#60;3;i++){
  6.   if(!strcmp(szProf,tra[i].profesor)){
  7.     printf(&#34;Al: %s &#092;n&#34;,tra[i].nombre);
  8.   }
  9. }
  10.  
  11.  
La funcion strcmp debuelve 0 cuando las cadenas son iguales, por eso esta negada.