Thiago Suriani Postado Novembro 17, 2022 em 22:05 Compartilhar Postado Novembro 17, 2022 em 22:05 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!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Novembro 22, 2022 em 13:42 Compartilhar Postado Novembro 22, 2022 em 13:42 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.