elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Acceder a miembros de objetos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Acceder a miembros de objetos  (Leído 1,678 veces)
acega

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Acceder a miembros de objetos
« en: 9 Octubre 2013, 17:44 pm »

Hola pues resulta que estoy varado con este programa, el cual al ingresarle calificaciones de 2 materias para n alumnos debe arrojar el promedio grupal mi pregunta es como puedo acceder al promedio parcial que esta encapsulado en el objeto?? o hay otra forma de poder sacar el promedio general para los n alumnos??
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();


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Acceder a miembros de objetos
« Respuesta #1 en: 9 Octubre 2013, 18:34 pm »

pues si lo que quieres es acceder a la variable miembro de la clase       float promParcial;


en public pones esta funcion: float getProm() const{ return promParcial; }

y llamala desde donde quiera  :huh:

o sino se mas especifico XD


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Clase interna, acceder a objetos
Java
ltbl 1 4,450 Último mensaje 6 Marzo 2011, 00:03 am
por sapito169
Control de accesos a Miembros en C#
.NET (C#, VB.NET, ASP)
CATBro 0 2,231 Último mensaje 29 Enero 2012, 23:14 pm
por CATBro
Plantilla actualizable de miembros en una web
Desarrollo Web
as if 4 2,856 Último mensaje 20 Junio 2013, 18:57 pm
por engel lex
Duda con clases y objetos: miembros de datos
Programación C/C++
Coda 1 1,556 Último mensaje 21 Abril 2016, 02:11 am
por HardForo
acceder a array de objetos
Scripting
winnipu 1 3,001 Último mensaje 4 Enero 2017, 17:19 pm
por winnipu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines