1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[NOVATO]Problema em C

Discussão em 'Programação' iniciada por Earning, 23 de Maio de 2008. (Respostas: 10; Visualizações: 734)

  1. Earning

    Earning Power Member

    Boas pessoal, iniciei me só hoje a noite na programação, após ler alguns tutorias e me informar, tentei fazer uma coisa simples... Mas deume erro.. Ao carregar na aplicação, ela abre e fecha muito rápido mesmo, já li um post daqui, disseram para acrescer getch(), mas não consigui.

    [​IMG]

    Depois ainda tenho outro erro, alguém ajuda um novato? :(

    [​IMG]
     
  2. Baderous

    Baderous Banido

    A 1ª solução desaconselho porque é necessária uma biblioteca que não existe no Linux.
    Quanto à 2ª solução, aconselho que no lugar do system("PAUSE"); coloques getchar();. Assim o programa fica à espera que tu introduzas um caracter, e só depois é que termina. Para começar podes usar esta solução, mas mais à frente, és capaz de precisar de outra.
     
  3. Earning

    Earning Power Member

    Obrigado ;), ja consegui, estava a meter o getchar no sitio errado.

    Alguem me diz como fazer tipo um dialogo?

    Ex: Ana: Ola
    Joao: tudo bem?

    etc... Cumps

    edit: ja tentei meter 2x o printf mas dá erro..
     
    Última edição: 23 de Maio de 2008
  4. Baderous

    Baderous Banido

    Código:
    char ana[500], joao[500];
    fgets(ana,sizeof(ana),stdin);
    fgets(joao,sizeof(joao),stdin);
    printf("Ana: %s",ana);
    printf("Joao: %s",joao);
     
  5. Earning

    Earning Power Member

    Obrigado mais uma vez..

    Para perceber mais um bocado disto, para que e preciso este comando antes da fala?

    char ana[500], joao[500];
    fgets(ana,sizeof(ana),stdin);
    fgets(joao,sizeof(joao),stdin);

    Eu assim, ao fazer, ele fazesme tudo em linha. Ex: ana: ola joao : ola ana:tb?

    Não da pa fazer na vertical?

    ana: ola
    joao: olla
    ana: tudo bem?
     
  6. Earning

    Earning Power Member

    Obrigado mais uma vez..

    Para perceber mais um bocado disto, para que e preciso este comando antes da fala?

    char ana[500], joao[500];
    fgets(ana,sizeof(ana),stdin);
    fgets(joao,sizeof(joao),stdin);

    Eu assim, ao fazer, ele fazesme tudo em linha. Ex: ana : ola joao :ola ana :tb?

    Não da pa fazer na vertical?

    ana :ola
    joao :ola
    ana : tudo bem?
     
  7. Baderous

    Baderous Banido

    char ana[500], joao[500] reserva espaço para 2 strings de 500 caracteres cada uma, que vais aproveitar para guardar as frases que queres. Para as guardares precisas de as ler do teclado. Isso pode ser feito através da função fgets que tem 3 parâmetros: o nome da string para a qual vais ler, o seu tamanho, e o ficheiro de onde estás a ler. Como neste caso queres ler do teclado, o ficheiro vai ser o stdin que é o ficheiro associado ao teclado.

    Código:
    printf("Ana: %s\n",ana);
    printf("Joao: %s\n",joao);
     
  8. Earning

    Earning Power Member

    Ah ok e sempre bom aprender..

    como fasso para as falas aparecerem uma de cada ves, tipo caregar no enter e aperecer uma..socessivamente
     
  9. Baderous

    Baderous Banido

    Como assim?
     
  10. .:vega:.

    .:vega:. Power Member

    Metes um getchar entre os printf's.
     
  11. Earning

    Earning Power Member

    entre os printf's como assim?

    printf("Joao: Ola" ) getchar();

    ??

    Ja consegui, obrigado.
     
    Última edição pelo moderador: 26 de Maio de 2008

Partilhar esta Página