Ir ao conteúdo
  • Cadastre-se

programa de perguntas e respostas C++ C-Free


Alexsandro Ferreira

Posts recomendados

Ola, to tendo dificuldades para desenvolver esse programa, parecido com um show do milhão.

to fazendo técnico de informatica  então não sei muito ainda... qualquer ajuda é bem vinda ! 

to com problema no menu, queria que quando escolhe-se a opção 2 ou 3 aparecesse a mensagem e em seguida encerra-se o programa, e tmb na var cont no final ela não tá dando o valor certo de acertos e nem de erros. 

 

 

 

 

#include <stdio.h>#include <stdlib.h>main(){int n, r, cont=0;printf("****** SHOW DO MILHAO ******\n\n");printf("1-INICIAR JOGO\n");printf("2-CREDITOS\n");printf("3-SAIR\n\n");printf("DIGITE SUA OPCAO:");scanf("%i",&n);system("cls");switch (n){case 1:            printf("*** VAMOS PARA A PRIMEIRA RODADA ***\n\n");        break;        case 2:printf("*** CREDITOS ***\n\n BY: ALEXSANDRO\n\n");break;case 3:printf("*** ACABOU O JOGO ***\n\n");break;default:printf("*** Obrigado por usa nosso sistema ***\n");}if (n==1);else (n==2) && (n==3);system("pause");system("cls"); printf("1-QUEM DESCOBRIU A AMERICA FOI CRISTOVAO CO...\n\n");printf("1- PICANHA\n");printf("2- LOMBO\n");printf("3- ALCATRA\n");    printf("4- PATINHO\n\n");   scanf("%i",&r);   switch(r)   {    case 2:     cont++;     break;}if (r==2)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("1-QUEM DESCOBRIU O BRASIL FOI PEDRO ALVES CA...\n\n");printf("1- BRAL\n");printf("2- BREL\n");printf("3- BRIL\n");    printf("4- BROL\n\n");   scanf("%i",&r);   switch(r)   {    case 1:     cont++;     break;}if (r==1)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}         system("pause");     system("cls"); printf("2- QUANTOS PAISES irão PARTICIPAR DA COPA DO MUNDO DE 2014\n\n");printf("1- 40\n");printf("2- 38\n");printf("3- 30\n");    printf("4- 32\n\n");   scanf("%i",&r);   switch(r)   {    case 4:     cont++;     break;}     if (r==4)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}   system("pause");       system("cls"); printf("3- QUAL SELECAO VENCEU A ULTIMA COPA DO MUNDO?\n\n");printf("1- BRASIL\n");printf("2- ARGENTINA\n");printf("3- ESPANHA\n");    printf("4- URUGUAI\n\n");   scanf("%i",&r);   switch(r)   {    case 3:     cont++;     break;}if (r==3)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");          system("cls"); printf("4- MIGRACOES ________ SAO REALIZADAS DE UM PAIS PARA O OUTRO.\n\n");printf("1- EXTERNA\n");printf("2- INTERNA\n");printf("3- TEMPORARIA\n");    printf("4- NDA\n\n");   scanf("%i",&r);   switch(r)   {    case 1:     cont++;     break;}if (r==1)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("5- QUAL DESSES PERSONAGENS NÃO VESTEM UMA CAPA?\n\n");printf("1- SUPER HOMEM\n");printf("2- BATMAN\n");printf("3- CORINGA\n");    printf("4- ZORRO\n\n");   scanf("%i",&r);   switch(r)   {    case 3:     cont++;     break;}if (r==3)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("6- QUANTOS CENTIMETROS EQUIVALE A UM METRO?\n\n");printf("1- 10\n");printf("2- 100\n");printf("3- 1000\n");    printf("4- 1200\n\n");   scanf("%i",&r);   switch(r)   {    case 2:     cont++;     break;}if (r==2)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("7- QUAL ERA O DESTINO DO NAVIO TITANIC QUANDO SAIU DA INGLATERRA?\n\n");printf("1- CANADA\n");printf("2- EUA\n");printf("3- BRASIL\n");    printf("4- ARGENTINA\n\n");   scanf("%i",&r);   switch(r)   {    case 2:     cont++;     break;}if (r==2)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause"); system("cls"); printf("8- QUAL CARTA LIBERTAVA OS ESCRAVOS ANTES DA LEI AUREA?\n\n");printf("1- CARTA DE RECLAMACAO\n");printf("2- CARTA DA LIBERDADE\n");printf("3- CARTA DE HABILITACAO\n");    printf("4- CARTA DE ALFORRIA\n\n");   scanf("%i",&r);   switch(r)   {    case 4:     cont++;     break;}if (r==4)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("9- ACONCAGUA E?\n\n");printf("1- UMA PEDRA\n");printf("2- UM LAGO\n");printf("3- UMA PRAIA\n");    printf("4- UM VULCAO\n\n");   scanf("%i",&r);   switch(r)   {    case 4:     cont++;     break;}if (r==4)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}system("pause");system("cls"); printf("10- QUAL É O FRUTO CONHECIDO NO NORDESTE DO BRASIL COMO JERIMUM?\n\n");printf("1- CAJU\n");printf("2- MANGA\n");printf("3- PERA\n");    printf("4- ABOBORA\n\n");   scanf("%i",&r);   switch(r)   {    case 4:     cont++;     break;}if (r==4)   {printf("PARABENS voce ACERTOU ! ! !\n\n");   }else{printf ("voce ERROU ! ! ! \n\n");}     printf("%i",&cont);}
Link para o comentário
Compartilhar em outros sites

Tá legal, você é realmente um iniciante rsrs, vou te dar umas dicas para organizar melhor o código, no primeiro 'switch', você poderia criar uma função para caso a escolha seja 1, no caso das outras, você só mostra uma mensagem com o 'printf' e encerra o programa, agora, a forma como faz as perguntas é muito repetitiva, você usa  switch() e logo depois faz um novo teste com o mesmo valor usando 'if'(isso vale para o menu inicial do jogo),utilize apenas o 'if' ou a 'switch' e faça tudo o que tem de fazer dentro dele.

printf("%i",&cont);

isso é o que deveria mostrar o número de acertos, mas quando você utiliza o '&' antes de uma variável, você não está acessando seu valor, na verdade está pedindo o endereço de memória onde ela esta gravada, por isso aparece esse número estranho na sua tela. Agora as perguntas: depois que tiver concertado as perguntas e estiver utilizando apenas o 'if' ou a 'switch', se olhar bem para o código perceberá uma coisa intrigante, as perguntas se assemelham bastante quanto a estrutura, então deixo aqui uma dica para a sua próxima aventura:  http://pt.wikibooks.org/wiki/Programar_em_C/Fun%C3%A7%C3%B5es.

 

Uma dica a parte: não tenha medo de ultrapassar o que já foi dito em sala de aula, nunca se contenha.  :)

Link para o comentário
Compartilhar em outros sites

Sou sim Shoxsz kkk'  comecei recentemente o curso na ETEC.

 mas então tentei seguir as suas dicas e conseguir eliminar os if e trabalhei apenas com o swicth, mas mesmo assim não conseguir fazer com que o programa encerre após selecionar a opção 2 ou 3 e trabalhando com o switch não sei como coloco o cont++ na resposta certa, tentei de varias formas e não consegui, se tiver como da mais uma forcinha agradeço dez de já rss' 

 

#include <stdio.h>#include <stdlib.h>main(){int n, r, cont=0;printf("****** SHOW DO MILHAO ******\n\n");printf("1-INICIAR JOGO\n");printf("2-CREDITOS\n");printf("3-SAIR\n\n");printf("DIGITE SUA OPCAO:");scanf("%i",&n);system("cls");switch (n){case 1:            printf("*** VAMOS PARA A PRIMEIRA RODADA ***\n\n");        break;        case 2:        printf("*** CREDITOS ***\n");        break;        case 3:        printf("*** BYE BYE ***\n");        break;default:printf("*** Obrigado por usa nosso sistema ***\n");}system("pause");system("cls"); printf("1-QUEM DESCOBRIU A AMERICA FOI CRISTOVAO CO...\n\n");printf("1- PICANHA\n");printf("2- LOMBO\n");printf("3- ALCATRA\n");    printf("4- PATINHO\n\n");   scanf("%i",&r);   switch(r)   {    case 2:     printf("PARABENS voce ACERTOU ! ! !\n\ncont++");     break;     default:     printf("QUE PENA, voce ERROU ! ! !\n\n");}
Link para o comentário
Compartilhar em outros sites

Na switch você pode colocar mais de uma instrução:

switch(n){    case 1:        printf("primeira\n");        printf("segunda\n");        ...        printf("n-ésima\n");        minha_variavel = 10;        minha_variavel++;    break;}

assim, e também, você colocou o 'cont++' dentro de uma string, o que não funciona, string usada dessa forma é puro texto, se colocar o nome de uma variável dentro desse texto ela não será reconhecida, pode colocar o 'cont++' logo abaixo do 'printf' igual fazia no 'if'.

 

Agora quanto a encerrar o programa, em C o encerramento normal e mais usual de uma função se da de três maneiras: 

1ª - A função executa a última instrução e encerra.

2ª - A função retorna algum valor, isso quer dizer que ela nem sempre irá executar todo o código escrito nela, pois podem ocorrer desvios no código.

3ª - A função chama a função 'exit', esta função não encerra apenas a função atual, ela encerra o programa todo!

 

Então, como o que vem depois da 'switch' é o jogo inteiro, quando escolher as opções 2 ou 3, você pode chamar a função 'exit' ou usar um return, no caso sua função main é void, mas ainda assim pode usar assim:

case 2/*ou 3*/:    printf("mensagem de saída...");    return; //ou exit(0);break;

e por último uma pequena e eficiente explicação sobre a função 'exit': http://www.br-c.org/doku.php?id=exit.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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