Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: fer_fer_73 en 2 Febrero 2011, 20:16 pm



Título: duda con un ejercicio..
Publicado por: fer_fer_73 en 2 Febrero 2011, 20:16 pm
hola, disculpen, la verdad es que sopy nuevo y me exprese mal, no es que la tire asi nomas de vago, en el problema:

declarar una estructura de nombre alumnos para almacenar la siguiente informacion:
..nombre alumno
..legajo
..domicilio
..turno.
de cada uno de los 300 alumnos de un establecimiento. Luego de declararla asignar los siguientes datos en la 1º estructura: juan gomez, 123245, San Juan 1026, M.

lo que no entiendo es como hacer para llenar los datos de los 300 alumnos, es decir, lo hago con un  for (i=1;i<301;i++) y despues con 4 scanf y se la asigno a cada campo?

Muchas gracias y perdon por haber puesto asi nomas el ejercicio.


Título: Re: duda con un ejercicio..
Publicado por: kasiko en 2 Febrero 2011, 20:33 pm
creas un array de 300 elementos de la estructura, y luego en el for vas rellenando ese array y ya los tienes almacenados en memoria.

 :rolleyes:

PD: se me olvidaba, en c, es for(i=0;i<300;i++)


Título: Re: duda con un ejercicio..
Publicado por: Oblivi0n en 2 Febrero 2011, 20:47 pm
En este foro no se hacen tareas, te han bloqueado tu otro mensaje, en el que yo te deje una estructura a traves de la cual ya podrias hacer eso, que es mas de lo que mereces.

No hagas doble - post cuando infringes las normas, LEETE LAS NORMAS!


Título: Re: duda con un ejercicio..
Publicado por: RyogiShiki en 2 Febrero 2011, 20:59 pm
En este foro no se hacen tareas, te han bloqueado tu otro mensaje, en el que yo te deje una estructura a traves de la cual ya podrias hacer eso, que es mas de lo que mereces.

No hagas doble - post cuando infringes las normas, LEETE LAS NORMAS!

Si vas ha hacer doble post, almenos postea el codigo de lo que llevas hecho para poder ver tus avances en que fallas así podremos aconcejarte mejor sobre tus problemas...


Título: Re: duda con un ejercicio..
Publicado por: fer_fer_73 en 3 Febrero 2011, 20:16 pm
Código
  1. #include <stdio.h>
  2. main ()
  3. {
  4. char c,k,m;
  5. int i,l;
  6. struct alumnos {
  7. char nombre [30];
  8. insigned int legajo [6];
  9. char domicilio [15];
  10. char turno [1];
  11. }
  12. for (i=0;i<300;i++)
  13. {
  14. printf ("nombre:\n");
  15. scanf ("%c", &c);
  16. nombre [i] = c;
  17. printf ("legajo:\n");
  18. scanf ("%d", &l);
  19. legajo[i]= l;
  20. printf ("domicilio:\n");
  21. scanf ("%c", &k);
  22. legajo [i] = k:
  23. printf ("turno:\n");
  24. scanf ("%c", &m);
  25. turno [i]= m;
  26. }


Lo que hice es esto, lo que no entiendo es como crear un arreglo que guarde todos estos datos, xq son de distinto tipo.

Muchas gracias a los que me contestaron bien, y no entiendo a los que me bardean, porque el otro dia tire el ejercicio asi nomas y esta bien q me digan que nos e puede hacer eso, pero alguien me dijo que ponga cual era mi duda, y escribo mi duda, y me siguen diciendo que no se hacen tareas, osea, si no me puedo sacar una duda para que es el foro? pense que era para podes sacarse dudas e interactuar con gente sobre el mismo tema...

Y no es una tarea, estoy preparando esta materia para la UTN de rosario. muchas gracias, saludos!


Título: Re: duda con un ejercicio..
Publicado por: negux en 3 Febrero 2011, 22:45 pm
de acuerdo a tu definicion de estructura,  solo es declarar un arreglo de esa estructura
algo asi
Código
  1. struct alumnos a[20];
  2.  

con eso ya tienes un arreglo del tipo alumnos, que a su vez contiene diferentes tipos de datos, ahora para acceder a cada uno seria algo asi, por poner un ejemplo:
Código
  1. scanf("%s",a[0].nombre);
  2. scanf("%s",a[0].turno);
  3.  
eso lo puedes poner en un for



Título: Re: duda con un ejercicio..
Publicado por: Garfield07 en 3 Febrero 2011, 23:50 pm
Código
  1. struct alumno [num_alum]
  2. {
  3. char nombre [30];
  4. int edad;
  5. int media;
  6. char domicilio [50];
  7. }
  8.  

Etc


Título: Re: duda con un ejercicio..
Publicado por: Oblivi0n en 4 Febrero 2011, 00:03 am
Código
  1. #include <stdio.h>
  2. int main ()
  3. {
  4. char c,k,m;
  5. int i,l;
  6. struct alumnos {
  7. char nombre [30];
  8. unsigned int legajo;
  9. char domicilio [15];
  10. char turno [1];
  11. };
  12.  
  13. alumnos al[300];
  14.  
  15. for (i=0;i<300;i++)
  16. {
  17. printf ("nombre:\n");
  18. scanf ("%c", &c);
  19. al[i].nombre= c;
  20. printf ("legajo:\n");
  21. scanf ("%d", &l);
  22. al[i].legajo= l;
  23. printf ("domicilio:\n");
  24. scanf ("%c", &k);
  25. al[i].legajo= k;
  26. printf ("turno:\n");
  27. scanf ("%c", &m);
  28. al[i].turno= m;
  29. return 0;
  30. }

puede que haya cosas mal, no lo he compilado ni nada...

P.D: Las estructuras es mejor declararlas fuera de las funciones si es posible, hace el codigo mucho mas legible


Título: Re: duda con un ejercicio..
Publicado por: negux en 4 Febrero 2011, 01:24 am
ahi solo estarias leyendo un caracter, por eso puse

scanf("%s",a[0].nombre);
saludos