Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com scanf() e getc()


helljawz

Pergunta

Alguém sabe me explicar porque preciso usar dois "getc()"? Já me falaram pra não usar a função scanf(), mas o que eu deveria usar no lugar dela?

Como vocês fariam?

Grato

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int main(int argc, char** argv) {

    char opt;
    printf("1. Inserir\n");
    printf("2. Consultar\n");
    scanf("%c",opt);
    switch(opt){
        case '1':
            inserir();
            break;
        case '2':
            consultar();
            break;
    }
}

inserir() {
    
    FILE *escrita;
    char nome[20];
    char tel[15];
    char line[35];
    char q = 'y';
    int i=0;
    if ((escrita = fopen("telefones.txt","w")) == NULL ) {
        perror("File");
        exit(1);
    }
    while ( q != 'n' && q != 'N' ) {
        printf("Nome: ");
        scanf("%s",nome);
        while(nome[i]){
            q = nome[i];
            nome[i] = toupper(q);
            i++;
        }
        printf("Telefone: ");
        scanf("%s",tel);
        fprintf(escrita,"%s %s\n",nome,tel);
        getc(stdin);
        q = getc(stdin);
    }
    fclose(escrita);
}

consultar() {

}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O certo seria usar fgets. fgets é quase a mesma coisa que gets, só que mais seguro.

Para receber da stream principal (stdin):

#include <stdio.h>

int main(void) {
    char string[64];

    fgets(string, sizeof(string), stdin);
    printf("%s", string);

    return 0;
}

Note que fgets coloca o "\n" (new line/line feed) na string.

Abraços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...