I greet you, I just started to program and I find this problem "[Error] 'binary1' was not declared in this scope" is a string inside a switch, a string seemed outside the switch works for me, but not inside , if you can help me. The code is not finished alone, it's just that I get stuck in this part.
#include <iostream>
#include <string>
using namespace std;
int main (){
int opcion;
/* string para menu*/
string menu1,menu2,menu3,menu4,salir;
menu1 = "1. MENU BINARIO";
menu2 = "2. MENU DECIMAL";
menu3 = "3. MENU HEXADECIMAL";
menu4 = "4. MENU OCTAL";
salir = "5. SALIR";
cout<<menu1<<endl<<menu2<<endl<<menu3<<endl<<menu4<<endl<<salir<<endl;
/*bucle dowhile que solo elija una opcion valida*/
do {
cout<<"Elija un menu :";cin>>opcion;
} while (opcion<1 || opcion>5);
/*switch general de menu*/
switch (opcion){
case 1 : {// estas llaves las puse por que me tiraba otro error si no las ponia.
int opcion2;
std::string binario1,binario2,binario3,salir2;// lo mismo con el std:: delante del string y cout.
binario1 = "1. Pasar de binario a decimal";
binario2 = "2. Pasar de binario a hexadecimal";
binario3 = "3. Pasar de binario a octal";
salir2 = "4. salir";}
std::cout<<"MENU BINARIO"<<endl<<binario1<<endl<<binario2<<endl<<binario3<<endl<<salir2<<endl;
/*bucle dowhile que solo elija una opcion valida*/
do{
cout<<"Digite una opcion :";cin>>opcion2;
}while (opcion2<1 || opcion2>4);
switch (opcion2){
case 1 :
case 2 :
case 3 :
case 4 :
defualt : break;
}break;
case 2 : int opcion3;
{
std::string decimal1,decimal2,decimal3,salir3;
decimal1 = "1. Pasar de decimal a binario";
decimal2 = "2. Pasar de decimal a hexadecimal";
decimal3 = "3. Pasar de decimal a octal";
salir3 = "4. Salir";}
std::cout<<"MENU DECIMAL"<<endl<<decimal1<<endl<<decimal2<<endl<<decimal3<<endl<<salir3<<endl;
/*bucle dowhile interno para que solo elija una opcion*/
do{
cout<<"Digite una opcion :";cin>>opcion3;
}while (opcion3<1 || opcion3>4);
/*Switch interno case 2*/
switch (opcion3){
case 1 :
case 2 :
case 3 :
case 4 :
defualt :;
}break;
case 3 : int opcion4;
{ // estas llaves las puse por que me tiraba otro error si no las ponia.
std::string hexa1,hexa2,hexa3,salir4;
hexa1 = "1. Pasar de hexadecimal a binario";
hexa2 = "2. Pasar de hexadecimal a decimal";
hexa3 = "3. Pasar de hexadecimal a octal";
salir4 = "4. Salir";}
std::cout<<"MENU HEXADECIMAL"<<endl<<hexa1<<endl<<hexa2<<endl<<hexa3<<endl<<salir4<<endl;
/*bucle dowhile interno para que solo elija una opcion*/
do{
cout<<"Digite una opcion :";cin>>opcion4;
}while (opcion4<1 || opcion4>4);
/*Switch interno case 3*/
switch (opcion4){
case 1:
case 2:
case 3:
case 4:
default:;
}break;
case 4 :int opcion5;
{
std::string octal1,octal2,octal3,salir5;
octal1 = "1. Pasar de octal a binario";
octal2 = "2. Pasar de octal a decimal";
octal3 = "3. Pasar de octal a hexadecimal";
salir5 = "4. Salir";}
std::cout<<"MENU OCTAL"<<endl<<octal1<<endl<<octal2<<endl<<octal3<<endl<<salir5<<endl;
/*bucle dowhile interno para que solo elija una opcion*/
do{
cout<<"Digite una opcion :";cin>>opcion5;
}while (opcion5<1 || opcion5>4);
/*Switch interno case 3*/
switch (opcion5){
case 1 :
case 2 :
case 3 :
case 4 :
default :;
}break;
case 5 : return (exit);
default :;
}
return 0;
system ("pause");
}