[問題] 關於FOR迴圈
小弟我是個新手
想要寫出目前所需要金額一直寫不出來
EX:請輸入欲購買張數 5
請輸入欲購買者年齡 18
您目前所需給予的金額為 40
請輸入欲購買者年齡 20
您目前所需給予的金額為 80
但是一直跑不出正確的數值
所以想PO程式碼
請教各位先進
以下是我的程式碼
-----------------------------------------------
int amount;
double price = 0;//宣告一個名稱為price、初始值為0的變數
double a = 0;
int adultticket = 0, oldticket = 0, childticket = 0;
Console.WriteLine("請輸入欲購買總張數:");
amount = int.Parse(Console.ReadLine());
int[] age = new int[amount];
double[] charge = new double[amount];
for (int i = 0 ; i < amount; i++ )
{
Console.WriteLine("請輸入欲購買者年齡:");
age[i] = int.Parse(Console.ReadLine());
double price1 = 0;
double price2 = 0;
double price3 = 0;
double price4 = 0;
if (age[i] > 65)
{
Console.WriteLine("購買者為老人以老人票計");
oldticket = oldticket + 1;
}
else if (age[i] < 18)
{
Console.WriteLine("購買者為兒童以兒童票計");
childticket = childticket + 1;
}
else
{
Console.WriteLine("購買者為成人以成人票計");
adultticket = adultticket + 1;
}
if (age[i] > 65 )
{
int fee = 40;
price = fee * 0.3;
price1 = price * oldticket;
}
else if (age[i] < 18 )
{
int fee = 40;
price = fee * 0.5;
price2 = price * childticket;
}
else if (18 <= age[i] && age[i] <= 65 && amount > 5)
{
int fee = 40;
price = fee * 0.8;
price3 = price * adultticket;
}
else
{
int fee = 40;
price = fee;
price4 = price * adultticket;
}
charge[i] = price1 + price2 + price3 + price4;
for (int j = 0; j <= i; j++)
{
a = a + charge[j];
}
Console.WriteLine("您目前所需給予的金額為:" + a);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.66.168.37
→
03/23 09:32, , 1F
03/23 09:32, 1F
→
03/23 11:57, , 2F
03/23 11:57, 2F
→
03/23 11:58, , 3F
03/23 11:58, 3F
→
03/23 12:00, , 4F
03/23 12:00, 4F
→
03/23 12:00, , 5F
03/23 12:00, 5F
james732大大您說的方式 好像跟我想要的程式結果不太一樣
照您所說的方式 年齡輸入不同的話 會變成這樣 例如 18歲 40元 73歲 12元
但是我是想要 18歲 40元 73歲 52元
arcred大大您說的 input 跟 output 就可以猜到錯在哪了
可以麻煩您在講解清楚點嗎? 現在的我太菜了 看不太出來
※ 編輯: tony80720 來自: 61.60.254.9 (03/23 22:56)
→
03/23 23:00, , 6F
03/23 23:00, 6F
推
03/23 23:34, , 7F
03/23 23:34, 7F
→
03/23 23:35, , 8F
03/23 23:35, 8F
推
03/23 23:40, , 9F
03/23 23:40, 9F
→
03/23 23:41, , 10F
03/23 23:41, 10F
→
03/23 23:42, , 11F
03/23 23:42, 11F
→
03/23 23:43, , 12F
03/23 23:43, 12F
hatasum大大adultticket為啥要++? 這個想法我是想說要累計有幾張成人票
之後再乘以成人票價格 這個想法有問題嗎?
※ 編輯: tony80720 來自: 61.60.254.9 (03/24 02:22)
推
03/24 03:24, , 13F
03/24 03:24, 13F
int oldticket = 0, childticket = 0;
Console.WriteLine("請輸入欲購買總張數:");
amount = int.Parse(Console.ReadLine());
int[] age = new int[amount];
for (int i = 0 ; i < amount; i++ )
{
Console.WriteLine("請輸入欲購買者年齡:");
age[i] = int.Parse(Console.ReadLine());
if (age[i] > 65)
{
Console.WriteLine("購買者為老人以老人票計");
oldticket = oldticket + 1;
}
else (age[i] < 18)
{
Console.WriteLine("購買者為兒童以兒童票計");
childticket = childticket + 1;
}
else
{
Console.WriteLine("購買者為成人以成人票計");
adultticket = adultticket + 1;
}
Console.WriteLine(oldticket);
Console.WriteLine(adultticket);
Console.WriteLine(childticket);
}
請問這是您說的INPUT、OUTPUT嗎?
PS.我已經照您的方法寫出正確的跑法了 不過還是有點不懂您說的INPUT OUTPUT
謝謝您
※ 編輯: tony80720 來自: 61.60.254.9 (03/24 10:23)
推
03/24 11:49, , 14F
03/24 11:49, 14F
→
03/24 11:49, , 15F
03/24 11:49, 15F
→
03/24 11:53, , 16F
03/24 11:53, 16F
→
03/24 22:55, , 17F
03/24 22:55, 17F
推
04/06 01:04, , 18F
04/06 01:04, 18F
→
04/06 01:04, , 19F
04/06 01:04, 19F