Escribir un programa que contenga los siguientes elementos:
1. Dos constantes de tipo entero cNotas = 3 y cEstudiantes = 100
2. Dos estructuras una llamada Estudiante y la otra llamada Notas.
3. La estructura Estudiante debe contener los siguientes atributos:
a. string cuenta
b. string nombre
c. int edad
d. char sexo
4. La estructura Estudiante debe contener los siguientes métodos:
a. Registrar_Estudiante: Donde se ingresan los datos del estudiante.
5. La Estructura RegistroNotas debe contener los siguientes atributos:
a. Estudiante alumno[cEstudiantes]
b. int notas[cNotas]
6. La Estructura RegistroNotas, debe recibir la cantidad de estudiantes a
procesar, además debe contener los siguientes métodos:
a. Registrar_Notas: Que realiza las siguientes acciones:
i. Un ciclo para operar la cantidad de Estudiantes.
ii. Invocar el método Registrar_Estudiante del objeto alumno.
iii. Solicitar las tres notas parciales
b. Calcular_NotaFinal: Que obtendrá el promedio de las tres notas
c. Imprimir_CuadroNotas: Debe recibir la cantidad de estudiantes
procesados, donde se imprimirá el cuadro de Notas, los datos a
imprimir son los siguientes:
i. cuenta
ii. nombre
iii. notas (se imprimirá las tres notas)
iv. nota final
v. El programa determinará quién es el estudiante con mayor Nota y el número de aprobados y reprobados.
7. Crear un procedimiento principal que realice las siguientes acciones
a. Crear un objeto de RegistroNotas RN
b. Solicitar el número de estudiantes a procesar
c. Invocar el método Registrar_Notas del objeto RN, pasando el número de estudiantes a procesar.
d. Invocar el método Imprimir_CuadroNotas del objeto RN, pasando el número de estudiantes procesados.
este es mi codigo
Código:
#include<iostream>
#include<string>
const int cNotas=3, cEstudiantes=100;
using namespace std;
struct estudiante {
string cuenta;
string nombre;
int edad;
char sexo;
void registrar_estudiantes(string cuenta ,string nombre ,int edad,char sexo ){
cout<<"ingresar cuenta";getchar ();
getline(cin,cuenta);
cout<<"ingresar nombre";getchar ();
getline(cin,nombre);
cout<<"ingresar edad";
cin>>edad;
cout<<"ingresar sexo";
cin>>sexo;
}
};
struct Notas{
estudiante alumno[cEstudiantes],ptom;
int notas[cNotas];
void registrar_notas(int nestudiante){
for (int i=0;nestudiante>i;i++)
{
cout<<"ingresar la informacion del estudiante "<<i<<endl;
alumno[i].registrar_estudiantes() ;
cout<<"ingresar nota 1";
cin>>notas[0];
cout<<"ingresar nota 2";
cin>>notas[1];
cout<<"ingresar nota 3";
cin>>notas[2];
}
}
int calcular_nta_final( estudiante alumno){
int promedio =(notas[0]+notas[1]+notas[2])/3;
return promedio;
}
void imprimir(int nestudiante){
//cout<<"cuenta/tnombre/tedad/tsexo/tnota[1]/tnota[2]/tnota[3]/tpromedio/n";
for (int i=0; i<nestudiante;i++){
cout<<"cuenta\tnombre\tedad\tsexo\tnota[1]\tnota[2]\tnota[3]\tpromedio/n";
cout<< estudiante::cuenta<<"\t"<<estudiante::nombre <<"\t"<<notas [0]<<"\t" <<notas [1]<<"\t"<< notas [2]<<"\t"<<&Notas::calcular_nta_final <<"\t";
}
}
};
void main(){
int nestudiante=0;
int A[cEstudiantes];
Notas RN;
cout<<"ingrese cantidad de estudiantes a procesar";
cin>>nestudiante;
(A);
RN.registrar_notas(nestudiante);
RN.imprimir (nestudiante);
system("pause");
}
tengo el siguiente problema
Código:
void imprimir(int nestudiante){
//cout<<"cuenta/tnombre/tedad/tsexo/tnota[1]/tnota[2]/tnota[3]/tpromedio/n";
for (int i=0; i<nestudiante;i++){
cout<<"cuenta\tnombre\tedad\tsexo\tnota[1]\tnota[2]\tnota[3]\tpromedio/n";
cout<< estudiante::cuenta<<"\t"<<estudiante::nombre<< "\t"<<notas [0]<<"\t" <<notas [1]<<"\t"<< notas [2]<<"\t"<<&Notas::calcular_nta_final <<"\t";
}
}
Código:
calcular_nta_final
Código:
&Notas::calcular_nta_final