Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gabriel Moraes

Problemas com C

Recommended Posts

Bom galera...

Estou começando com C agora, e estou com um problema,

todo programa que crio ate akeles mais básicos de Olá Mundo

apenas abre e fecha instantaneamente, por exemplo

 


#include <stdio.h>

int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

esse programa abre e fecha instantaneamente,

já tentei borland c++ compiler 5.5 e o Dev-C++ 4.9.9.2

Pode ser algum problema relacionado ao meu S.O? (Win 7 x64)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu programa fecha automaticamente porque não foi instruído para fazer mais nada. Quando a main() retorna, o programa se fecha. Uma forma de fazer com que o programa "espere" até que o usuário digite algo é incluir um:

 

fgetc(stdin)

antes do return da main(). Lembrando que o programa que você criou é executado no prompt de comandos do windows. Se fosse rodado no terminal do linux, você veria a saída impressa antes da nova linha que indica que o prompt está novo para rodar um novo comando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel Moraes,

 

Não acho 'certo' você usar chamadas de sistema, use algum recurso da linguagem como: getch(), getchar(), fgetc(stdin), etc.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

rM_,

tipo qual seria o problema de utilizar esse tipo de chamada do sistema ?

utilizei ele apenas por ele inserir a mensagem de pressione uma telca...

por isso que digo que achei mais adequado...

de qualquer forma, utilizei o codeblocks,

ele funciona sem prescisar utilizar, o system("pause") ou fgetc(stdin)

 

só que agora estou com problema em outro programa,

estou dando uma lida em umas apostilas aqui,

e tem um exercicio em que você deve criar um script que inverta uma string criada pelo usuario

então criei o seguinte código

 

#include <stdio.h>

int main ()
{
    int i, y, cont, continv;
    char palavra[100], palavrainv[100];
    printf("Digite uma palavra para inverte-la:\n");
    gets(palavra);
    /*comeco primeiro for */
    for (i=0;palavra[i] != '\0';i++);

    /* fim primeiro for
    comeco segundo for */

    for (continv=i;continv>0;continv--)
    {
        for(y=0;y<i;y++) palavrainv[y]=palavra[continv];

    }

    /* fim segundo for */

    printf("A primeira palavra e: %s\nA segunda palavra e: %s\n", palavra, palavrainv);
    return(0);
}

porém, ao executar o script, a string(que deveria ser a invertida)

retorna valores estranhos,

como por exemplo,

se escrevo imasters,

ela retorna diversas vezes a segunda letra "M" e em alguns casos outras formas,

como @ © por ai vai....

se alguem souber o porque agradeço.

e se tiverem mais dicas, quanto a programas, etc,

por favor podem dizer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

    for (continv=i-1;continv>=0;continv--) palavrainv[j++]=palavra[continv];
    palavrainv[i] = '\0';

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.