Buenas amigos, estoy trabajando con estructuras pero la verdad estoy un poco confundido, ya que quiero llevar mi estructuras a arrays, pero no consigo pasarla por referencia aqui esta el codigo sencillo donde almancena una sola persona y una sola nota:
Bien ese ejercicio quiere que haga lo siguiente:
1.Almacene N cantidad de estudiante
2. Con 5 notas
3. Y lo imprima
pero no comprendo como pasar por referencia, lo intente hacer de esta manera
la verdad estoy muy confundido les agradecería su ayuda.
Código (cpp) [Seleccionar]
#include <iostream>
#include <string>
using namespace std;
struct lista_estudiantes{
string nombres;
int notas;
};
void llenar (lista_estudiantes& lista){
cout<<"DAME EL NOMBRE: "<<endl;
cin>>lista.nombres;
cout<<"DAME LA NOTA DEL ESTUDIANTE"<<endl;
cin>>lista.notas;
}
void imprimir(lista_estudiantes lista){
cout<<"\nNombre del estudiante: "<<lista.nombres<<endl;
cout<<"NOTA: "<<lista.notas<<endl<<endl;
}
int menu (){
int opc;
cout<<"1.LLENAR\n2.IMPRIMIR\n3.SALIR"<<endl;
cin>>opc;
return opc;
}
int main(){
struct lista_estudiantes lista;
int opc;
do{
opc=menu();
switch (opc){
case 1:
llenar(lista);
break;
case 2:
imprimir(lista);
break;
case 3:
cout<<"GRACIAS POR ENTRAR AL PROGRAMA "<<endl;
break;
}
}
while(opc !=3);
system ("pause");
}
Bien ese ejercicio quiere que haga lo siguiente:
1.Almacene N cantidad de estudiante
2. Con 5 notas
3. Y lo imprima
pero no comprendo como pasar por referencia, lo intente hacer de esta manera
Código (cpp) [Seleccionar]
#include <iostream>
#include <string>
using namespace std;
int num;
struct lista_estudiantes{
string nombres;
int notas;
};
void llenar (lista_estudiantes& lista){
cout<<"Dame la cantidad de estudiante a insertar"<<endl;
cin>>num;
for(int i=0; i<num; i++){
cout<<"DAME EL NOMBRE: "<<endl;
cin>>lista[i].nombres;
for (int x=0; x<6; x++){
cout<<"DAME LA NOTA DEL ESTUDIANTE"<<endl;
cin>>lista[x].notas;
}
}
}
void imprimir(lista_estudiantes lista){
for(int i=0;i<num;i++){
cout<<"\nNombre del estudiante: "<<lista[i].nombres<<endl;
for(int x=0;x<6;i++){
cout<<"NOTA: "<<lista[x].notas<<endl<<endl<<endl;
}
}
}
int menu (){
int opc;
cout<<"1.LLENAR\n2.IMPRIMIR\n3.SALIR"<<endl;
cin>>opc;
return opc;
}
int main(){
struct lista_estudiantes lista[1000];
int opc;
do{
opc=menu();
switch (opc){
case 1:
llenar(lista);
break;
case 2:
imprimir(lista);
break;
case 3:
cout<<"GRACIAS POR ENTRAR AL PROGRAMA "<<endl;
break;
}
}
while(opc !=3);
system ("pause");
}
la verdad estoy muy confundido les agradecería su ayuda.
