Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Rockstar97 en 12 Mayo 2015, 04:25 AM

Título: [AYUDA] 'variable' was not declared in this scope
Publicado por: Rockstar97 en 12 Mayo 2015, 04:25 AM
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.
Título: Re: [AYUDA] 'variable' was not declared in this scope
Publicado por: x64core en 12 Mayo 2015, 04:47 AM
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++.
Título: Re: [AYUDA] 'variable' was not declared in this scope
Publicado por: 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
Título: Re: [AYUDA] 'variable' was not declared in this scope
Publicado por: Rockstar97 en 12 Mayo 2015, 17:06 PM
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.
Título: Re: [AYUDA] 'variable' was not declared in this scope
Publicado por: MellaSystems en 12 Mayo 2015, 17:09 PM
Aunque te recomendaria que uses los metodos setter y getter. Es para ayudar que estamos.