SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: althenna en Sábado 19 de Noviembre de 2005, 00:01

Título: Tengo Problemas Con Mi Codigo
Publicado por: althenna en Sábado 19 de Noviembre de 2005, 00:01
el problema es que necesito que en base a un arreglo(en este caso prome de promedio, donde estan guardadas de manera consecutivas los promedios) revise sus vectores y si es menor a 70 que salga un reprovado y diga el nombre y la calificacion..

pero usando el switch a fuerzas el primer alumno debe de estar reprovado, y no se como reparar esto, solo quiero que salgan los alumnos reprovados,

Código: Text
  1.  
  2.  
  3.       for (x=0;x<=5;x++) {
  4.           if (prome[x]<70){
  5.             c=x+1;
  6.              switch(c){
  7.                     case 1:
  8.                       gotoxy(10,Re);cout<<"Alumno ";cout<<nombre1;cout<<" Reprovado con ";cout<<prome[x];
  9.                       Re=Re++;
  10.                       getch();
  11.                         }//s
  12.              switch(c){
  13.                     case 2:
  14.                        gotoxy(10,Re);cout<<"Alumno ";cout<<nombre2;cout<<" Reprovado con ";cout<<prome[x];
  15.                        Re=Re++;
  16.                        getch();
  17.                             }//s
  18.              switch(c){
  19.                     case 3:
  20.                    gotoxy(10,Re);cout<<"Alumno ";cout<<nombre3;cout<<" Reprovado con ";cout<<prome[x];
  21.                     Re=Re++;
  22.                        getch();
  23.                        }//s
  24.              switch(c){
  25.                     case 4:
  26.                    gotoxy(10,Re);cout<<"Alumno ";cout<<nombre4;cout<<" Reprovado con ";cout<<prome[x];
  27.                    Re=Re++;
  28.                         getch();
  29.                         }//s
  30.  
  31.              switch(c){
  32.                     case 5:
  33.                    gotoxy(10,Re);cout<<"Alumno ";cout<<nombre5;cout<<" Reprovado con ";cout<<prome[x];
  34.                     Re=Re++;
  35.                        getch();
  36.                       } //s
  37.                 }//if
  38.             } //for
  39.             break;
  40.       } //s
  41.  
  42.  
Título: Re: Tengo Problemas Con Mi Codigo
Publicado por: LeGatoRojo en Sábado 19 de Noviembre de 2005, 01:06
pues tendras que reparar mucho, tus condiciones solo son para alumnos reprobados, y no se si ese era un 70 o 7.
Título: Re: Tengo Problemas Con Mi Codigo
Publicado por: althenna en Sábado 19 de Noviembre de 2005, 01:36
Cita de: "Darktigerhell"
pues tendras que reparar mucho, tus condiciones solo son para alumnos reprobados, y no se si ese era un 70 o 7.
si ese es el detalle, solo quiero los reprovados, y si es un 70
Título: Re: Tengo Problemas Con Mi Codigo
Publicado por: eliza_marti en Sábado 19 de Noviembre de 2005, 17:37
Hola althenna  :hola:  ..mm..según lo que vi (no se si te entendi bien..)..no es que el switch fuerza al primer alumno a ser reprobado..ya que este solo actúa si el if lo deja pasar ..osea los alumnos aprobados nunca serán evaluados por el switch...el switch lo estas usando solo por el nombre del alumno..si tuvieras a los alumnos en otro arreglo..entonces pordrias suprimir el switch y un poco de codigo...mm..lo que te  aconsejo es que revises tu arreglo de promedios "prome" y veas si el primer promedio es aprobado o reprobado , de pronto de verdad está reprobado y no es que el switch lo fuerza..ahora ..por curiosidad..que pasa si el alumno tiene promedio 70?..está aprobado cierto?..
Bueno..me fui.. :hola: ..espero noticias de como te va.. ;) ..suerte.. :hola:
Título: Re: Tengo Problemas Con Mi Codigo
Publicado por: carlos20 en Lunes 21 de Noviembre de 2005, 22:35
althenna puedes hacer una estructura con el promedio y el nombre , despues
para mostrar los reprovados haces esto

Código: Text
  1.  
  2. void Reprovados(struct Alumno* alumno,int len){
  3.      
  4.      for(int i=0;i<len;i++)
  5.          if(alumno[i].m_fPro < 70)
  6.             cout<<"Alumno "<<alumno[i].m_strNombre<<" Reprovado con "<<alumno[i].m_fPro<<endl;
  7. }
  8.  
  9.  
  10.