[AYUDA] 'variable' was not declared in this scope

Iniciado por Rockstar97, 12 Mayo 2015, 04:25 AM

0 Miembros y 1 Visitante están viendo este tema.

Rockstar97

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:

Código (cpp) [Seleccionar]
#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.

x64core

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++.

MellaSystems

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:
Código (cpp) [Seleccionar]
{
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

Rockstar97

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:
Código (cpp) [Seleccionar]
{
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.

MellaSystems

Aunque te recomendaria que uses los metodos setter y getter. Es para ayudar que estamos.