How to make the program stop in each printf?

0

I would like to make the user type printf() at a time, being "Name, RG and Email" but as soon as I type the name, it executes everything else and ends the program, how do I stop it in the next printf() for the user?

int main () {
    setlocale(LC_ALL, "Portuguese");

    int opcao, tipoPessoa, nomePessoa, rgPessoa, emailPessoa;

    printf("Bem Vindo ! \n O que deseja fazer ? \n 1 - Se cadastrar \n 2 - Reservar um lugar \n");
    scanf("%d",&opcao);

    if (opcao == 1){
        printf("Você é: \n 1 - Professor \n 2 - Aluno \n 3 - Convidado \n 4 - Portador de necessidade especial \n");
        scanf("%d", &tipoPessoa);
        switch(tipoPessoa){
            case 1: printf("Informe seu nome completo: ");
                    scanf("%d", &nomePessoa);
                    printf("Informe seu RG: ");
                    scanf("%d", &rgPessoa);
                    printf("Informe seu E-mail: ");
                    scanf("%d", &emailPessoa);

        }       
    }

}
    
asked by anonymous 22.10.2018 / 00:02

1 answer

2

When you need to get the described data, ie text, you need to store this in strings, so you need to create a vector of char of sufficient size for the amount of characters that will store 1 more characters that will be the terminator. Ideally you should limit data entry for this amount as scanf() formatting . The code is still not ideal but for first exercises ok. I just think I should start learning more basic concepts, one thing at a time, in the right order, in a structured way to avoid generating more and more confusion in learning.

#include <stdio.h>

int main () {
    int opcao;
    printf("Bem Vindo ! \n O que deseja fazer ? \n 1 - Se cadastrar \n 2 - Reservar um lugar \n");
    scanf("%d", &opcao);
    if (opcao == 1) {
        int tipoPessoa;
        printf("Você é: \n 1 - Professor \n 2 - Aluno \n 3 - Convidado \n 4 - Portador de necessidade especial \n");
        scanf("%d", &tipoPessoa);
        switch(tipoPessoa) {
            case 1: {
                char nomePessoa[31], rgPessoa[10], emailPessoa[65];
                printf("Informe seu nome completo: ");
                scanf("%30s", nomePessoa);
                printf("Informe seu RG: ");
                scanf("%9s", rgPessoa);
                printf("Informe seu E-mail: ");
                scanf("%64s", emailPessoa);
            }
        }       
    }
}

See running on ideone . And no Coding Ground . Also put it in GitHub for future reference .

    
22.10.2018 / 00:19