文字入力に関して
Posted: 2012年11月08日(木) 22:29
宿題でデータを入力して分布や平均を求めるプログラムで、
デバックをすると 'error C2050: switch 式の結果は、整数値になりませんでした。'
と、出てきます。解決方法があれば教えてください。
プログラムソース
------------------------------------------------
#include <stdio.h>
struct person{
int age;
float hyde;
char name[20],blood[20];
};
main()
{
struct person human[20];
int i,w,x,y,z;
float heikin1, heikin2,goukei1,goukei2;
w = 0; x = 0; y = 0; z = 0;
for(i=0;i<8;++i){
printf("名前を入力してください\n");
scanf("%s",human.name);
printf("年齢を入力してください\n");
scanf("%d",&human.age);
printf("身長を入力してください\n");
scanf("%f",&human.hyde);
printf("血液型を入力してください\n");
scanf("%s",human.blood);
switch(human.blood)
{
case 'a':
case 'A':
w += 1;
break;
case 'b':
case 'B':
x += 1;
break;
case 'c':
case 'C':
y += 1;
break;
case 'ab':
case 'AB':
z += 1;
break;
default:
printf("?\n");
}
}
for (i=0;i<8;++i){
goukei1 += human.age;
}
for (i=0;i<8;++i){
goukei2 += human.hyde;
}
heikin1 = goukei1 / 8 ;
heikin2 = goukei2 / 8 ;
for(i=0;i<8;++i){
printf("氏名 %s 年齢 %d 体重 %f\n 血液型 %s",human.name,human.age,human.hyde,human[i].blood);
}
printf("平均年齢は%fで平均身長は%fです。\n",heikin1,heikin2);
}
デバックをすると 'error C2050: switch 式の結果は、整数値になりませんでした。'
と、出てきます。解決方法があれば教えてください。
プログラムソース
------------------------------------------------
#include <stdio.h>
struct person{
int age;
float hyde;
char name[20],blood[20];
};
main()
{
struct person human[20];
int i,w,x,y,z;
float heikin1, heikin2,goukei1,goukei2;
w = 0; x = 0; y = 0; z = 0;
for(i=0;i<8;++i){
printf("名前を入力してください\n");
scanf("%s",human.name);
printf("年齢を入力してください\n");
scanf("%d",&human.age);
printf("身長を入力してください\n");
scanf("%f",&human.hyde);
printf("血液型を入力してください\n");
scanf("%s",human.blood);
switch(human.blood)
{
case 'a':
case 'A':
w += 1;
break;
case 'b':
case 'B':
x += 1;
break;
case 'c':
case 'C':
y += 1;
break;
case 'ab':
case 'AB':
z += 1;
break;
default:
printf("?\n");
}
}
for (i=0;i<8;++i){
goukei1 += human.age;
}
for (i=0;i<8;++i){
goukei2 += human.hyde;
}
heikin1 = goukei1 / 8 ;
heikin2 = goukei2 / 8 ;
for(i=0;i<8;++i){
printf("氏名 %s 年齢 %d 体重 %f\n 血液型 %s",human.name,human.age,human.hyde,human[i].blood);
}
printf("平均年齢は%fで平均身長は%fです。\n",heikin1,heikin2);
}