エラーの原因がわかりません。
#include <stdio.h>
int bonus(int year,char rank);
main()
{
int a;
char s[2];
while(1)
{
printf("勤続年数:");
scanf("%d",&a);
printf("ランク:");
scanf("%s",s);
if(bonus(a,s[0])==-1){
exit(1);
}
if(bonus(a,s[0])==0){
printf("入力エラー\n");
}
printf("ボーナス支給額=%d\n",bonus(a,s[0]));
}
}
int bonus(int year,char rank)
{
int bonus;
if(strcmp(rank,'a')==0)
if(year<=5)
bonus=80000*2.3+80000*3+10000;
else if(year<=10)
bonus=100000*2.3+100000*3+12000;
else if(year<=15)
bonus=120000*2.3+120000*3+15000;
else if(year>=16)
bonus=150000*2.3+150000*3+18000;
else
return -1;
else if(strcmp(rank,'e')==0)
return -1;
else
return -1;
return bonus;
}
勤続年数とランクを入力したらボーナス支給額を表示させるというプログラムです。
ランクがA,B,C,Dとありましたが、800字以上になるので省略しました。
とりあえずコンパイルできたものの、実行してランクを入力したらエラーが出て終了してしまいます。
そのエラーの原因がわかりません。
多分メモリーら辺がおかしいみたいなんですけど・・・。
よろしくお願いします。
お礼
そうなんですか!武器によっても違うんですね。 回答有難うございます。