pessoal estou com um probleminha, como sou novo não sei se posso postar codigos fontes aqui, bem esse codigo fonte eu mesmo fiz é exericio pra faculdade e o problema é o sequinte: O programa executa tranquilamente, porem quando uso a opcao (a) do programa e digite os caracteres quando chamo uma funcao que esta lincado a este o mesmo trava . aqui o codigo fonte. obrigado de antemao #include<stdio.h> #include<stdlib.h> #include<conio.h> /**/float fah(float a){ return((a-32)*5/9); } float temperatura(){ float c,temp; printf("Digite a temperatura em Fahrenheit.\n"); scanf("%f",&temp); c=fah(temp); printf("\nO valor em Celcius e':%2.2f .\n",c); system("pause"); system("cls"); main(); } /*----------------------------------------------------------*/ /*int estrela(){ printf("***************\n"); printf(" \n"); }*/ int nome(){ char nome[15]; int i; printf("Digite um nome com no maximo 15 digitos.\n"); /*scanf("%s", &nome[15]);*/ /*estrela();*/ /*for (i=0;i<15;i++)*/ /*printf("* %s *", nome[15]);/*i*/ /*estrela();*/ /*printf("**************************\n");*/ /* for (i=0;i<15;i++)*/ printf(" %s \n", nome[15]); /*printf("**************************\n");*/ system("pause"); system("cls"); main(); } /*---------------------------------------------------------------*/ int calcarea( int a, int { return(a*; } int area(){ int base, altura, result; printf("Digite a base do triangulo.\n"); scanf("%d",&base); printf("Digite a altura do triangulo.\n"); scanf("%d", &altura); result=calcarea( base, altura ); printf("A area do triangulo mede : %d .\n", result); system("pause"); system("cls"); main(); } int fatorial(){ int fat,i,z,result; printf("Digite um numero e sera realizado o fatorial.\n"); scanf("%d", &fat); z=fat; result=fat; for (i=0;i<z;i++){ result=result -1; printf(" --> %d <-- \n", result); printf(" ---------- \n"); } system("pause"); system("cls"); main(); } /**/ /* programa sobre funcao */ int main(){ char opcao; printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍDigite a opcao desejadaÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n"); /*É = esquina superior esquerda ,» DIreito, Í linha, º linha vertical, È esquina inferior esquerda, ¼ direito */ printf("º º\n"); printf("º a - Para imprimir uma palavra na tela º\n"); printf("º b - Para converter Fahrenheit para celcius º\n"); printf("º c - Calcular a area de um triangulo º\n"); printf("º d - Calcular o fatorial de um numero º\n"); printf("º e - Para sair do programa º\n"); printf("º º\n"); printf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n"); scanf(" %c", &opcao); switch ( opcao ){ case 'a': nome(); break; case 'b': temperatura(); break; case 'c': area(); break; case 'd': fatorial(); break; case 'e': system("pause"); break; system("pause"); } }