Ir para conteúdo

Arquivado

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

Minatos™

Estrutura de repetição, For ou While.

Recommended Posts

Olá pessoal, alguém poderia me ajudar a por uma estrutura de rotação, tipo.

 

No código abaixo, no printf, que pergunta se ele deseja voltar para os tópicos ou testar seus conhecimentos. bom eu gostaria de saber como por um while ou for, para fazer com que o usuário volte caso deseje, e que tenha nas quatro opções do switch case, alguém poderia me ajudar, por favor ?

#include <stdio.h> 
#include <stdlib.h>
#include <conio.h>
int main()
{
    int op;
    int opcao;
    
          // OPÇÕES DADAS AO USUÁRIO, E SWITCH PRA ESCOLHA DO MESMO, SEGUNDA PARTE DO CÓDIGO.
   system("cls"); 
   printf("|-------------------------------------------------------------------------|\n");
   printf("|                          LISTA DE APRENDIZADO                           |\n");
   printf("|-------------------------------------------------------------------------|\n");
   printf("| Entre com a opcao desejada:                                             |\n");
   printf("|                                                                         |\n"); 
   printf("|  (1) : Como fazer algo                                                  |\n");
   printf("|  (2) : Como fazer algo                                                  |\n");
   printf("|  (3) : Como fazer algo                                                  |\n");
   printf("|  (4) : Como fazer algo                                                  |\n");
   printf("|-------------------------------------------------------------------------|\n");

   printf(" Qual opcao escolheu ?:  ");
   scanf("%i",&op); 
switch ( op ){
case 01:
     printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
     printf("\n\n Deseja aprender mais ? : "                     // ESCOLHA DE VOLTAR OU TESTAR SEUS CONHECIMENTOS
"\n 1. Sim, Quero aprender mais e mais >.< ! "                   
"\n 2. Nao, Desejo testar meus conhecimentos ! \n\n");           
scanf("%d", &opcao);                                            
}while (opcao!=2);                            // AQUI, EU JÁ NÃO SEI COMO FAZER PARA ELE VOLTAR PARA OS TÓPICOS CASO DIGITE '' SIM ''
                                              // E COMO FAZER PARA ELE TESTAR, CASO ESCOLHA ''NÃO''                  
}                                             // USAR UM FOR OU WHILE, PARA FAZER COM QUE ELE VOLTE, JÁ DECLARANDO UM NO ÍNICIO DO PROGRAMA                 

     break;
     
     case 02:
          printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
          break;
          
          case 03:
               printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
               break;
               
               case 04:
                    printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
                    break;
                    default:
                            printf("Por favor digite de 01 a 04, escolha uma das opções por favor.");
                            }
                            }
                            

Obrigado pela ajuda dês de já !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saudações amigo! Pelo o que eu entendi, você quer que mostre a linha da lista de aprendizado novamente, quando o usuário digitar '1' em cada caso (case), ou seja:

 

 

1. Sim, Quero aprender mais e mais >.< ! "

Estou impossibilitado de usar algum compilador no momento, porém aconselho-o a usar a ferramenta do-while.

 

Você teria que fazer basicamente duas coisas: iniciar o programa (antes do system("cls");) com o do { [e posteriormente fechar com o while(condição);] e retirar esse trecho (abaixo) do switch

printf("\n\n Deseja aprender mais ? : " // ESCOLHA DE VOLTAR OU TESTAR SEUS CONHECIMENTOS
"\n 1. Sim, Quero aprender mais e mais >.< ! " 
"\n 2. Nao, Desejo testar meus conhecimentos ! \n\n");
scanf("%d", &opcao);

Observe da maneira que eu fiz:

#include <stdio.h> 
#include <stdlib.h>
#include <conio.h>
int main()
{
int op;
int opcao;

// OPÇÕES DADAS AO USUÁRIO, E SWITCH PRA ESCOLHA DO MESMO, SEGUNDA PARTE DO CÓDIGO.

do {
system("cls");
printf("|-------------------------------------------------------------------------|\n");
printf("| LISTA DE APRENDIZADO |\n");
printf("|-------------------------------------------------------------------------|\n");
printf("| Entre com a opcao desejada: |\n");
printf("| |\n");
printf("| (1) : Como fazer algo |\n");
printf("| (2) : Como fazer algo |\n");
printf("| (3) : Como fazer algo |\n");
printf("| (4) : Como fazer algo |\n");
printf("|-------------------------------------------------------------------------|\n");

printf(" Qual opcao escolheu ?: ");
scanf("%i",&op); 
switch ( op ){
case 01:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. "); 
break;

case 02:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;

case 03:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;

case 04:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;
default:
printf("Por favor digite de 01 a 04, escolha uma das opções por favor.");
}

printf("\n\n Deseja aprender mais ? : " // RETIREI ESSE TRECHO DO COMANDO 'SWITCH'
"\n 1. Sim, Quero aprender mais e mais >.< ! " 
"\n 2. Nao, Desejo testar meus conhecimentos ! \n\n");
scanf("%d", &opcao);

}while (opcao!=2); 

// Ou seja, enquanto ele ficar digitando 1 (aprender mais), o programa vai repetir desde o system("cls"); até o scanf("%d", &opcao);

}

Como eu disse anteriormente, estou impossibilitado de testar tal código, mas tente aí e me diga o resultado e se era o que esperava ok? Boa sorte!

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saudações amigo! Pelo o que eu entendi, você quer que mostre a linha da lista de aprendizado novamente, quando o usuário digitar '1' em cada caso (case), ou seja:

Estou impossibilitado de usar algum compilador no momento, porém aconselho-o a usar a ferramenta do-while.

 

Você teria que fazer basicamente duas coisas: iniciar o programa (antes do system("cls") ;) com o do { [e posteriormente fechar com o while(condição);] e retirar esse trecho (abaixo) do switch

printf("\n\n Deseja aprender mais ? : " // ESCOLHA DE VOLTAR OU TESTAR SEUS CONHECIMENTOS
"\n 1. Sim, Quero aprender mais e mais >.< ! " 
"\n 2. Nao, Desejo testar meus conhecimentos ! \n\n");
scanf("%d", &opcao);

Observe da maneira que eu fiz:

#include <stdio.h> 
#include <stdlib.h>
#include <conio.h>
int main()
{
int op;
int opcao;

// OPÇÕES DADAS AO USUÁRIO, E SWITCH PRA ESCOLHA DO MESMO, SEGUNDA PARTE DO CÓDIGO.

do {
system("cls");
printf("|-------------------------------------------------------------------------|\n");
printf("| LISTA DE APRENDIZADO |\n");
printf("|-------------------------------------------------------------------------|\n");
printf("| Entre com a opcao desejada: |\n");
printf("| |\n");
printf("| (1) : Como fazer algo |\n");
printf("| (2) : Como fazer algo |\n");
printf("| (3) : Como fazer algo |\n");
printf("| (4) : Como fazer algo |\n");
printf("|-------------------------------------------------------------------------|\n");

printf(" Qual opcao escolheu ?: ");
scanf("%i",&op); 
switch ( op ){
case 01:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. "); 
break;

case 02:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;

case 03:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;

case 04:
printf("Como aprender a fazer algo. ( o conteúdo será botado depois que o código for finalizado. ");
break;
default:
printf("Por favor digite de 01 a 04, escolha uma das opções por favor.");
}

printf("\n\n Deseja aprender mais ? : " // RETIREI ESSE TRECHO DO COMANDO 'SWITCH'
"\n 1. Sim, Quero aprender mais e mais >.< ! " 
"\n 2. Nao, Desejo testar meus conhecimentos ! \n\n");
scanf("%d", &opcao);

}while (opcao!=2); 

// Ou seja, enquanto ele ficar digitando 1 (aprender mais), o programa vai repetir desde o system("cls"); até o scanf("%d", &opcao);

}

Como eu disse anteriormente, estou impossibilitado de testar tal código, mas tente aí e me diga o resultado e se era o que esperava ok? Boa sorte!

 

Abraços.

 

Olá Amigo, sim foi o esperado! muito obrigado, pela ajuda, Obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.