Enviado em 07/08/2007 - 10:24h
Código:
#include<stdio.h>
#include<stdlib.h>
int main(){
int i,opcao;
float somaAltura=0,mg;
struct
{
char nome[30];
float altura;
}pessoas[15];
printf("\nMenu");
printf("\n1-Cadastrar as 15 pessoas");
printf("\n2-Mostrar registro dos menores que 1,5m");
printf("\n3-Mostrar registro dos maiores que a media geral das alturas");
printf("\n4-Sair do programa");
printf("\nDigite a opcao desejada:");
scanf("%d",&opcao);
if(opcao>1) return 0;
for(i=0;i<15;i++)
{
fflush(stdin);
getchar();
printf("Nome:");
fgets(pessoas[i].nome,30,stdin);
fflush(stdin);
printf("\nAltura:");
scanf("%f",&pessoas[i].altura);
somaAltura=somaAltura+pessoas[i].altura;
}
mg=somaAltura/15;
printf("Todos os 15 Nomes Foram Obtidos\n\n");
printf("Digite um nova opção:");
scanf("%d",&opcao);
if(opcao=='2'){
if(pessoas[i].altura<1.5) printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}
else if(opcao=='3'){
if(pessoas[i].altura>mg) printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}
else if(opcao=='4') return 0;
else if(opcao<1||opcao>4) printf("Opcao nao existente:");
getchar();
}
Problema:
O programa compila e é executado,você escolhe a opção 1 para cadastrar e digita o nome e a altura da pessoa,o problema do programa está no cadastro da segunda pessoa,quando o programa coloca para cadastrar a segunda pessoa,ele acaba pulando o nome e vai direto para a altura.
OBS:Eu uso o kurumin 7,por isso tem o comando getchar() inves do getch() do windows,quem tiver o windows terá que colocar o comando getch() e o
#include <conio.h>.
O que eu tenho que fazer para corrigir o problema?
#include<stdio.h>
#include<stdlib.h>
int main(){
int i,opcao;
float somaAltura=0,mg;
struct
{
char nome[30];
float altura;
}pessoas[15];
printf("\nMenu");
printf("\n1-Cadastrar as 15 pessoas");
printf("\n2-Mostrar registro dos menores que 1,5m");
printf("\n3-Mostrar registro dos maiores que a media geral das alturas");
printf("\n4-Sair do programa");
printf("\nDigite a opcao desejada:");
scanf("%d",&opcao);
if(opcao>1) return 0;
for(i=0;i<15;i++)
{
fflush(stdin);
getchar();
printf("Nome:");
fgets(pessoas[i].nome,30,stdin);
fflush(stdin);
printf("\nAltura:");
scanf("%f",&pessoas[i].altura);
somaAltura=somaAltura+pessoas[i].altura;
}
mg=somaAltura/15;
printf("Todos os 15 Nomes Foram Obtidos\n\n");
printf("Digite um nova opção:");
scanf("%d",&opcao);
if(opcao=='2'){
if(pessoas[i].altura<1.5) printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}
else if(opcao=='3'){
if(pessoas[i].altura>mg) printf("%s,%.1f",pessoas[i].nome,pessoas[i].altura);
}
else if(opcao=='4') return 0;
else if(opcao<1||opcao>4) printf("Opcao nao existente:");
getchar();
}
Problema:
O programa compila e é executado,você escolhe a opção 1 para cadastrar e digita o nome e a altura da pessoa,o problema do programa está no cadastro da segunda pessoa,quando o programa coloca para cadastrar a segunda pessoa,ele acaba pulando o nome e vai direto para a altura.
OBS:Eu uso o kurumin 7,por isso tem o comando getchar() inves do getch() do windows,quem tiver o windows terá que colocar o comando getch() e o
#include <conio.h>.
O que eu tenho que fazer para corrigir o problema?