Necesito ayuda con este codigo, el switch no me funciona, el programa compila y corre pero al ingresar la opcion nohace nada, alguien me ayuda por favor?
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
using namespace std;
class persona {
int grad;
char nombre;
char fecha;
public:
persona(void);
persona(char n=0, char fn=0, int g=0): nombre(n), fecha(fn), grad(g){};
void ingresar(char n, char fn, int grad);
~persona();
void visualizar();
} ;
//******************************************************************************
void persona::ingresar(char n, char fn, int g){
cout<<"Ingresar los datos de la persona: "<<endl;
cout<<"Ingresar nombre: "<<endl;
cin>>n;
nombre=n;
cout<<"Ingresar fecha de nacimiento: "<<endl;
cin>>fn;
fecha=fn;
cout<<"Ingresar año de graduación: "<<endl;
cin>>g;
grad=g;
}
//****************************************************************************
void persona::visualizar(){
cout<<"Datos de la persona: "<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Fecha de nacimiento: "<<fecha<<endl;
cout<<"Año de graduación: "<<grad<<endl;
}
//****************************************************************************
int main(){ // declaracion del cuerpo principal del programa
class persona *ptrpersona;
char opc; // declaracion de variable
do{
// condicion para el menu se repita hasta que se ingrese la opcion salir
system("CLS"); //Limpia la pantalla
cout<<" MENU "<<endl;
cout<<" 1.- Ingresar una persona."<<endl;
cout<<" 2.- Visualizar la persona."<<endl;
cout<<" 3.- Salir."<<endl;
cin>>opc; // lee la variable
switch(opc){
case'1':system("CLS");
void persona::ingresar(char n, char fn, int g);
break;
case'2':system("CLS"); //se muestra la funcion en pantalla segun la opcion ingresada
void persona::visualizar();
break;
case'3':system("CLS");
exit(1);
default: cout<<"opcion no valida"<<endl;
system("pause");
break;
}
}while(opc!='3'); // condicion para el menu se repita hasta que se ingrese la opcion salir
}
Dije cualquier cosa por eso edito xD Intenta ir depurando para ir viendo hasta donde llega y como llega
Te falta la libreria cstdlib para llamar al sistema,además la variable opc es de tipo char,y en el switch la estas metiendo en los case como numeros,no obstante creo que el fallo es de las clases,aunque no lo encuentro:
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<cstdlib>
using namespace std;
class persona {
int grad;
char nombre;
char fecha;
public:
persona(void);
persona(char n=0, char fn=0, int g=0): nombre(n), fecha(fn), grad(g){};
void ingresar(char n, char fn, int grad);
~persona();
void visualizar();
} ;
//******************************************************************************
void persona::ingresar(char n, char fn, int g){
cout<<"Ingresar los datos de la persona: "<<endl;
cout<<"Ingresar nombre: "<<endl;
cin>>n;
nombre=n;
cout<<"Ingresar fecha de nacimiento: "<<endl;
cin>>fn;
fecha=fn;
cout<<"Ingresar año de graduación: "<<endl;
cin>>g;
grad=g;
}
//****************************************************************************
void persona::visualizar(){
cout<<"Datos de la persona: "<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Fecha de nacimiento: "<<fecha<<endl;
cout<<"Año de graduación: "<<grad<<endl;
}
//****************************************************************************
int main(){ // declaracion del cuerpo principal del programa
class persona *ptrpersona;
char opc; // declaracion de variable
do{
// condicion para el menu se repita hasta que se ingrese la opcion salir
system("CLS"); //Limpia la pantalla
cout<<" MENU "<<endl;
cout<<"a.- Ingresar una persona."<<endl;
cout<<" b.- Visualizar la persona."<<endl;
cout<<" c.- Salir."<<endl;
cin>>opc; // lee la variable
switch(opc){
case'a':system("CLS");
void persona::ingresar(char n, char fn, int g);
break;
case'b':system("CLS"); //se muestra la funcion en pantalla segun la opcion ingresada
void persona::visualizar();
break;
case'c':system("CLS");
exit(1);
default: cout<<"opcion no valida"<<endl;
system("pause");
break;
}
}while(opc!='3'); // condicion para el menu se repita hasta que se ingrese la opcion salir
}
Gracias por responder, ps igual hace lo mismo, inclusive lo habia cambiado a int solo q este es el codigo de antes, y tmb creo q el problema esta en las clases pero no me sale ningun error y al parecer debria correr así...
Revisa las clases:
invalid use of qualified-name 'persona::ingresar'
invalid use of qualified-name 'persona::visualizar'
Ahi esta el fallo :silbar:
Salu2