Ir ao conteúdo
  • Cadastre-se

C++ o q ta errado no meu switch?


Odgii

Posts recomendados

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
void main()
{
	
	// Arrays e valores pokemon 
	
	// Os Arrays são: Força, Defesa, Velocidade.

	
	int charmander [4] = {4,3,5};
	int charmeleon [4] = {3,3,4};
	int charizard  [4] = {4,3,5};
	
	int squirtle   [4] = {3,3,2};
	int wartotle   [4] = {3,4,3};
	int blastoise  [4] = {4,4,4};

	int bulbasaur  [4] = {3,2,3};
	int ivysaur    [4] = {3,3,3};
	int Venusaur   [4] = {4,4,4};
	
	int op;
	char op_time, atri;
	
	    cout << "********************************************\n";
		cout << "*            Super Trunfo Pokemon          *\n";
		cout << "********************************************\n";
		cout << "*                                          *\n";
		cout << "*                                          *\n";
		cout << "*           1 - Iniciar Jogo               *\n"; 
		cout << "*           2 - Como Jogar                 *\n";
		cout << "*           3 - Desenvolvedores            *\n";
		cout << "*           4 - Sair                       *\n";
		cout << "*                                          *\n";
		cout << "*                                          *\n";
		cout << "********************************************\n";
		cin >> op;
		
		 	switch(op)
		{
			case 4:
				exit(0);
			case 3:
			system("cls");
					cout << "********************************************\n";
					cout << "*              Desenvoveldores             *\n";
					cout << "********************************************\n";
					cout << "*                                          *\n";
					cout << "*               EM PROCESSO                *\n"; 
					cout << "*                                          *\n";
					cout << "*                                          *\n";
					cout << "*                                          *\n";
					cout << "********************************************\n";
					cin >> op_time;	
			case 2: 	
					system("cls");
					cout << "********************************************\n";
					cout << "*              Como Jogar                  *\n";
					cout << "********************************************\n";
					cout << "*                                          *\n";
					cout << "*             EM PROCESSO                  *\n"; 
					cout << "*                                          *\n";
					cout << "*                                          *\n";
					cout << "*                                          *\n";
					cout << "********************************************\n";
					cin >> op_time;	
			case 1:
				system("cls");
					cout << "********************************************\n";
					cout << "*              Escolha Seu Time            *\n";
					cout << "********************************************\n";
					cout << "*                                          *\n";
					cout << "*            A - Fogo                      *\n"; 
					cout << "*            B - Agua                      *\n";
					cout << "*            C - Planta                    *\n";
					cout << "*                                          *\n";
					cout << "********************************************\n";
					cin >> op_time;	
					
					
					
					switch (op_time)
						{
							case 'A': 
							system("cls");
							cout << "********************************************\n";
							cout << "*          Escolha Com o Que Combater      *\n";
							cout << "********************************************\n";
							cout << "*                                          *\n";
							cout << "*            1 - Forca                     *\n"; 
							cout << "*            2 - Defesa                    *\n";
							cout << "*            3 - Agilidade                 *\n";
							cout << "*                                          *\n";
							cout << "********************************************\n";
							cin >> atri;
									
							switch(atri)
							{
								
								case '1':
									system("cls");
									
											{
									
									
										
										cout << "********************************************\n";
										cout << "*                  1                       *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*                FIM DE JOGO               *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
											break;
									
										
										
											case '2':
											system("cls");
											{
									
										
										cout << "********************************************\n";
										cout << "*                   2                      *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
										break;
										
									
											
										
											case '3':
											system("cls");
											{
										
									
										
										cout << "********************************************\n";
										cout << "*                   3                      *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
										
											}
									
	
					switch (op_time)
						{
							case 'B': 
							system("cls");
							cout << "********************************************\n";
							cout << "*          Escolha Com o Que Combater      *\n";
							cout << "********************************************\n";
							cout << "*                                          *\n";
							cout << "*            1 - Forca                     *\n"; 
							cout << "*            2 - Defesa                    *\n";
							cout << "*            3 - Agilidade                 *\n";
							cout << "*                                          *\n";
							cout << "********************************************\n";
							cin >> atri;
									
							switch(atri)
							{
								
								case '1':
									system("cls");
									
											{
									
									
										
										cout << "********************************************\n";
										cout << "*                  1.2                       *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*                FIM DE JOGO               *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
											break;
									
										
										
											case '2':
											system("cls");
											{
									
										
										cout << "********************************************\n";
										cout << "*                   2.2                    *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
										break;
										
									
											
										
											case '3':
											system("cls");
											{
										
									
										
										cout << "********************************************\n";
										cout << "*                   3.2                    *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
										
											}
									
									switch (op_time)
						{
							case 'C': 
							system("cls");
							cout << "********************************************\n";
							cout << "*          Escolha Com o Que Combater      *\n";
							cout << "********************************************\n";
							cout << "*                                          *\n";
							cout << "*            1 - Forca                     *\n"; 
							cout << "*            2 - Defesa                    *\n";
							cout << "*            3 - Agilidade                 *\n";
							cout << "*                                          *\n";
							cout << "********************************************\n";
							cin >> atri;
									
							switch(atri)
							{
								
								case '1':
									system("cls");
									
											{
									
									
										
										cout << "********************************************\n";
										cout << "*                  1.3                     *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*                FIM DE JOGO               *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
											break;
									
										
										
											case '2':
											system("cls");
											{
									
										
										cout << "********************************************\n";
										cout << "*                   2.3                    *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
											}
										break;
										
									
											
										
											case '3':
											system("cls");
											{
										
									
										
										cout << "********************************************\n";
										cout << "*                   3.3                    *\n";
										cout << "********************************************\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n"; 
										cout << "*               FIM DE JOGO                *\n";
										cout << "*                                          *\n";
										cout << "*                                          *\n";
										cout << "********************************************\n";
										system("pause");
										system("cls");
										
											}
									break;
							}
						}
							}
						}
							}
						}
		}
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Odgii     o switch está funcionando certo ,  mas se digitar a letra  a  minúscula ele considera que é diferente  do    A  maiúsculo  e por isso ele passa ,  então para que funcione bem seria melhor você passar o que foi digitado para maiúsculo , assim se digitar minúsculo vai funcionar bem também ,  nesse trecho :

		cin >> op_time;
			case 1:
				system("cls");
					cout << "********************************************\n";
					cout << "*              Escolha Seu Time            *\n";
					cout << "********************************************\n";
					cout << "*                                          *\n";
					cout << "*            A - Fogo                      *\n";
					cout << "*            B - Agua                      *\n";
					cout << "*            C - Planta                    *\n";
					cout << "*                                          *\n";
					cout << "********************************************\n";
					cin >> op_time;

                    op_time=toupper(op_time);/* /<-- colocar essa linha que passa de minúsculo para maiúsculo */

					switch (op_time)
						{
							case 'A':
							system("cls");
							cout << "********************************************\n";
							cout << "*          Escolha Com o Que Combater      *\n";
							cout << "********************************************\n";

mas se você usar funções para fazer seu código , creio que ele ficaria mais bem organizado ,  colocando as chamadas das funções dentro do switch .

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Odgii      seu código está bom , mas com muitos switch um dentro do outro se tornou confuso ,  então organizando ele poderia ser assim  :

#include <iostream>
#include <conio.h>
#include <string>
#include <stdlib.h>
#include <windows.h>
/*             0     1    2     3   4      5      6      7         8  */
typedef enum{black,blue,green,cyan,red,magenta,brown,lightgray,darkgray,   /* nome das cores */
lightblue,lightgreen,lightcyan,lightred,lightmagenta,yellow,white} colors;
/*  9         10         11        12        13         14    15 */

static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/
static int __FOREGROUND = lightgray;

void textcolor_2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letras;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letras + (__BACKGROUND << 4));
}
                  /* y = linha de 0 a 24 , x = coluna de 0 a 80 */
void gotoxy_2(int x, int y){/*imprimir na linha e coluna desejada */
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int som(int f){
    Beep(f,150);/* primeiro a frquência depois o tempo de duração do som */
    return 0;
}
using namespace std;
int op;
char op_time, atri;
// Arrays e valores pokemon
// Os Arrays são: Força, Defesa, Velocidade.
int charmander [4] = {4,3,5};
int charmeleon [4] = {3,3,4};
int charizard  [4] = {4,3,5};

int squirtle   [4] = {3,3,2};
int wartotle   [4] = {3,4,3};
int blastoise  [4] = {4,4,4};

int bulbasaur  [4] = {3,2,3};
int ivysaur    [4] = {3,3,3};
int Venusaur   [4] = {4,4,4};
void texto(){
    cout << "********************************************\n";
    cout << "*                                          *\n";
    cout << "********************************************\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "*                                          *\n";
    cout << "********************************************\n";
}
void Desenvolvedores(){
    textcolor_2(10,0);
    texto();
    gotoxy_2(12,1);cout << "Desenvoveldores\n";
    gotoxy_2(11,5);cout << "EM PROCESSO\n";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void fogo_Forca(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "1";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void fogo_Defesa(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "2";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void fogo_Agilidade(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "3";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void agua_Forca(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "1.2";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}

void agua_Defesa(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "2.2";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void agua_Agilidade(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "3.2";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void planta_Forca(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "1.3";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void planta_Defesa(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "2.3";
    gotoxy_2(11,5);cout << "*FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void planta_Agilidade(){
    system("cls");
    texto();
    gotoxy_2(21,1);cout << "3.3";
    gotoxy_2(11,5);cout << "FIM DE JOGO";
    gotoxy_2(11,12);
    cout<<"     Tecle !";
    getch();
}
void menu_dom(){
    system("cls");
    texto();
    gotoxy_2(15,1);cout << "Escolha Com o Que Combater";
    gotoxy_2(11,7);cout << "1 - Forca";
    gotoxy_2(11,8);cout << "2 - Defesa";
    gotoxy_2(11,9);cout << "3 - Agilidade";
    gotoxy_2(11,12);
    cin >> atri;
}
void Fogo(){
    menu_dom();
    switch(atri){
    case '1':
        fogo_Forca();
        break;
    case '2':
        fogo_Defesa();
        break;
    case '3':
        fogo_Agilidade();
        break;
    }
}
void Agua(){
    menu_dom();
    switch(atri){
    case '1':
        agua_Forca();
        break;
    case '2':
        agua_Defesa();
        break;
    case '3':
        agua_Agilidade();
        break;
    }
}
void Planta(){
    menu_dom();
    switch(atri){
    case '1':
        planta_Forca();
        break;
    case '2':
        planta_Defesa();
        break;
    case '3':
        planta_Agilidade();
    }
}
void Iniciar_Jogo(){
    textcolor_2(11,0);
    texto();
	gotoxy_2(15,1);cout << "Escolha Seu Time";
    gotoxy_2(11,7);cout << "A - Fogo";
    gotoxy_2(11,8);cout << "B - Agua";
    gotoxy_2(11,9);cout << "C - Planta";
    gotoxy_2(11,12);
    cin >> op_time;
    op_time=toupper(op_time);
    switch (op_time){
    case 'A':
        Fogo();
		break;
    case 'B':
        Agua();
        break;
    case 'C':
        Planta();
        break;
    }
}
void Como_Jogar(){
    textcolor_2(9,15);;
    system("cls");
    texto();
    textcolor_2(9,14);
    gotoxy_2(12,1);cout << "Como Jogar";
    gotoxy_2(11,5);cout << "EM PROCESSO";
    gotoxy_2(11,12);cout<<"    Tecle !";
    getch();
}
int main(){
    som(800);
    do{
        textcolor_2(14,0);
        system("cls");
        texto();
        gotoxy_2(12,1);cout << "Super Trunfo Pokemon";
        gotoxy_2(11,5);cout << "1 - Iniciar Jogo";
        gotoxy_2(11,6);cout << "2 - Como Jogar";
        gotoxy_2(11,7);cout << "3 - Desenvolvedores";
        gotoxy_2(11,8);cout << "4 - Sair";
        gotoxy_2(5,12);cout <<"Escolha -> ";
        cin >> op;
        system("cls");
        switch(op){
        case 1:
            Iniciar_Jogo();
            break;
        case 2:
            Como_Jogar();
            break;
        case 3:
            Desenvolvedores();
            break;
        case 4:
            textcolor_2(10,12);
            cout<<"\n\n      Saindo . . . !  \n\n"<<endl;
        }
    }while(op!=4);
    som(800);
    textcolor_2(15,0);
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...