我已经为作业编写了代码,但我需要朝着正确的方向推动
I've made a code for a assignment but i need a push in the right direction
我需要你的指导来完成这项作业:
在可容纳 500 名观众的 TEC Ballerup 体育场,足球比赛每周日 10:00 进行。参加比赛的是业余爱好者,看比赛要花钱。成人和儿童以及非俱乐部会员的观众均可进入(俱乐部会员可享受 10% 的折扣!)儿童票 30 丹麦克朗。成人票 65 丹麦克朗。儿童只能在成人陪同下进入.先输入多少张成人票,再输入多少张儿童票。必须有一个好的指南,这样程序的用户才不会对输入的内容产生疑问。
一个。计算并显示价格后,程序必须询问您是否是俱乐部协会组的成员。在这里你可以回答是或否。
b。如果您是会员,您将获得 10% 的折扣。打印折扣。
c。必须有两个循环(每次输入一个票数)这样您最多可以订购10张儿童票和10张成人票。
d。制作一份打印输出,同时说明您总共购买了多少张门票。所以儿童票和成人票一起买。
e。一些外国观众愿意用欧元支付。修改程序,使其也能以欧元打印总价。期待此刻的课程。是 757.34。请确保四舍五入为整个欧元,因为我们不能以外币形式退还。
f。添加日期,以便应用程序始终在屏幕右上角打印当前日期
到目前为止我已经编码了:
int maxNumber = 500;
int revenueSum = 0;
string adultBillet;
string childrenBillet;
int numberOrdered;
string numberOrderedString;
// How many adult tickets?
Console.WriteLine ("number of adult tickets");
Console.Write ("how many do you want?");
adultBillet = Console.ReadLine ();
// how many child tickets?
Console.WriteLine ("number of child tickets");
Console.Write ("how many do you want?");
childrenBillet = Console.ReadLine ();
String selection = "1";
while (choice! = "9")
{
Console.WriteLine ("How many adult tickets do you want ??");
numberOrdered = Convert.ToInt32 (Console.ReadLine ());
if (numberOrdered == 0)
{
Console.WriteLine ("You will need to purchase at least 1 ticket.");
}
else if (number Ordered> 10)
{
Console.WriteLine ("maximum number of adult tickets is 10.");
}
else if (numberOrdered> maxNumber)
{
Console.WriteLine ($ "Only {quantityOrder} left");
}
else
{
Console.WriteLine ($ "You have decided to purchase {number of Ordered} adult tickets");
}
Console.WriteLine ("are you a club member?");
Console.WriteLine ("please answer YES or NO");
String Club MemberReply = Console.ReadLine (). ToUpper ();
if (Club Member Answer == "YES")
{
Console.Write (numberOrdered * 65 * 0.9);
}
else if (Club MemberReply == "NO")
{
Console.Write(AmountofTickets * 65);
}
else
{
Console.WriteLine("Invalid answer");
我不知道现在该怎么办?到处都是,但是我想我需要一个成人票和儿童票的循环以及总共有多少张票以及欧元和丹麦克朗,最后是日期
我根据你的要求给你做了一个demo,供你参考。
您可以先使用以下代码设置控制台的大小。
Console.SetWindowSize(100, 50);
Console.SetBufferSize(100, 50);
用这个来输出日期
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
使用int.TryParse
防止用户输入错误信息。
主要有两个周期,大周期购买成人票,小周期购买儿童票。
判断条件更简单。输入指定字符视为是,否则视为否。
下面是我的代码:
using System;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
double adultPrice = 65, kidPrice = 30, totalPrices = 0;
int tmpTickets = 0, adultTickets = 0, kidsTickets = 0, totalTickets = 0, EurPrices = 0;
bool adultSuccess = false, kidSuccess = false;
Console.SetWindowSize(100, 50);
Console.SetBufferSize(100, 50);
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
Console.WriteLine("Welcome Ticket Mall!\n" +
"AdultPrice 65 DKK,childrenPrice 30 DKK.\n" +
"You can order a maximum of 10 children's tickets and 10 adult tickets.\n" +
"A child enters with an adult, so the child ticket cannot be larger than the adult ticket.");
while (!adultSuccess)
{
Console.WriteLine("Please enter the number of adult tickets.");
if (adultSuccess = int.TryParse(Console.ReadLine(), out tmpTickets))
{
if (tmpTickets < 0 || tmpTickets > 10)
{
Console.WriteLine("input error!please enter again!");
adultSuccess = false;
}
else if (tmpTickets == 0)
{
Console.WriteLine("Thanks for using, bye.");
}
else
{
adultTickets = tmpTickets;
Console.WriteLine("Do you need to buy a child ticket?\n" +
"Enter 'Y' or 'y' to go to the next step.");
string tmp = Console.ReadLine();
if (tmp != "Y" && tmp != "y")
{
break;
}
else
{
while (!kidSuccess)
{
Console.WriteLine("Please enter the number of kids tickets.");
if (kidSuccess = int.TryParse(Console.ReadLine(), out tmpTickets))
{
if (tmpTickets < 0 || tmpTickets > adultTickets)
{
Console.WriteLine("input error!please enter again!");
kidSuccess = false;
}
else
{
kidsTickets = tmpTickets;
}
}
}
}
}
}
}
Console.Clear();
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
totalPrices = adultTickets * adultPrice + kidsTickets * kidPrice;
totalTickets = adultTickets + kidsTickets;
Console.WriteLine($"You have decided to purchase {adultTickets} adult tickets {kidsTickets} kid tickets\n" +
$"Total {totalTickets} tickets , {totalPrices} DKK ");
Console.WriteLine("are you a club member?\n" +
"Enter 'Y' or 'y' as a member.");
var tmp2 = Console.ReadLine();
if (tmp2 != "Y" && tmp2 != "y")
{
//1 Danish Krone is equal to 0.13 EUR now
EurPrices = Convert.ToInt32(totalPrices * 0.13);
Console.WriteLine($"You need to pay {totalPrices} DKK or {EurPrices} EUR! ");
}
else
{
totalPrices = totalPrices * 0.9;
EurPrices = Convert.ToInt32(totalPrices * 0.13);
Console.WriteLine($"As a member! You need to pay {totalPrices} DKK or {EurPrices} EUR !");
}
//Pause
Console.ReadLine();
}
}
}
这是我的演示截图:
我需要你的指导来完成这项作业:
在可容纳 500 名观众的 TEC Ballerup 体育场,足球比赛每周日 10:00 进行。参加比赛的是业余爱好者,看比赛要花钱。成人和儿童以及非俱乐部会员的观众均可进入(俱乐部会员可享受 10% 的折扣!)儿童票 30 丹麦克朗。成人票 65 丹麦克朗。儿童只能在成人陪同下进入.先输入多少张成人票,再输入多少张儿童票。必须有一个好的指南,这样程序的用户才不会对输入的内容产生疑问。
一个。计算并显示价格后,程序必须询问您是否是俱乐部协会组的成员。在这里你可以回答是或否。
b。如果您是会员,您将获得 10% 的折扣。打印折扣。
c。必须有两个循环(每次输入一个票数)这样您最多可以订购10张儿童票和10张成人票。
d。制作一份打印输出,同时说明您总共购买了多少张门票。所以儿童票和成人票一起买。
e。一些外国观众愿意用欧元支付。修改程序,使其也能以欧元打印总价。期待此刻的课程。是 757.34。请确保四舍五入为整个欧元,因为我们不能以外币形式退还。
f。添加日期,以便应用程序始终在屏幕右上角打印当前日期
到目前为止我已经编码了:
int maxNumber = 500;
int revenueSum = 0;
string adultBillet;
string childrenBillet;
int numberOrdered;
string numberOrderedString;
// How many adult tickets?
Console.WriteLine ("number of adult tickets");
Console.Write ("how many do you want?");
adultBillet = Console.ReadLine ();
// how many child tickets?
Console.WriteLine ("number of child tickets");
Console.Write ("how many do you want?");
childrenBillet = Console.ReadLine ();
String selection = "1";
while (choice! = "9")
{
Console.WriteLine ("How many adult tickets do you want ??");
numberOrdered = Convert.ToInt32 (Console.ReadLine ());
if (numberOrdered == 0)
{
Console.WriteLine ("You will need to purchase at least 1 ticket.");
}
else if (number Ordered> 10)
{
Console.WriteLine ("maximum number of adult tickets is 10.");
}
else if (numberOrdered> maxNumber)
{
Console.WriteLine ($ "Only {quantityOrder} left");
}
else
{
Console.WriteLine ($ "You have decided to purchase {number of Ordered} adult tickets");
}
Console.WriteLine ("are you a club member?");
Console.WriteLine ("please answer YES or NO");
String Club MemberReply = Console.ReadLine (). ToUpper ();
if (Club Member Answer == "YES")
{
Console.Write (numberOrdered * 65 * 0.9);
}
else if (Club MemberReply == "NO")
{
Console.Write(AmountofTickets * 65);
}
else
{
Console.WriteLine("Invalid answer");
我不知道现在该怎么办?到处都是,但是我想我需要一个成人票和儿童票的循环以及总共有多少张票以及欧元和丹麦克朗,最后是日期
我根据你的要求给你做了一个demo,供你参考。
您可以先使用以下代码设置控制台的大小。
Console.SetWindowSize(100, 50);
Console.SetBufferSize(100, 50);
用这个来输出日期
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
使用int.TryParse
防止用户输入错误信息。
主要有两个周期,大周期购买成人票,小周期购买儿童票。
判断条件更简单。输入指定字符视为是,否则视为否。
下面是我的代码:
using System;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
double adultPrice = 65, kidPrice = 30, totalPrices = 0;
int tmpTickets = 0, adultTickets = 0, kidsTickets = 0, totalTickets = 0, EurPrices = 0;
bool adultSuccess = false, kidSuccess = false;
Console.SetWindowSize(100, 50);
Console.SetBufferSize(100, 50);
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
Console.WriteLine("Welcome Ticket Mall!\n" +
"AdultPrice 65 DKK,childrenPrice 30 DKK.\n" +
"You can order a maximum of 10 children's tickets and 10 adult tickets.\n" +
"A child enters with an adult, so the child ticket cannot be larger than the adult ticket.");
while (!adultSuccess)
{
Console.WriteLine("Please enter the number of adult tickets.");
if (adultSuccess = int.TryParse(Console.ReadLine(), out tmpTickets))
{
if (tmpTickets < 0 || tmpTickets > 10)
{
Console.WriteLine("input error!please enter again!");
adultSuccess = false;
}
else if (tmpTickets == 0)
{
Console.WriteLine("Thanks for using, bye.");
}
else
{
adultTickets = tmpTickets;
Console.WriteLine("Do you need to buy a child ticket?\n" +
"Enter 'Y' or 'y' to go to the next step.");
string tmp = Console.ReadLine();
if (tmp != "Y" && tmp != "y")
{
break;
}
else
{
while (!kidSuccess)
{
Console.WriteLine("Please enter the number of kids tickets.");
if (kidSuccess = int.TryParse(Console.ReadLine(), out tmpTickets))
{
if (tmpTickets < 0 || tmpTickets > adultTickets)
{
Console.WriteLine("input error!please enter again!");
kidSuccess = false;
}
else
{
kidsTickets = tmpTickets;
}
}
}
}
}
}
}
Console.Clear();
Console.CursorLeft = Console.BufferWidth - 10;
Console.Write("{0}\n", DateTime.Now.ToString("yyyy-MM-dd"));
totalPrices = adultTickets * adultPrice + kidsTickets * kidPrice;
totalTickets = adultTickets + kidsTickets;
Console.WriteLine($"You have decided to purchase {adultTickets} adult tickets {kidsTickets} kid tickets\n" +
$"Total {totalTickets} tickets , {totalPrices} DKK ");
Console.WriteLine("are you a club member?\n" +
"Enter 'Y' or 'y' as a member.");
var tmp2 = Console.ReadLine();
if (tmp2 != "Y" && tmp2 != "y")
{
//1 Danish Krone is equal to 0.13 EUR now
EurPrices = Convert.ToInt32(totalPrices * 0.13);
Console.WriteLine($"You need to pay {totalPrices} DKK or {EurPrices} EUR! ");
}
else
{
totalPrices = totalPrices * 0.9;
EurPrices = Convert.ToInt32(totalPrices * 0.13);
Console.WriteLine($"As a member! You need to pay {totalPrices} DKK or {EurPrices} EUR !");
}
//Pause
Console.ReadLine();
}
}
}
这是我的演示截图: