Thiago Suriani Posted November 17, 2022 at 10:05 PM Share Posted November 17, 2022 at 10:05 PM Não estou conseguindo realizar o loop quando entro na opção 1 do menu após terminar de preencher tudo, queria que ao coloca "s" ele reiniciasse o cadastro. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main () { setlocale(LC_ALL, "portuguese"); char sexo[2], nome[30], sobrenome[30], iniciar, novamente; int idade, opcoes; long long int CPF, RG; char celular[11]; do { printf("******* Menu de Opções *******\n\n"); printf("** 1 ** Cadastro de Dados: ****\n"); printf("** 2 ** Sair: ****\n\n"); printf("Escolha uma das opções acima: "); scanf("%i", &opcoes); printf("\n"); do { switch(opcoes) { case 1: printf("Você escolheu a opção 1 - Cadastro de Dados: \n"); printf("\nNome: "); scanf("%s", &nome); fflush(stdin); printf("\n"); printf("Sobrenome: "); scanf("%s", &sobrenome); fflush(stdin); printf("\n"); printf("Idade: "); scanf("%i", &idade); printf("\n"); printf("Sexo: "); scanf("%s", &sexo); printf("\n"); printf("CPF: "); scanf("%lld", &CPF); printf("\n"); printf("RG: "); scanf("%lld", &RG); printf("\n"); printf("Celular: "); scanf("%s", &celular); fflush(stdin); printf("\n\n"); printf("**Ficha completa:**\n\n"); printf("Nome Completo: %s %s\n", nome, sobrenome); printf("Idade: %i\n", idade); printf("Sexo: %s\n", sexo); printf("CPF: %lld\n", CPF); printf("RG: %lld\n", RG); printf("Celular: %s\n", celular); printf("\n\n Deseja realizar uma nova inclusão? (s ou n): "); scanf("%c", novamente); break; case 2: printf("Você escolheu a opção 2 - Sair: \n"); printf("\nFinalizando o programa..\n"); return 0; break; default: if(opcoes >= 3){ printf("Valor Inválido!\n"); return 0; } } } while(novamente == 's'); if(novamente == 'n') { printf("\n\nRetornando ao menu de opções.. \n\n", opcoes); return 0; } } while(opcoes != 2); return 0; } Creio que devo ter errado em alguma chave ou posição do while, mas não consigo arrumar, se alguém puder ajudar eu agradeço!! Quote Link to comment Share on other sites More sharing options...
fredericopissarra Posted November 22, 2022 at 01:42 PM Share Posted November 22, 2022 at 01:42 PM Ainda de mais nada, essas duas coisas estão erradas: setlocale( LC_ALL, "portuguese" ); fflush( stdin ); Se setlocale() "ajusta (set) o local (locale)", então, existe um lugar no mundo chamado "português"? fflush() "despeja" (flushes) streams de saída apenas. Quanto ao resto... um pouco de atenção ao que foi feito seria interessante! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.