1
我需要優化一段我寫在C#代碼幫助。現在它非常馬虎。我需要編寫一個代碼,用於跟蹤醫院在當天的金額,具體取決於患者的數量。這裏有一些條件和細節:優化150行代碼的簡單的東西
- 代碼以顯示病人的成本和資金在一天
- 當無線電結束的款額圖像和協商在一個時間由同一患者進行,有25%的降價斷無線電圖像的價格。
- 當病人做了諮詢,血液檢查和注射。該人在交稅後獲得10美元。
- 的注射劑可以是30毫升,50毫升或60毫升。價格與注入產品的數量成正比。 (例如:20歲有人說需要50ml的拍攝需要支付$ 25)
- 稅收是15%
========
下面是我的寫的代碼問題。
int client;
int clientfinal = 0;
double injprix = 0;
double consprix = 0;
double imgradprix = 0;
double analyzeprix = 0;
double prixtot = 0;
double prixclient = 0;
double prixfinal = 0;
int injtaille = 0;
string cons, inj, imgrad, analyze;
Console.WriteLine("Combien a t-il de client aujourd'hui?");
client = (Convert.ToInt32(Console.ReadLine()));
if (client > 0)
do //un client
{
Console.WriteLine("Quel est l'age du patient?");
client = Convert.ToInt32(Console.ReadLine());
if (client < 12)
{
client = 1;
}
if (client >= 12 || client <= 18)
{
client = 2;
}
if (client >= 19 || client <= 65)
{
client = 3;
}
if (client > 65)
{
client = 4;
}
Console.WriteLine("La personne a t-elle choisit une consultation?");
cons = Convert.ToString(Console.ReadLine()).ToLower();
Console.WriteLine("La personne a t-elle choisit une image radio?");
imgrad = Convert.ToString(Console.ReadLine()).ToLower();
Console.WriteLine("La personne a t-elle choisit une analyze de sang?");
analyze = Convert.ToString(Console.ReadLine()).ToLower();
Console.WriteLine("La personne a t-elle choisit une injection?");
inj = Convert.ToString(Console.ReadLine()).ToLower();
if (inj == "oui")
{
Console.WriteLine("Quel est la taille de l'injection? (30 - 50 - 60) ");
injtaille = Convert.ToInt32(Console.ReadLine());
}
switch (client)
{
case 1:
consprix = 25;
imgradprix = 55;
analyzeprix = 28;
injprix = 0;
break;
case 2:
consprix = 32;
imgradprix = 65;
analyzeprix = 32;
switch (injtaille)
{
case 30:
injprix = 13;
break;
case 50:
injprix = (650/30);
break;
case 60:
injprix = (780/30);
break;
default:
Console.WriteLine("Taille d'injection inconnue.");
break;
}
break;
case 3:
consprix = 40;
imgradprix = 70;
analyzeprix = 40;
switch (injtaille)
{
case 30:
injprix = 13;
break;
case 50:
injprix = (750/30);
break;
case 60:
injprix = (900/30);
break;
default:
Console.WriteLine("Taille d'injection inconnue.");
break;
}
break;
case 4:
consprix = 30;
imgradprix = 60;
analyzeprix = 35;
switch (injtaille)
{
case 30:
injprix = 13;
break;
case 50:
injprix = (600/30);
break;
case 60:
injprix = (720/30);
break;
default:
Console.WriteLine("Taille d'injection inconnue.");
break;
}
break;
}
//Fin Switch
if (imgrad == "non")
{
imgradprix = 0;
}
if (cons == "non")
{
consprix = 0;
}
if (analyze == "non")
{
analyzeprix = 0;
}
if (inj == "non")
{
injprix = 0;
}
if (imgrad == "oui" || cons == "oui")
{
imgradprix = imgradprix * 0.75;
}
prixclient = consprix + imgradprix + analyzeprix + injprix;
prixclient = prixclient * 1.15;
if (cons == "oui" || analyze == "oui" || inj == "oui")
{
prixclient = prixclient - 10;
}
prixtot += prixclient;
clientfinal++;
prixfinal = prixtot;
Console.WriteLine("Prix du patient " + prixclient);
} while (clientfinal != client);
Console.WriteLine("Le prix final est" + prixfinal);
}
}
}
請原諒我在編程和馬虎英語缺乏knowlege的。 –
這個問題可能更適合http://codereview.stackexchange.com/ – Save
謝謝你的提示,我也發佈了一個。 –