Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel_Oliveira

Problema com primeiro script c/c++

Recommended Posts

Oi

 

Tive minha primeira experiência com c/c++ hoje e já foi frustrada \o/

Baixei ontem uma apostila da internet, que parece muito boa, com muito conteúdo e bem explicado... Mas já no primeiro código que tentei compilar já deu erro!

 

#include <stdio.h>
void main(){
printf ("Meu primeiro programa em C!!!\n");
}

no Dev-c++ a linha:

void main(){

Fica em vermelho, por isso acho que o erro é nela..

 

Erro:

2 C:\Documents and Settings\Daniel\Desktop\C++\primeiro_programa.cpp `main' must return `int'

 

Sim, já troquei o void main por int main e ae compilou, porém na apostila está dizendo para usar void, eu queria saber porque da o erro e se a apostila está mesmo errada..

 

Aproveitando, tentei compilar este também:

#include <stdio.h>
void hello(){
printf ("Meu primeiro programa em C!!!\n");
}
void main(){
hello();
}
E deu o mesmo erro no void, mudei pra int e funcionou também.

 

Eu queria saber também, porque quando eu compilo e executo o programa, ele fica menos de 1 segundo na tela e já desaparece, nem da para ver oque está escrito... Como farei para deixar ele parado lá até que eu o feche?

Acho que já amolei demais.

Obrigado pela atenção de todos.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- Em C/C++ não é script. Script é Python,Ruby,Bash,PHP.

 

2-

Baixei ontem uma apostila da internet, que parece muito boa, com muito conteúdo e bem explicado

 

Uma apostila que usa void main não tem cara de ser boa.

 

3-

Sim, já troquei o void main por int main e ae compilou, porém na apostila está dizendo para usar void, eu queria saber porque da o erro e se a apostila está mesmo errada..

 

Tem tópico no fórum sobre isso. Use a busca do fórum. A busca do Google também funciona.

 

4-

Eu queria saber também, porque quando eu compilo e executo o programa, ele fica menos de 1 segundo na tela e já desaparece, nem da para ver oque está escrito...

 

Porque Dev-C++ tem o péssimo hábito de não vir com um terminal integrado dentro da IDE. Também existe um tópico sobre isso.

 

5-

Tive minha primeira experiência com c/c++ hoje e já foi frustrada o/

 

Não existe uma linguagem chamada c/c++. C é uma coisa, C++ é outra. O que você está escrevendo é C.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Daniel.

Esse erro é comum quando se utuliza "void" ao inves de "int", mas não é por isso que ele

deixa de compilar. Mesmo colocarndo "void" como você fez, o codigo deve compilar normalmente. A apostila não está errada.

Quanto a questão do programa ficar menos de 1 segundo na tela.

Isso acontesce porque você não está colocarndo no final do código, o comando de parada, que pode ser "system("pause");" ou "getchar();"

 

O seu primeiro codigo ficaria assim:

#include <stdio.h>
void main(){
printf ("Meu primeiro programa em C!!!\n"); // o "\n" serve para pular para a linha seguinte
system("pause"); //Quando o programa lê o system("pause"), ele para e espera uma ação do usuário.
}

O segundo código ficaria assim:

 

#include <stdio.h>
void hello(){
printf ("Meu primeiro programa em C!!!\n");
system("pause");
}
void main(){
hello();
}

Espero ter ajudado.

Abraços.

 

Ps.: _Isis_ vamos ser menos agressivos com os usuarios iniciantes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Léo, não devemos NUNCA declarar "main" ou qualquer se seja a função de entrada do programa como void.

O sistema operacional aguarda um retorno da função main. Aquele "return 0" que você vê na maioria dos códigos não está lá de enfeite. É importante o sistema operacional saber se correu tudo bem ou não com o programa.

Por isso existem os "exit codes", em caso de sucesso, deve ser 0.

 

Sobre system("pause"), se eu rodar esse código aqui vou ter uma saída:

Meu primeiro programa em C!!!

bash: pause not found

victor@matrix /~ $

 

para saber mais sobre o assunto: http://forum.imasters.com.br/index.php?/topic/336835-tutorial-systempause-e-fflushstdin/

 

Então, Daniel, seu código escrito corretamente ficaria:

#include <stdio.h>

int main()
{
    printf("Meu primeiro programa em C!!!\n");
    return 0;
}

ou:

#include <stdio.h>

int main()
{
    printf("Meu primeiro programa em C!!!\n");
    scanf("%*c");
    return 0;
}

qualquer dúvida, é só postar!

Abraços

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ps.: _Isis_ vamos ser menos agressivos com os usuarios iniciantes.

 

Então meu post foi agressivo porque não enrolei p/ responder e não me dei ao trabalho de ir catar um tópico homérico que deveria estar pinado??

 

Pesquisando por "void main" e ordenando por relevância de modo ascendente: http://forum.imasters.com.br/index.php?/topic/292939-qual-a-diferenca-de-void-main-e-int-main

Pesquisando no Google por "void main": http://www.google.com.br/search?q=%22void+main%22&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a . Na primeira página temos 4 resultados que explicam isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É acho q o pessoal n se atualiza =//, na minha faculdade msm mew colega q ainda tem aula de C, disse q o professor passa void main() para eles, no DevC++ compila até, + deve soh gerar warning n tenho ctz.

+ como jah foi discutido aki, o melhor a fazer (na minha opinião), é utilizar o code::blocks, nele nem pau o programa vai rodar com void main(), e outra n precisa colocar nenhum comando para segurar a tela, dê uma olhada nos tópicos fixados, ;D

 

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