Código:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
class Calificaciones
{
public:
Calificaciones();
void acceder();
void ingresar();
void ingresar2();
void calcular();
void calcular2();
void mostrar();
//void mostrarDatos();
void validar();
private:
float c1;
float c2;
float c3;
float c4;
float c5;
float c6;
int nc;
float prom;
float prom2;
float promParcial;
};
Calificaciones::Calificaciones()
{
c1=c2=c3=c4=c5=c6=prom=prom2=promParcial=0.0;
nc=0;
}
void Calificaciones::acceder()
{
cout<<"\n\n\tIngrese numero de cuenta: ";
cin>>nc;
while( nc>999999 || nc<99999 )
{
cout<<"\n\t\aNumero de cuenta incorrecto, verifiquelo e ingrese de nuevo: ";
cin>>nc;
}
}
void Calificaciones::ingresar()
{
cout<<"\nMATERIA 1:"<<endl;
cout<<"\n\tIngrese calificacion de primer parcial: ";
cin>>c1;
cout<<"\n\tIngrese calificacion de segundo parcial: ";
cin>>c2;
cout<<"\n\tIngrese calificacion de tercer parcial: ";
cin>>c3;
}
void Calificaciones::ingresar2()
{
cout<<"\nMATERIA 2:"<<endl;
cout<<"\n\tIngrese calificacion de primer parcial: ";
cin>>c4;
cout<<"\n\tIngrese calificacion de segundo parcial: ";
cin>>c5;
cout<<"\n\tIngrese calificacion de tercer parcial: ";
cin>>c6;
clrscr();
}
void Calificaciones::validar()
{
c1 = (c1>=0&&c1<=10) ? c1 : 0;
c2 = (c2>=0&&c2<=10) ? c2 : 0;
c3 = (c3>=0&&c3<=10) ? c3 : 0;
c4 = (c4>=0&&c4<=10) ? c4 : 0;
c5 = (c5>=0&&c5<=10) ? c5 : 0;
c6 = (c6>=0&&c6<=10) ? c6 : 0;
}
void Calificaciones::calcular()
{
cout<<"\n\n\n\n\n\n\n\n\n\n\tEl promedio del alumno: "<<nc<<" se esta calculando...";
validar();
prom=(c1+c2+c3)/3;
}
void Calificaciones::calcular2()
{
//cout<<"\n\n\n\n\n\n\n\n\n\n\tEl promedio del alumno: "<<nc<<" se esta calculando...";
//validar();
prom2=(c4+c5+c6)/3;
promParcial=(prom+prom2)/2;
//return promParcial;
}
void Calificaciones::mostrar()
{
//cout<<nc//cuenta que no se repita??
cout<<endl<<" "<<nc<<" ";
cout<<setprecision(2)
<<setiosflags( ios::fixed || ios::showpoint )
<<" "<<c1
<<" "<<c2
<<" "<<c3
<<" "<<prom
<<( prom < 7 ? " NA" : " A")
<<" "<<c4
<<" "<<c5
<<" "<<c6
<<" "<<prom2
<<( prom2 < 7 ? " NA" : " A")
<<" "<<promParcial;
}
main ()
{
Calificaciones c[' '];
int ans,n,i,j,k; //porque no reconoce i,j,k??
char regreso='M';
char ciclo='s';
cout<<"\n\n\n\t\t\tCuantos alumnos va a ingresar?\t ";
cin>>n;
while (ciclo=='s')
{
cout<<"\n\n\n\t\t\tQue desea hacer?\n"
<<"\n\t\t1.-Ingresar\n"
<<"\n\t\t2.-Calcular\n"
<<"\n\t\t3.-Mostrar\n"
<<"\n\t\t4.-Salir\t\t";
cin>>ans;
clrscr();
switch (ans)
{
case 1:
for ( i=1; i<=n; i++)
{
regreso='J';
cout<<"\n\t\tInstrucciones: Ingrese valores enteros o decimales\n "
<<" \t\t\t\tcon el rango del 0 al 10\n"
<<"\t\tPara el numero de cuenta deberan ser de 6 digitos...\0";
c[i].acceder();
c[i].ingresar();
c[i].ingresar2();
}
break;
case 2:
clrscr();
for ( j=1; j<=n; j++)
{
if(regreso=='M')
{
cout<<"\n\aPrimero ingrese calificaciones para despues calcular!";
}
else
{
clrscr();
cout<<endl;
c[j].calcular();
//clrscr();
c[j].calcular2();
//promGral[j]=?????
}
getchar();
}
clrscr();
break;
case 3:
clrscr();
cout<<endl<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛMATERIA1ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
<<"MATERIA2ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl<<endl;
//cout<<"\t\tMATERIA1\t\t\t\tMATERIA2 "<<endl;
cout<<"ÛNo_CtaÛ"
<<" ÛC1Û"
<<" ÛC2Û"
<<" ÛC3Û"
<<" ÛPromÛ"
<<" ÛC1Û"
<<" ÛC2Û"
<<" ÛC3Û"
<<" ÛPromÛ"
<<" ÛPGralÛ";
for ( k=1; k<=n; k++)
{
if(regreso=='M')
{
cout<<"\n\a\nNO hay datos para mostrar!!!";
}
else
{
//mat1[k].mostrarDatos();
//cout<<" ";
c[k].mostrar();
/*cout<<" ";
mat2[k].mostrar();*/
}
getchar();
}
clrscr();
break;
case 4:
clrscr();
cout<<"\n\n\t\tSaliendo...\a\a\a";
ciclo='a';
break;
default:
cout<<"\n\n\n\n\t\t\aOpcion invalida vuelva a intentarlo...";
break;
}
}
getchar();