Ayuda para diseñar programas en C
#includelt;iostream.hgt;
#includelt;string.hgt
#includelt;fstream.hgt; stu
{
char name [20];
matemáticas dobles, chino, inglés, promedio, suma
público:
stu()
{
}
stu(char n[20], doble ma, papada, doble ing)
{
strcpy(nombre,n);
math=ma
chino=chin
english=eng;
}
double getsum()
{
sum=matemáticas en inglés chino
devolver suma;
}
doble getaver()
{
average=getsum()/3;
promedio de retorno
}
.
amigo void main()
}; >void main()
{
coutlt;lt; "¡Seleccione la operación que desea!" lt;lt;endl; "Operación:"lt;lt;lt;endl;
coutlt;lt;"(0) Entrada de datos"lt;lt;lt;endl;
coutlt;lt; (1) Agregar una persona"lt;lt.endl;
coutlt;lt;"(2) Eliminar una persona"lt;lt;endl;
coutlt;lt;" (3) Modificar los datos "lt; lt; endl;
coutlt; lt; " Consulta: "lt; lt; endl;
coutlt; lt;" (4) Pulsar la consulta de puntuación total "lt;lt; endl;
coutlt;lt;" (5) Consulta por nombre "lt;lt; endl;
coutlt;lt;" ) Salida Datos de todos los estudiantes "lt;lt; endl;
coutlt;lt; "Grade noun"lt;lt; endl;
coutlt;lt;" (7) Clasificación de consultas por puntuación total "lt ;lt;endl;
coutlt;lt;"(8) Clasificación por idioma de consulta"lt;lt;endl;
coutlt;lt;"(9) Clasificación por consulta matemática "lt;lt;endl;
coutlt;lt;"(y) Clasificación de consultas por inglés "lt;lt;endl;
coutlt;lt;" Para seleccionar relacionados operaciones, ¡por favor ingrese los números arábigos entre paréntesis! " lt; lt; endl;
char p; char w;
stu *s[50];
ofstream *file[50]; p>
p>
i
nt i=0;
int j=0;
bool flag2=0
hacer
{
cingt; gt; p;
if((pgt;='0'amp;plt;='10'))
flag2=1; >
else
coutlt;lt; "¡Error en la instrucción! Vuelva a ingresar: "lt;lt;endl;
} while(flag2==0); /p>
}mientras(flag2==0);
p>
hacer{
cambiar(p)
{ p>
case '0':
{
char c;
char name[20]; p>
do{
coutlt; lt; "Ingrese el nombre "lt;lt;endl;
cingt;gt;name; ;lt; "Ingrese la calificación de matemáticas: "lt;lt;endl;
cingt; gt;
coutlt; lt; endl;
cingt; gt;
coutlt;lt; "Ingrese la puntuación del idioma extranjero:"lt;lt;endl; cingt;gt;inglés;
archivo[j]=new ofstream("d. document ", iTunes):\document", ios::ate);
*archivo[ j]lt;lt; "Nombre"lt;namelt;lt;lt; "Puntuaciones de matemáticas"lt;lt; Matemáticaslt;lt; "Puntuaciones de lengua extranjera"lt;lt; lt;Englishlt;lt;endl;
j;
do
{
if(c!='y'amp; amp;c!='n')
{
coutlt;lt; "¡Error de comando! ¡Por favor vuelve a entrar! " lt; lt; endl;
cingt; gt; c;
}
else
flag2=1;
}mientras(flag2==0);
}mientras(c=='y');
romper; p>
caso '4':
{
doble t;
hacer
{
int flag1=0;
coutlt;lt; "Ingrese la puntuación total del estudiante que desea consultar" lt;lt;endl; ;t ;
for(int q=0; qlt; i; q)
{
if(s[q]-gt; getsum() == t)
{
flag1=1;
coutlt;lt."El estudiante que desea consultar es: "lt;lt;(* s[q ]).namelt;lt;
>
}
}
}
if(flag1==0)
coutlt;lt; "¡Lo siento! Tú ¡El estudiante que buscas no existe! " lt; lt; endl;
coutlt; lt; "¿Quieres continuar con la consulta? (y/n)" lt; lt; endl;
cingt; c;
if(c!='y'amp;c!='n')
{
coutlt; "Error en el comando! ¡Vuelva a ingresar!" p>}
mientras(c=='y');
romper
}
caso '5':
{
char n[20]; int j=0;
hacer{
int flag=0; /p>
coutlt;lt; "Ingrese el nombre del estudiante que desea consultar"lt;lt;endl;
cingt;gt;n; (int j=0;jlt.i ; j )
{
if(strcmp(n, (*s[j]).name)==0)
{
flag=1;
coutlt;lt; "El estudiante que desea consultar es: "lt;lt;(*s[j]).namelt ;lt.endl;
coutlt;lt;(*s[j]).namelt;lt; "El promedio total de calificaciones es"lt;lt;(*s[j]).getsum( ) lt;lt; lt; endllt;lt ; "La calificación promedio es:"lt;lt;(*s[j]).getsaver() lt;lt;endl; p>
}
}
if(flag==0)
coutlt;lt; "¡Lo siento! El estudiante que estás buscando no existe!" lt;lt;endl;
coutlt;lt; "¿Quieres continuar consultando? (s/n)" lt;lt;endl;
cingt;gt ;c;
if(c !='y'amp;c!='n')
{
coutlt;lt; al mando! ¡Por favor vuelve a entrar! " lt; lt; endl;
cingt; gt; c;
}
}
mientras(c=='y ');
romper;
}
caso '1':
{
nombre de carácter[ 20]; doble matemática, chino, inglés;
char c;
do
{
lt; el nombre del estudiante que desea agregar: "lt; lt; endl;
cingt; gt.name;
coutlt; lt; "Ingrese la puntuación de matemáticas: "lt ; lt; endl;
cingt;
outlt;lt; "Ingrese la puntuación del idioma chino:"lt;lt;endl;
cingt;gt.Chinese
coutlt;lt; :"lt; lt; endl;
cingt; gt; inglés;
file[j]=new ofstream("d:\document",ios::ate);
*file[j]lt;lt; "nombre"lt;lt;namelt;lt; "Resultados de Matemáticas"lt;lt;Matemáticaslt;lt; "Resultados de Chino"lt;lt;Chineselt;lt; "Puntuación en idioma extranjero"lt;lt;lt;Englishlt;lt;endl;
j
s[i]=new stu(nombre, matemáticas, chino, inglés);
j p>
i;
coutlt;lt; "La entrada de datos fue exitosa, ¿está dispuesto a continuar?" lt;endl; p>cingt;gt;c;
p>if(c!='y'amp;amp;c!='n')
{
coutlt;lt; "¡Error de comando! ¡Vuelva a ingresar!" lt; endl;
cingt; while(c=='y');
romper;
}
caso '2':
{
char name[20]; bool flag3= 0; char c;
do{
coutlt;lt; :"lt;lt;endl;
cingt; gt; nombre;
for(int h=0; hlt; i; h )
{
if(strcmp(nombre, s[h ]-gt; nombre)==0)
{
flag3=1; >yo--;
hacer{
s[h]=s[h 1]
h
}; (hlt;=i);
}
}
}
if(flag3==0)
coutlt;lt; "¡El objeto que solicita eliminar no existe originalmente! ¡Compruebe si la entrada es correcta! " ;
coutlt;lt; "¿Quieres continuar eliminando? (s/n)"lt;lt;endl;
cingt;gt;c;
if(c!='y'amp;amp;c!='n' )
{
coutlt;lt; "¡Error en la instrucción! ¡Por favor vuelve a entrar! " lt; lt; endl;
cingt; gt; c;
}
} while(c=='y');
romper;
}
caso '3':
{
nombre del personaje[20]; , eng; flag2=0;
char c;
do
{
lt; desea cambiar el nombre del estudiante: "lt;lt;en
dl;
cingt; gt; nombre;
for(int h=0; hlt; i; h )
{
if(strcmp(nombre,s[h]-gt;nombre)==0)
{
flag2=1
coutlt;lt; Ingrese la nueva puntuación de matemáticas: "lt; lt; endl;
cingt; gt; mat;
coutlt; lt; "Ingrese la nueva puntuación de chino: "lt; lt ;endl;
cingt;gt;chin;
coutlt;lt; "Ingrese una nueva puntuación de idioma extranjero:"lt;lt;endl; cingt ;gt;eng;
s[h]-gt;chinese=chin;
s[h]-gt;math=mat; [ h]-gt; english=eng;
cout lt; "Datos modificados correctamente
}
}
if(flag2==0)
{
coutlt;lt; "¡El estudiante que desea modificar no existe inicialmente! ¡Compruébelo y vuelva a ingresar!" lt;endl ;
}
}
coutlt;lt; "Continuar modificando (s/n)" lt;lt;endl; >
cingt; c;
if(c!='y'amp;c!='n')
{
coutlt; "Error de comando! ¡Vuelva a ingresar!" while(c= ='y');
romper;
}
caso '6':
{
coutlt;lt; "Todos los datos de los estudiantes en el sistema son los siguientes:"lt;lt;endl
if(i==0)
coutlt;lt; ; "No hay datos de entrada en el sistema de gestión ¡O los datos han sido eliminados!" lt endl; p>{
coutlt; lt; lt; lt; lt;" "lt;lt;s[k]-gt;chineselt; "Matemáticas:"lt;lt;"" lt;lt;s[k]-gt;matemáticas
lt ;"lt;"lt; "Lengua extranjera:"lt;lt;" "lt;lt;" "lt;lt; s[k]-gt;englishlt;lt; "Puntuación total: "lt;lt;" "lt;lt;" "lt;lt;(*s[k]).getsum()
lt;lt; "Puntuación promedio: "lt;lt;" ""lt;lt;( *s[k]).getsaver() lt; lt; endl;
}
.
romper;
}
caso '7':
{
int t; stu b;
coutlt;
"La clasificación de los estudiantes en este sistema es la siguiente:"lt;lt;endl;
for (int x=0;xlt;i-1;x)
{
t=x;
for(int y=x 1;ylt;i;y)
{
if((s [t]- gt;getum())lt;(s[y]-gt;getum() ))
t=y
if(t!=x)
{
b=*s[x]
*s[x]=*s[t]; s[t] =b;
}
}
b=*s[x]
*s[x]; =*s[ t];
*s[t]=b.
}
}
si(i== 0)
p>
coutlt;lt; "¡No hay datos de entrada en el sistema de gestión o los datos han sido eliminados!";
for(int k=0 ;klt;i;k)
{
coutlt;lt;k 1lt;lt;" "lt;lt;"lt;lt;" "nombre:"lt;lt ;" "lt;lt;s[k]-gt ;namelt;lt;
" Idioma: "lt;lt;" "lt;lt;s[k]-gt;chineselt;lt; "Matemáticas: "lt;lt;" "lt;lt ;s[k]-gt;math
lt;lt;" "lt;lt;s[k]-gt;" "Lengua extranjera : "lt;lt;" "lt;lt;s[ k]-gt.englishlt;lt; "puntuación total:"lt;lt;""lt;lt;s[k]-gt;getum() p>
lt;lt; "puntuación promedio:" lt; ""lt; s[k]-gt; lt; >romper;
}
caso '8':
{
int t;stu b
coutlt;lt; "Este sistema clasifica el idioma de los estudiantes de la siguiente manera: "lt; lt; >{
t=x;
for(int y=x 1;ylt;i;y)
{
si ((s[t]-gt;chino)lt;( s[y]-gt; chino))
t = y
if(t!=x)
{
b=*s[t]
*s[t]=*s[x]; [x]=b;
}
}
}
si(i==0)
coutlt; lt; "No hay datos de entrada o los datos en el sistema de gestión han sido eliminados". " ;
for(int k=0;klt;i;k)
{
coutlt;lt;k 1lt;lt;" "lt; lt;"lt;lt; "nombre:"lt;lt;" "lt;lt;s[k]-gt;namelt;lt;
" Idioma: "lt;lt;" ;lt;s[k]-gt;chi
neselt;lt; "Matemáticas:"lt;lt;" "lt;lt;s[k]-gt;matemáticas
lt;lt;" "lt;lt;s[k]-gt; " "Idioma extranjero: "lt;lt;" "lt;lt;s[k]-gt.englishlt;lt; "puntuación total: "lt;lt;""lt;lt;s[k]-gt;getsum ( )
lt;lt; "puntaje promedio:"lt;lt;""lt;lt;s[k]-gt;getsaver() lt;lt; endl; p >
romper;
}
caso '9':
{
int t; p >
coutlt;lt; "Este sistema hace que las clasificaciones de matemáticas de los estudiantes sean las siguientes:"lt;lt;endl
for(int x=0.xlt;i-1;x)
{
t=x;
for(int y=x 1;ylt;i;y)
{ p >
if((s[t]-gt; matemáticas)lt; (s[y]-gt; matemáticas))
t=y
if( t ! =x)
{
b=*s[t]
*s[t]=*s[x]; >
*s[x]=b
}
}
}
}
if(i==0)
coutlt;lt;" ¡No se han ingresado datos en el sistema de gestión o los datos han sido eliminados! " ;
for(int k=0;klt;i;k)
{
coutlt;lt;k 1lt;lt;" "lt; lt;" "lt;lt;" "Nombre:"lt;lt;" ""lt;lt;s[k]-gt;namelt;lt
" Idioma: "lt;lt; " "lt;lt;s[k]-gt;chineselt;lt; "Matemáticas:"lt;lt;" "lt;lt;s[k]-gt;matemáticas
lt;lt; " "lt;lt;s[k]-gt;" "Idioma extranjero: "lt;lt;" "lt;lt;s[k]-gt.englishlt;lt; "puntuación total: "lt;lt;" lt; lt; s[k]-gt; getsum()
lt; "puntuación promedio: "lt; "" lt; lt; lt; endl;
}
romper;
}
caso 'y':
{
int t;stu b;
coutlt;lt; "Este sistema por lo que la clasificación en inglés de los estudiantes es la siguiente:"lt;lt;endl; int x=0.xlt; i-1; x )
{
t=x;
for(int y=x 1; ylt; i ;y)
{
si((s[t
]-gt; inglés)lt; (s[y]-gt; inglés))
t = y
if(t!=x)
{
b=*s[t]
*s[t]=*s[x]
*s[x]=b; ;
}
}
}
if(i==0)
coutlt; "¡No hay datos de entrada en el sistema de gestión o los datos han sido eliminados!"
for(int k=0;klt;i;k)
{
coutlt;lt;k 1lt;lt;" "lt;lt;"lt;lt; "nombre:"lt;lt;" "lt;lt;s[k]-gt;namelt;lt;
" Idioma: "lt;lt;" "lt;lt;s[k]-gt;chineselt;lt; "Matemáticas: "lt;lt;" "lt;lt;s[k]- gt;matemáticas
lt;lt;" "lt;lt;s[k]-gt;" "Idioma extranjero:"lt;lt;" "lt;lt;s[k]-gt. englishlt;lt; " puntuación total: "lt;lt;""lt;lt;s[k]-gt;getum()
lt;lt; "puntuación promedio: "lt;lt;" "lt;lt; s[k]-gt; getsaver() lt; lt; endl;
}
}
romper;
}
coutlt;lt; "¿Quieres continuar con otras operaciones? (y/n)"lt;lt;endl;
bool flag4=0; p>do
{
cingt;gt;w;
if(w!='y'amp;amp;w!='n')
coutlt;lt; "¡Error de instrucción! ¡Vuelva a ingresar!" lt;lt;endl;
else
flag4=1;
} while(flag4= =0);
if(w=='y')
coutlt;lt; "Ingrese el código de operación (0 Registro/4). Consultar por puntaje total/5 Consultar por nombre/1 Agregar persona/2 Eliminar persona/3 Modificar datos/6 Mostrar datos de todos los miembros/7 Clasificar por puntaje total/8 Clasificar por idioma/9 Clasificar por matemáticas/y Clasificar por inglés)" lt;lt;endl;
cingt; p;
}mientras(w=='y'); ; x lt; i; x)
{
eliminar s[x];
coutlt; "eliminar todos los miembros! "lt;lt;endl;
}
}