Estoy haciendo un código con clases, donde se almacenará información de los usuarios pero me da los siguientes errores:
C:\Users\personal\Documents\SinNombre3.cpp In function 'int main()':
35 9 C:\Users\personal\Documents\SinNombre3.cpp [Error] 'nombre' was not declared in this scope
37 9 C:\Users\personal\Documents\SinNombre3.cpp [Error] 'especialidad' was not declared in this scope
39 9 C:\Users\personal\Documents\SinNombre3.cpp [Error] 'nsocial' was not declared in this scope
41 9 C:\Users\personal\Documents\SinNombre3.cpp [Error] 'nacimiento' was not declared in this scope
Estoy practicando, este es el código:
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
const int tamanio=5;
class Medico
{
public:
char nombre[30];
char especialidad[30];
int nsocial;
int nacimiento;
void Leer();
void Mostrar();
};
main()
{
Medico M;
int opc;
int cant=0;
do
{
cout<<"[1]----> LEER" <<endl;
cout<<"[2]----> MOSTRAR" << endl;
cin>>opc;
switch(opc)
{
case 1:
cout<<"NOMBRE: ";
cin>>nombre;
cout<<"ESPECIALIDAD: ";
cin>>especialidad;
cout<<"N. SEGURO SOCIAL: ";
cin>>nsocial;
cout<<"FECHA DE NACIMIENTO: ";
cin>>nacimiento;
break;
case 2:
cout<<"CASO 2"<<endl;
break;
}
}while(opc!=3);
cin.get();
}
Compilo con Dev C++, he buscado por todos lados y no sale mucho relacionado con mi problema.
EDIT: Puse las variables públicas, porque creí que podría ser problema de que estaban privadas, pero sigue lo mismo.
Para acceder a las variables de una clase se hace similar a como acceder a los miembros de una estructura usando el punto (.) y el guion con el mayor que (->).
M.xxxxxxxxx
Si estas trabajando en Windows el mejor entorno y compilar es VS con VC++.
Buenas, para tu duda lo que debes hacer es usar el objeto que creaste M y luego colocar el (.) para acceder a los atributos de la clase.
Ejemplo:
{
case 1:
cout<<"NOMBRE: ";
cin>>M.nombre;
cout<<"ESPECIALIDAD: ";
cin>>M.especialidad;
Lee un poquito mas sobre las clases y te ayudara a entender mejor tu programa
CitarPara acceder a las variables de una clase se hace similar a como acceder a los miembros de una estructura usando el punto (.) y el guion con el mayor que (->).
M.xxxxxxxxx
Si estas trabajando en Windows el mejor entorno y compilar es VS con VC++.
Es que en el curso nos ponen a trabajar con compiladores algo viejos, o con el Borland o con el Dev C++.
De todas maneras investigaré sobre el que dices ya que esto de los compiladores me gusta mucho probarlos.
Cita de: MellaSystems en 12 Mayo 2015, 16:52 PM
Buenas, para tu duda lo que debes hacer es usar el objeto que creaste M y luego colocar el (.) para acceder a los atributos de la clase.
Ejemplo:
{
case 1:
cout<<"NOMBRE: ";
cin>>M.nombre;
cout<<"ESPECIALIDAD: ";
cin>>M.especialidad;
Lee un poquito mas sobre las clases y te ayudara a entender mejor tu programa
Sí, ese era el problema... Yo sé eso del punto (.) pero se me había pasado, gracias por sus comentarios me ayudaron mucho.
Aunque te recomendaria que uses los metodos setter y getter. Es para ayudar que estamos.