Ir ao conteúdo
  • Cadastre-se

C alguem pode me ajudar pff


Pablo Loschi

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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...