Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Boris Morales en 2 Octubre 2020, 00:15 am



Título: Que le puedo agregar al siguiente código para que imprima el nombre de estudiant
Publicado por: Boris Morales en 2 Octubre 2020, 00:15 am
Amigos que le puedo agregar al siguiente código para que imprima los nombres de los estudiantes que aprobaron y reprobaron respectivamente????
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include <unistd.h>
  5.  
  6. int promedio(int n1, int n2, int n3);
  7.  
  8. struct seccion1{
  9. int matricula[8];
  10. char nombre[10];
  11. char apellido[15];
  12. char fecha_de_nacimiento[10];
  13. char sexo;
  14. int nota1;
  15. int nota2;
  16. int nota3;
  17.    bool estatus;
  18. };
  19.  
  20. main(){
  21.  
  22. struct seccion1 estudiantescuc[100];
  23.  
  24. int i,n,aprobados=0,reprobados=0;
  25.  
  26. printf("Indique la cantidad de Estudiantes a promediar: ");
  27. scanf("%i", &n);
  28. printf("\n");
  29.  
  30. for (i=0; i<=n-1; i++){
  31. printf("Indique su matricula estudiante #%i: ",i+1 );
  32. scanf("%i", &estudiantescuc[i].matricula);
  33. printf("Indique su Nombre: " );
  34. scanf("%s", &estudiantescuc[i].nombre);
  35. printf("Indique su Apellido: " );
  36. scanf("%s", &estudiantescuc[i].apellido);
  37. printf("Indique su Fecha de Nacimiento: " );
  38. scanf("%s", &estudiantescuc[i].fecha_de_nacimiento);
  39. printf("Indique su Sexo: " );
  40. scanf("%s", &estudiantescuc[i].sexo);
  41. printf("Indique Nota 1: " );
  42. scanf("%i", &estudiantescuc[i].nota1);
  43. printf("Indique Nota 2: " );
  44. scanf("%i", &estudiantescuc[i].nota2);
  45. printf("Indique Nota 3: " );
  46. scanf("%i", &estudiantescuc[i].nota3);
  47.  
  48. if (promedio(estudiantescuc[i].nota1, estudiantescuc[i].nota2, estudiantescuc[i].nota3) > 6){
  49.  
  50. printf(" Estudiante APROBADO ");
  51. printf("\n");
  52. estudiantescuc[i].estatus=1;
  53. aprobados++;
  54. }
  55.  
  56. else {
  57. printf(" Estudiante REPROBADO ");
  58. printf("\n");
  59.  
  60. estudiantescuc[i].estatus=0;
  61. reprobados++;
  62. }
  63. }
  64.  
  65. printf("\n Total de Estudiantes APROBADOS : %i", aprobados);
  66. printf("\n Total de Estudiantes REPROBADOS : %i", reprobados);
  67.  
  68. getchar();
  69. }
  70.  
  71. int promedio(int n1, int n2, int n3){
  72.  
  73. float prom;
  74. prom=(n1+n2+n3)/3;
  75.  
  76. return prom;
  77. }
  78.  

[MOD] Usar etiquetas GeSHi para publicar codigo.


Título: Re: Que le puedo agregar al siguiente código para que imprima el nombre de estudiant
Publicado por: DarK_FirefoX en 2 Octubre 2020, 01:26 am
Por favor, utiliza las etiquetas GeSHi para el código....

Ahora, ¿Qué puedes hacer? Pues si te das cuanta, estas guardando el status: 1 para aprobado, 0 para desaprobado. Lo que pudieras hacer es después que mostraste la cantidad de Aprobados y Reprobados, vuelves a recorrer e imprimes el nombre de los estudiantes verificando cuales son aprobados o no...

Oh, por otro lado cuando lo estas averiguando por primera vez si esta Aprobado o Reprobado, te los guardas en arrays diferentes y después imprimes cada uno de estos arrays.

:D

Saludos


Título: Re: Que le puedo agregar al siguiente código para que imprima el nombre de estudiant
Publicado por: Boris Morales en 2 Octubre 2020, 02:19 am
DarK_FirefoX:

Esta bien le voy a intentar así, mil gracias por la atención  ;D