Acma 1 Denunciar post Postado Outubro 19, 2009 Boa tarde pessoal, estou com um problema no projeto de C, não estou conseguindo implementar uma função na main() do projeto. ele compila sem erros, só que não para na tela principal. já tentei outras alternativas, mais realmente não sei oq possa estar errado, estou usando o compilador DEV C++ 4.9.9.2. Eu inclui as bibliotecas stdlib,stdio,conio,math. Abaixo segue o código da função, e como estou chamando ela na main() : int main() { void menu_principal(); } void menu_principal() { int entrada,scan_opt_conv_medidas; do { printf("\n\n ::::::: CENTRAL DE CALCULOS ::::::::"); printf("\n\n\n 1- Conversao de medidas"); printf("\n 2- Calculo de areas"); printf("\n 3- Calculadora especial"); printf("\n 4- Sair"); printf("\n"); printf("\n - Digite a opcao:"); scanf("%d",&entrada); switch(entrada) { case 1: ConversaoMedidas(); break; case 2: CalculoAreas(); break; case 3: CalculadoraEspecial(); break; case 4: printf("Sair"); break; default: printf("\n\n ||| Opcao Invalida ||| "); break; } getch(); } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 19, 2009 1-Use a tag code 2-Não compila sem erros. p.c: In function ‘main’: p.c:3: warning: control reaches end of non-void function p.c: In function ‘menu_principal’: p.c:12: warning: implicit declaration of function ‘printf’ p.c:12: warning: incompatible implicit declaration of built-in function ‘printf’ p.c:19: warning: implicit declaration of function ‘scanf’ p.c:19: warning: incompatible implicit declaration of built-in function ‘scanf’ p.c:35: warning: implicit declaration of function ‘ConversaoMedidas’ p.c:44: warning: implicit declaration of function ‘CalculoAreas’ p.c:53: warning: implicit declaration of function ‘CalculadoraEspecial’ p.c:84: warning: implicit declaration of function ‘getch’ p.c:85: error: expected ‘while’ at end of input p.c:85: error: expected declaration or statement at end of input p.c:7: warning: unused variable ‘scan_opt_conv_medidas’ Compartilhar este post Link para o post Compartilhar em outros sites
Acma 1 Denunciar post Postado Outubro 20, 2009 Boa noite _Isis_ ... Não entendi seu diagnóstico... tem como me exlicar mais detalhadamente ? Att, Rodrigo Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Outubro 20, 2009 Acma, A _Isis_ não fez diagnóstigo nenhum, apenas compilou o seu código e postou o que o compilador disse. é fácil de entender o significado, olhe: p.c: In function ‘main’: p.c:3: warning: control reaches end of non-void functionAqui ele diz que, no arquivo "p.c", na função "main", na linha 3 há um warning, e diz que ele não encontrou nenhum "return" na sua função e ela não é do tipo void. Compartilhar este post Link para o post Compartilhar em outros sites
Acma 1 Denunciar post Postado Outubro 20, 2009 Olá VictorCacciari ! Agora entendi, obrigado, mais não estou vendo uma solução, pois já chamei ela como int .. e tbm não vai .. se souber de alguma coisa, por favor me ajude ! Att, Rodrigo Meneguetti Zaiden Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Outubro 20, 2009 Bom primeiro aprendar identar melhor seu código, ta horrivel para a leitura. E depois eu msm nunca vi oq está qrendo fazer, pq n faz a prototipação da função FORA acima da main(), e faz somente a chamada a ela na main() ?? do{ . . ????????????????????????? []s Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel... 0 Denunciar post Postado Outubro 22, 2009 Caríssimo, Seu código deveria ser algo do tipo: #include <stdio.h> #include <stdlib.h> void menu_principal(); void ConversaoMedidas(); void CalculoAreas(); void CalculadoraEspecial(); int main() { void menu_principal(); } //============================= void menu_principal() { int entrada; int scan_opt_conv_medidas; do { printf("\n\n ::::::: CENTRAL DE CALCULOS ::::::::"); printf("\n\n\n 1- Conversao de medidas"); printf("\n 2- Calculo de areas"); printf("\n 3- Calculadora especial"); printf("\n 4- Sair"); printf("\n"); printf("\n - Digite a opcao:"); scanf("%d",&entrada); switch(entrada) { case 1: ConversaoMedidas(); break; case 2: CalculoAreas(); break; case 3: CalculadoraEspecial(); break; case 4: printf("Sair"); break; default: printf("\n\n ||| Opcao Invalida ||| "); break; } getch(); }//while(???????????????); } void ConversaoMedidas() { printf("..... FUNCAO ConversaoMedidas\n"); } void CalculoAreas() { printf("..... FUNCAO CalculoAreas\n"); } void CalculadoraEspecial() { printf("..... FUNCAO CalculadoraEspecial\n"); } OBS: 1) Coloque o protótipo das funções: void menu_principal(); void ConversaoMedidas(); void CalculoAreas(); void CalculadoraEspecial();antes do main, se as funções se localizam depois do main. 2) No seu do faltou while no final: Sintaxe: do { comando; } while(condição); 3) Você está pegando o número e colocando na variável entrada: scanf("%d",&entrada);porém você digita o <numero> e tecla <enter>, esse enter pode estar sendo disparado pro getch(); e finalizando (saindo da tela principal igual você falou) o programa...Tente substituir o getch();por: getch(); getch();Só pra verificar se é isso mesmo...>> Se eu não me engano fflush(stdin);usado antes do getch();deve funcionar (depois pesquise melhor sobre o fflush(stdin);) Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 22, 2009 (depois pesquise melhor sobre o fflush(stdin) Pesquise porque não usar fflush(stdin). Compartilhar este post Link para o post Compartilhar em outros sites
Acma 1 Denunciar post Postado Outubro 25, 2009 Vlw Cara!!!! Brigadão !!! deu certo !!! Boa noite ! Abraço ! Compartilhar este post Link para o post Compartilhar em outros sites