うまく加算できません・・・
Posted: 2012年8月06日(月) 16:40
簡単な料金自動集計合計プログラムを作っています。
基本的には、年齢を入力して金額を表示。
それを繰り返して最終的には集計して表示するプログラムです。
一応作成してみたのですが、これだと集計が何人やっても最後の1人分しか表示されません。
なので、以下の様に+=を使用してみたのですが、デバッグ時にErrorがでて強制終了してしまいます。
#include<stdio.h>
#pragma warning(disable : 4996)
int main(void)
{
int age, total, i=1, num;
//age=年齢 total=すべての合計金額 i=繰り返し・終了判定
//金額 3歳=無料 4歳~12歳=250円 13歳以上=400円
printf("料金表\n");
printf("3歳以下 無料\n4歳~12歳 250円\n13歳以上 400円\n");
//料金表
while (i==1)
{
printf("年齢を打ち込んで下さい。\n");
scanf ("%d",&age);
//年齢打ち込み
if(age>=13)
{
printf("料金は400円です。\n");
total+=400;
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
if(age<=3)
{
printf("料金は無料です。\n");
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
{
printf("料金250円です。\n");
total+=250;
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
}
printf("合計人数:%02d人\n合計金額:%04d円\n\n",num,total);
return 0;
}
どうしたら、ちゃんと集計ができるようになりますか?
基本的には、年齢を入力して金額を表示。
それを繰り返して最終的には集計して表示するプログラムです。
一応作成してみたのですが、これだと集計が何人やっても最後の1人分しか表示されません。
#include<stdio.h>
#pragma warning(disable : 4996)
int main(void)
{
int age, total, i=1, num, zero=0;
//age=年齢 total=すべての合計金額 i=繰り返し・終了判定
//金額 3歳=無料 4歳~12歳=250円 13歳以上=400円
printf("料金表\n");
printf("3歳以下 無料\n4歳~12歳 250円\n13歳以上 400円\n");
//料金表
while (i==1)
{
printf("年齢を打ち込んで下さい。\n");
scanf ("%d",&age);
//年齢打ち込み
if(age>=13)
{
printf("料金は400円です。\n");
total=zero+400;
num=zero+1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
if(age<=3)
{
printf("料金は無料です。\n");
num=zero+1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
{
printf("料金250円です。\n");
total=zero+250;
num=zero+1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
}
printf("合計人数:%02d人\n合計金額:%04d円\n\n",num,total);
return 0;
}
#include<stdio.h>
#pragma warning(disable : 4996)
int main(void)
{
int age, total, i=1, num;
//age=年齢 total=すべての合計金額 i=繰り返し・終了判定
//金額 3歳=無料 4歳~12歳=250円 13歳以上=400円
printf("料金表\n");
printf("3歳以下 無料\n4歳~12歳 250円\n13歳以上 400円\n");
//料金表
while (i==1)
{
printf("年齢を打ち込んで下さい。\n");
scanf ("%d",&age);
//年齢打ち込み
if(age>=13)
{
printf("料金は400円です。\n");
total+=400;
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
if(age<=3)
{
printf("料金は無料です。\n");
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
else
{
printf("料金250円です。\n");
total+=250;
num+=1;
printf("このまま続けますか?\n続けるならば1を。終了するならば2を押して下さい。");
scanf("%d",&i);
}
}
printf("合計人数:%02d人\n合計金額:%04d円\n\n",num,total);
return 0;
}
どうしたら、ちゃんと集計ができるようになりますか?