Ir ao conteúdo
  • Cadastre-se

Problema de iniciante


murilo30001

Posts recomendados

Olá pessoal....estou iniciando o meus estudos na area de programação...estou começando com a linguagem C..

peguei um curso na internet da UFSC, q inclusive já vi sendo recomendado por usuários aqui no fórum...

Baixei e instalei o programa "Bloodshed Dev-C++ 4.9.9.2"... e o meu problema é o seguinte... não estou conseguindo rodar os exemplos q a apostila oferece, e até mesmo alguns exemplos de programas bm mais sofisticados que achei na net. Qd eu abro um novo "Projeto" o programa Dec-C++ me dá algumas opções de projetos como "Windows Application" "Console Application" e mais outros... Eu geralmente entro no Windows Application, depois apago os codigos q já vem escritos e copio os codigos da apostila, apos isso dou o comando Compilar e Executar....mas aih ele sempre acusa algum erro com uma linha vermelha no código, ou simplesmente nao faz nada.

O código mais simples q tento colocar é este aqui:

/* Programa : Bom Dia! */
#include <stdio.h>
void main()
{
printf(“Bom Dia!!!!”);
}

Quando dou o comando compilar e executar, o programa sombrei em vermelho o colchete aberto logo abaixo do "void main()"

alguem sabe o q está acontecendo??

Link para o comentário
Compartilhar em outros sites

O erro é simples, toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

#include <stdio.h>

#include <stdlib.h>

int main()

{

printf("Bom dia!!!!\n");

system("PAUSE");

return 0;

}

Vou explicar os termos que você não deve conhecer:

#include <stdlib.h> - inclui a biblioteca padrão do C (standard), usada em praticamente todo programa feito em C.

/n no printf - pula uma linha.

system("PAUSE"); - chama o prompt de comando e executa o comando pause, que congela a tela até que uma tecla seja pressionada.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
O erro é simples, toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

#include <stdio.h>

#include <stdlib.h>

int main()

{

printf("Bom dia!!!!\n");

system("PAUSE");

return 0;

}

Vou explicar os termos que você não deve conhecer:

#include <stdlib.h> - inclui a biblioteca padrão do C (standard), usada em praticamente todo programa feito em C.

/n no printf - pula uma linha.

system("PAUSE"); - chama o prompt de comando e executa o comando pause, que congela a tela até que uma tecla seja pressionada.

He, você foi quase 100% certo...hehehe... Não é toda função "main" que retorna '0', mas sim toda função "int main" que tem de retornar '0'. A função "void main" não retorna nada...

É isso aí, todo o mais que você escreveu foi muito bom para auxiliá-lo.

Abração e fiquem com Deus...:D

Link para o comentário
Compartilhar em outros sites

  • mês depois...
He, você foi quase 100% certo...hehehe... Não é toda função "main" que retorna '0', mas sim toda função "int main" que tem de retornar '0'. A função "void main" não retorna nada...

É isso aí, todo o mais que você escreveu foi muito bom para auxiliá-lo.

Abração e fiquem com Deus...:D

Você colocou palavras na boca do Starlight :P

Ele não disse que toda função main retorna 0.

Leia de novo:

toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

Starlight está corretíssimo.

De acordo com o C padrão (ANSI C) a função main DEVE retornar um int. Colocar um a função main como tipo VOID desobedece o padrão ANSI.

Muitos compiladores mostram um "warning" (aviso) quando você não põe no cabeçalho da função main o tipo de retorno INT.

E diferente do que você falou, uma função "int main" não necessariamente retorna 0. Ela pode retornar -5,-1, 0, 2, 3... qualquer inteiro.

Caso retorne ZERO significa que o programa executou com sucesso, sem erros (como bem dito pelo Starlight). Qualquer outro valor de retorno significa que ocorreu um erro no programa, e o valor pode servir como um código, criado pelo programador, que irá identificar qual tipo de erro ocorreu.

Link para o comentário
Compartilhar em outros sites

Você colocou palavras na boca do Starlight :P

Ele não disse que toda função main retorna 0.

Leia de novo:

toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

Starlight está corretíssimo.

De acordo com o C padrão (ANSI C) a função main DEVE retornar um int. Colocar um a função main como tipo VOID desobedece o padrão ANSI.

Muitos compiladores mostram um "warning" (aviso) quando você não põe no cabeçalho da função main o tipo de retorno INT.

E diferente do que você falou, uma função "int main" não necessariamente retorna 0. Ela pode retornar -5,-1, 0, 2, 3... qualquer inteiro.

Caso retorne ZERO significa que o programa executou com sucesso, sem erros (como bem dito pelo Starlight). Qualquer outro valor de retorno significa que ocorreu um erro no programa, e o valor pode servir como um código, criado pelo programador, que irá identificar qual tipo de erro ocorreu.

Realmente entendi o deve como um "só pode se for assim", eliminando outras possibilidades como o "void main", que apesar de não ser aconselhado é uma possibilidade.

Quanto a função "int main" retornar apenas '0', me expressei de maneira incorreta, todas não retornam apenas '0' mais outros valores que tem representações como por exemplo, erros.

Obrigado pela avaliação e possibilidade de correção de minha resposta.

Abraço e fica com Deus. :D

Link para o comentário
Compartilhar em outros sites

Arquivado

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

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!