|
|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - jimgom
Páginas: [1]
1
« en: Domingo 15 de Noviembre de 2009, 02:11 »
Cordial Saludo Compañeros Por favor me pueden colaborar, con el siguiente caso. Estoy con este programa, el cual al introducirle 4 notas, me saca el promedio. Solo que debo hacer que si el promedio es >3. Sale el mensaje alumno aprobó, pero si promedio es <3. Sale el otro mensaje alumno perdió.
Solo que: 1.Cuando lo corro y entro de ingresar las notas y empiezo a digitar las notas. En la Nota 1, la escibo doy enter y en la parte inferior junto al titulo de promedio, me aparece el mensaje alumno perdió. Sin ni siquiera digitar las otras notas y si las digito todas igual ese mensaje continua ahí y si digito notas por encima de 3 lo mismo. 2.Las notas deben ir de 1 a 5.El detalle esta en la validación. Tanto notas como promedio están definidas tipo float y en ocasiones me sale mensaje de error, que no puede pasar de float a entero o viceversa.
Muchas gracias, por su ayuda y colaboración.
Atte.
jimgom
//FUNCION PARA CAPTURAR NOTAS void capturanotas(void) { char ing='*'; char ing2='*'; int curso=0,codigo=0,result2=0,inicio,fin,result,materia; while (ing2!='N') { result=haycupo3(); if (result<30) { ing2='S'; while(ing!='R') { clrscr(); curso=0; pintamenu5(0,0); gotoxy(41,7); cin>>curso; if (curso > 5) { gotoxy(30,1); cout<<"ERROR CURSO NO VALIDO"; getch(); } else { result=haycupo2(curso); if(result==6) { gotoxy(30,1); cout<<"ERROR CURSO SIN ALUMNOS"; getch(); } else ing='R'; } } ing='*'; while(ing!='R') { clrscr(); pintamenu5(curso,0); codigo=0,result2=0; gotoxy(41,9); cin>>materia; if (materia > 11) { gotoxy(30,1); cout<<"ERROR MATERIA NO VALIDA"; getch(); } else { pintamenu5(curso,materia); ing='R'; } } ing='*'; while(ing!='R') { clrscr(); pintamenu5(curso,materia); codigo=0,result2=0; gotoxy(41,11); cin>>codigo; { result2 = hayalumno(codigo); if (result2 == 0) { gotoxy(30,1); cout<<"ALUMNO NO EXISTE"; getch(); } else { fin = curso*6 - 1; inicio = fin - 6; result2 = result2 -1; if(result2 < inicio) { gotoxy(30,1); cout<<"ALUMNO PERTENECE A OTRO CURSO"; getch(); } else if(result2 > fin) { gotoxy(30,1); cout<<"ALUMNO PERTENECE A OTRO CURSO"; getch(); } else { ing='R'; } } } } gotoxy(41,13); pintanom(result2); cout<<' '; pintaape(result2); pidenotas(materia,result2);
ing='*'; gotoxy(25,22); cout<<"CAPTURA MAS NOTAS S/N [ ]"; gotoxy(49,22); ing2=getch(); if(ing2=='s') { ing2='S'; } if(ing2!='S') { ing2='N'; } } else { ing2='N'; gotoxy(30,1); cout<<"ERROR CURSO SIN ALUMNOS"; getch();
} } } //FUNCION PARA CONSULTAR NOTAS void consulta1(void) { char ing='*'; char ing2='*'; int curso=0,inicio,fin,result,materia; while (ing2!='N') { result=haycupo3(); if (result<30) { ing2='S'; while(ing!='R') { clrscr(); curso=0; pintamenu6(0,0); gotoxy(41,7); cin>>curso; if (curso > 5) { gotoxy(30,1); cout<<"ERROR CURSO NO VALIDO"; getch(); } else { result=haycupo2(curso); if(result==6) { gotoxy(30,1); cout<<"ERROR CURSO SIN ALUMNOS"; getch(); } else ing='R'; } } ing='*'; while(ing!='R') { clrscr(); pintamenu6(curso,0); gotoxy(41,9); cin>>materia; if (materia > 11) { gotoxy(30,1); cout<<"ERROR MATERIA NO VALIDA"; getch(); } else { pintamenu6(curso,materia); ing='R'; } } muestranotas(materia,curso); gotoxy(25,22); cout<<"PRESIONE CUALQUIER TECLA PARA CONTINUAR";
getch(); ing2='N'; } else { ing2='N'; gotoxy(30,1); cout<<"ERROR CURSO SIN ALUMNOS"; getch();
} } }
int haycupo(int i) { int inicio,fin,j,resul=0; fin = i*6; inicio = fin - 6; for(j=inicio;j<fin;j++) { if(codigos[j]==0) { resul=j + 1; j=fin + 1; } } return resul; } int haycupo2(int i) { int inicio,fin,j,resul=0; fin = i*6; inicio = fin - 6; for(j=inicio;j<fin;j++) { if(codigos[j]==0) { resul=resul + 1; } } return resul; } int haycupo3(void) { int j,resul=0; for(j=0;j<30;j++) { if(codigos[j]==0) { resul=resul + 1; } } return resul; }
int hayalumno(int i) { int j,resul=0; for(j=0;j<cantidad2;j++) { if(codigos[j]==i) { resul=j + 1; j=cantidad2 + 1; } } return resul; }
//FUNCION PARA MOSTRAR EL MENU PRINCIPAL void pintamenu1(void) { clrscr(); gotoxy(30,4); cout<<"COLEGIO SAN LUIS GONZAGA"; gotoxy(25,7); cout<<"1.- CREAR MATERIAS"; gotoxy(25,9); cout<<"2.- MATRICULAR ALUMNOS"; gotoxy(25,11); cout<<"3.- INGRESAR NOTAS"; gotoxy(25,13); cout<<"4.- CONSULTA POR MATERIA"; gotoxy(25,15); cout<<"5.- PARA TERMINAR EL PROGRAMA"; gotoxy(25,21); cout<<"SELECCIONE UNA OPCION [ ]"; gotoxy(50,21); } //FUNCION PARA MOSTRAR EL MENU MATRICULA void pintamenu3(char seleccion,int curso) { clrscr(); gotoxy(23,4); if (seleccion == 'C') { cout<<"COLEGIO SAN LUIS CREAR MATRICULA"; } if (seleccion == 'M') { cout<<"COLEGIO SAN LUIS MODIFICAR MATRICULA"; } if (seleccion == 'B') { cout<<"COLEGIO SAN LUIS BORRAR MATRICULA"; } gotoxy(25,7); cout<<"CURSO "; if (curso > 0) { gotoxy(41,7); cout<<curso; } gotoxy(25,9); cout<<"CODIGO"; gotoxy(25,11); cout<<"NOMBRES"; gotoxy(25,13); cout<<"APELLIDOS"; gotoxy(25,15);
} void pintamenu4(void) { clrscr(); gotoxy(30,4); cout<<"COLEGIO SAN LUIS"; gotoxy(25,7); cout<<"1.- CREA "; gotoxy(25,9); cout<<"2.- MODIFICA"; gotoxy(25,11); cout<<"3.- BORRA"; gotoxy(25,13); cout<<"4.- SALIR"; gotoxy(25,15); gotoxy(25,22); cout<<"SELECCIONE UNA OPCION [ ]"; gotoxy(50,22); } //FUNCION PARA MOSTRAR EL MENU MATRICULA void pintamenu5(int curso,int materia) { clrscr(); gotoxy(23,4); cout<<"COLEGIO SAN LUIS CAPTURAR NOTAS"; gotoxy(25,7); cout<<"CURSO "; if (curso > 0) { gotoxy(41,7); cout<<curso; } gotoxy(25,9); cout<<"MATERIA"; if (materia > 0) { gotoxy(41,9); cout<<materia; materia=materia - 1; gotoxy(45,9); pintamat(materia); } gotoxy(25,11); cout<<"ALUMNO"; gotoxy(25,13); cout<<"NOMBRE"; gotoxy(25,15); cout<<"NOTA 1"; gotoxy(25,16); cout<<"NOTA 2"; gotoxy(25,17); cout<<"NOTA 3"; gotoxy(25,18); cout<<"NOTA 4"; gotoxy(25,19); cout<<"PROMEDIO";
} //FUNCION PARA MOSTRAR CONSULTA void pintamenu6(int curso,int materia) { clrscr(); gotoxy(23,4); cout<<"COLEGIO SAN LUIS GONZAGA CONSULTA NOTAS"; gotoxy(25,7); cout<<"CURSO "; if (curso > 0) { gotoxy(41,7); cout<<curso; } gotoxy(25,9); cout<<"MATERIA"; if (materia > 0) { gotoxy(41,9); cout<<materia; materia=materia - 1; gotoxy(45,9); pintamat(materia); } gotoxy(1,11); cout<<"ALUMNO"; gotoxy(8,11); cout<<"NOMBRES"; gotoxy(25,11); cout<<"APELLIDOS"; gotoxy(40,11); cout<<"NOTA 1"; gotoxy(48,11); cout<<"NOTA 2"; gotoxy(56,11); cout<<"NOTA 3"; gotoxy(64,11); cout<<"NOTA 4"; gotoxy(72,11); cout<<"PROMEDIO";
} //FUNCION PARA CAPTURAR NOTAS void pidenotas (int materia,int ubicacion) { int inicio,fin,i,pos=15; float promedio=0; fin = materia*5; inicio = fin - 5; fin = fin - 1; for (i=inicio;i<fin;i++) { promedio= promedio + notas[ubicacion]; gotoxy(41,pos); cout<<notas[ubicacion]; pos=pos+1; } notas[ubicacion][fin]=promedio/4; gotoxy(41,pos); if (promedio > 3) { cout<<"ALUMNO PASO"; }else cout<<"ALUMNO PERDIO"; gotoxy(55,pos); cout<<notas[ubicacion][fin]; promedio=0; pos=15; for (i=inicio;i<fin;i++) { gotoxy(41,pos); cin>>notas[ubicacion]; promedio= promedio + notas[ubicacion]; pos=pos+1; } notas[ubicacion][fin]=promedio/4; gotoxy(41,pos); cout<<notas[ubicacion][fin]; } //FUNCION PARA MOSTRAR NOTAS void muestranotas (int materia,int curso) { int inicio,fin,i,pos=13,pos2,inicio2,fin2,j; fin = materia*5; inicio = fin - 5; fin2 = curso*6; inicio2 = fin2 - 6; for(j=inicio;j<fin;j++) { if (codigos[j] >0) { gotoxy(1,pos); cout<<codigos[j]; gotoxy(8,pos); pintanom(j); gotoxy(25,pos); pintaape(j); pos2 = 40; for (i=inicio2;i<fin2;i++) { gotoxy(2,2); gotoxy(pos2,pos); cout<<notas[j]; pos2=pos2 + 8; } } pos=pos+1; } }
2
« en: Lunes 2 de Noviembre de 2009, 18:57 »
Cordial Saludo Compañeros
Tengo las siguientes lineas del archivo, el cual comparto con ustedes y por favor me pueden colaborar aclarándome las siguientes preguntas :
1.Estoy colocando dentro de este void menup(void) varias declaraciones .por ejemplo E1[30 ] corresponde al estudiante 1 y así sucesivamente de 30 de tipo carácter y es un vector, puedo dentro de este void menup(void) colocar otra declaración, estoy colocando char NOTE1[4],NOTE2[4], que hace relación a las notas para los estudiantes, en este caso NOTE1, SON notas para estudiante No.1 y así respectivamente.
2.Dentro del void menun(void), que corresponde a las notas,.Podría colocarlo tal como el void menue(char E1[],char E2[ ],char E3[ ],char E4[ ],char E5[ ],char E6[ ]) pero esta vez void menun(char NOTE1[ ],char NOTE2[ ],char NOTE3[ ],char NOTE4[ ],char NOTE5[ ],char NOTE6[ ])
¿Si para este ejercicio, cree variables tipo char para cada alumno así void menue(char E1[],char E2[ ],char E3[ ],char E4[ ],char E5[ ],char E6[ ])? Y variables también de tipo int Void menun (int NOTE1 [ ], int NOTE2 [ ], int NOTE3 [ ], int NOTE4 [ ]
E1, E2, E3, etc. hace referencia a los Estudiantes No.1, No.2, etc Note1, Note2, Note3, etc. hace referencia a los notas de los Estudiantes No.1, No.2, etc.
Como podría enlazar el vector que tiene las notas Note1 que corresponden al estudiante E1 para que vayan al vector de ese estudiante E1.
Que para cada estudiante, tenga un único vector que almacene sus respectivas notas. Por ejemplo si hay 6 estudiantes, entonces hay 6 vectores de notas, uno para cada uno. En cada vector de notas, lo defino Note1 [4], para que me almacene las cuatro notas, que van de 1 a 5, o también se puedo definir este vector Note1 [5], para que en la ultima casilla, pueda llevar acabo el promedio de las notas de este estudiante. Muchas gracias por su ayuda y colaboración
Muchas gracias por su ayuda y colaboración
Cordialmente,
Jimgom
Páginas: [1]
|
|
|