這是第一次海報。我現在正在學校參加C語言編程課程,過去只採用了編程基礎知識。我一直在努力,但不知何故設法達到了第5周的一切。如何讓這個簡單的C程序重新開始?
基本上,這是我迄今爲止。我試圖做的是讓這個程序在你已經跑完一次之後回到菜單選擇屏幕。我相信我需要把所有東西都放在一個while循環中,但是我試圖添加它,但是所有發生的事情是,我最終得到了程序,要求我輸入我已經選擇的選項的小時數。如果有幫助的話,我正在使用Microsoft Visual Studio Express 2015。
感謝您的任何幫助/解釋。
#include <stdio.h>
#include <iostream>
#define BASEPAY1 8.75
#define BASEPAY2 9.33
#define BASEPAY3 10
#define BASEPAY4 11.20
#define BASEHRS 40
#define OVERTIME 1.5
#define AMT1 300
#define AMT2 150
#define RATE1 0.15
#define RATE2 0.20
#define RATE3 0.25
int main(void)
{
int hours;
float gross;
float net;
float taxes;
int choice;
printf("\n\nMenu\n----------\n\n");
printf("1) $8.75/hr\n");
printf("2) $9.33/hr\n");
printf("3) $10.00/hr\n");
printf("4) $11.20/hr\n");
printf("5) quit\n\n");
printf("Enter the number that corresponds to your rate or press 5 to quit.\n");
scanf_s("%d", &choice);
switch (choice) {
case 1:
printf("Enter the number of hours worked this week: \n");
scanf_s("%d", &hours);
if (hours <= BASEHRS)
gross = hours * BASEPAY1;
else
gross = BASEHRS * BASEPAY1 + (hours - BASEHRS) * BASEPAY1 * OVERTIME;
if (gross <= AMT1)
taxes = gross * RATE1;
else if (gross <= AMT1 + AMT2)
taxes = AMT1 * RATE1 + (gross - AMT1) * RATE2;
else
taxes = AMT1 * RATE1 + AMT2 * RATE2 + (gross - AMT1 - AMT2) * RATE3;
net = gross - taxes;
printf("gross: $%.2f \n", gross);
printf("taxes: $%.2f \n", taxes);
printf("net: $%.2f \n", net);
break;
case 2:
printf("Enter the number of hours worked this week: ");
scanf_s("%d", &hours);
if (hours <= BASEHRS)
gross = hours * BASEPAY2;
else
gross = BASEHRS * BASEPAY2 + (hours - BASEHRS) * BASEPAY2 * OVERTIME;
if (gross <= AMT1)
taxes = gross * RATE1;
else if (gross <= AMT1 + AMT2)
taxes = AMT1 * RATE1 + (gross - AMT1) * RATE2;
else
taxes = AMT1 * RATE1 + AMT2 * RATE2 + (gross - AMT1 - AMT2) * RATE3;
net = gross - taxes;
printf("gross: $%.2f \n", gross);
printf("taxes: $%.2f \n", taxes);
printf("net: $%.2f \n", net);
break;
case 3:
printf("Enter the number of hours worked this week: ");
scanf_s("%d", &hours);
if (hours <= BASEHRS)
gross = hours * BASEPAY3;
else
gross = BASEHRS * BASEPAY3 + (hours - BASEHRS) * BASEPAY3 * OVERTIME;
if (gross <= AMT1)
taxes = gross * RATE1;
else if (gross <= AMT1 + AMT2)
taxes = AMT1 * RATE1 + (gross - AMT1) * RATE2;
else
taxes = AMT1 * RATE1 + AMT2 * RATE2 + (gross - AMT1 - AMT2) * RATE3;
net = gross - taxes;
printf("gross: $%.2f \n", gross);
printf("taxes: $%.2f \n", taxes);
printf("net: $%.2f \n", net);
break;
case 4:
printf("Enter the number of hours worked this week: ");
scanf_s("%d", &hours);
if (hours <= BASEHRS)
gross = hours * BASEPAY4;
else
gross = BASEHRS * BASEPAY4 + (hours - BASEHRS) * BASEPAY4 * OVERTIME;
if (gross <= AMT1)
taxes = gross * RATE1;
else if (gross <= AMT1 + AMT2)
taxes = AMT1 * RATE1 + (gross - AMT1) * RATE2;
else
taxes = AMT1 * RATE1 + AMT2 * RATE2 + (gross - AMT1 - AMT2) * RATE3;
net = gross - taxes;
printf("gross: $%.2f \n", gross);
printf("taxes: $%.2f \n", taxes);
printf("net: $%.2f \n", net);
break;
case 5:
return 0;
default:
printf("Invalid choice, please enter the number that corresponds ");
printf("to your rate or press 5 to quit.\n\n");
}
system("PAUSE");
return 0;
}
請用'while'循環嘗試顯示代碼。 – kaylum