単利計算と複利計算を行うプログラムについて、質問させてください。
環境はWindowsXP.VS.NET2003。Win32コンソールアプリケーションです。
void main()
{
float a,r,c;/*r:金利c:複利*/
int i,y,method; /*預ける年数*/
printf("いくら預けますか?");
scanf("%lf",&a);
printf("何年間預けますか?");
scanf("%d",&y);
printf("運用方法を設定してください。単利なら0,複利なら1を入力してください。");
scanf("%d",&method);
if(method==0){
printf("金利はいくら(%%)ですか?");
scanf("%f",&r);
for(i=1;i<=y;i++){
a +=a*(r/100);
}
printf("元本は%f円になります\n",a);
}
else if(method==1){
printf("複利はいくら(%%)ですか?");
scanf("%f",&c);
for(i=1;i<=y;i++){
a = a*(1+r/100);
}
printf("元本は%f円になります\n",a);
}
else printf("終了します。\n");
}
ですが、いざ元本を出そうとすると、Stack around the variable 'a' was corrupted.
と表示されてしまいます。お力添えの程出来たらよろしくお願いいたします。