Ir ao conteúdo

Posts recomendados

Postado

Eu estou tentando criar um novo programa, e a ideia seria que depois da linha printf("\nThis application will remind you on the inserted date that you have an appointment as soon as the computer starts.\n"); eu escrever um texto e depois limpar a tela e aparecer  printf("NOW CHOOSE:\n");
    printf("\n1-MAKE A TICKET\n");
    printf("\n2-MARK IN MEMORY\n");

 

o que eu estou fazendo errado? 
 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <cstdlib> 

int main (int argc, char *argv, float)
{    
    int a,b,c;
    char Commitments;
    system("title YPA your personal agenda");
    system("color 02");
    printf("WELCOME TO YPA your personal agenda !!!! \n");
    printf("\nThis application has as a function to remind you of important dates working as amultifunctional calendar. \n");
    printf("\nSO LET'S GET STARTED :)\n");
    system("pause");
    system("cls");
    printf("WRITE YOUR COMMITMENTS AND THEIR RESPECTIVE SCHEDULES \n");
    printf("\nThis application will remind you on the inserted date that you have an appointment as soon as the computer starts.\n");
    scanf("%i",&Commitments);
    gets("commitments");
    system("pause");   
    system("cls");
    printf("NOW CHOOSE:\n");
    printf("\n1-MAKE A TICKET\n");
    printf("\n2-MARK IN MEMORY\n");
    scanf("%d",&a);
    if(a==1)
    {
      printf("A FILE WAS ADDED TO YOUR DESKTOP. THANK YOU FOR USING.");    
        
        
    }
    return 0;
}

 

  • Curtir 1
Postado

@Pablo Loschi o comando para limpeza de buffer do teclado é o: setbuf(stdin, NULL), coloque abaixo dos scanf.

Mas o problema não é por causa da falta de limpeza no buffer, mas sim na linha: gets("commitments"), está fazendo o uso incorreto da função, basta remover essa linha que já funciona perfeitamente. Não entendi bem o que o seu programa faz na explicação do tópico, porém apenas em olhar o código já deu para perceber onde muito provavelmente está o erro.

  • Curtir 1
Postado
30 minutos atrás, Igor Vargas disse:

gets("commitments");


gets("commitments");
correto seria gets(commitments);
caso queria printa puts(commitments);

 

Acho que ele queria mostrar na tela, pois a variável "commitments" é apenas um char, gets seria se ele quisesse ler uma string, que não é o caso, já que o argumento da função gets é um conjunto de caracteres(uma string).

  • Curtir 1
Postado
Em 29/12/2017 às 11:57, cyer disse:

@Pablo Loschi o comando para limpeza de buffer do teclado é o: setbuf(stdin, NULL), coloque abaixo dos scanf.

Mas o problema não é por causa da falta de limpeza no buffer, mas sim na linha: gets("commitments"), está fazendo o uso incorreto da função, basta remover essa linha que já funciona perfeitamente. Não entendi bem o que o seu programa faz na explicação do tópico, porém apenas em olhar o código já deu para perceber onde muito provavelmente está o erro.

cara muito obrigado era isso mesmo que eu queria valeu :)

adicionado 10 minutos depois
Em 29/12/2017 às 11:57, cyer disse:

@Pablo Loschi o comando para limpeza de buffer do teclado é o: setbuf(stdin, NULL), coloque abaixo dos scanf.

Mas o problema não é por causa da falta de limpeza no buffer, mas sim na linha: gets("commitments"), está fazendo o uso incorreto da função, basta remover essa linha que já funciona perfeitamente. Não entendi bem o que o seu programa faz na explicação do tópico, porém apenas em olhar o código já deu para perceber onde muito provavelmente está o erro.

o meu programa é apenas um prototipo de uma ideia que eu tive. ainda sou novato em programação porém quero aprender algumas linguagens e ir tirando projetos do papel.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!