我花了兩週的時間讓我的程序正常工作,但我決定改變它,但我需要一些幫助,這個想法看起來不錯,但是當它編寫代碼的時候,我不知道在哪裏開始:(我希望程序用戶輸入他們的車牌號碼,然後在一天結束時管理員應該能夠看到每個客戶的所有車牌號碼以及他們的總數如下如何顯示存儲的信息?
客戶1 A1546 $ 20
我希望它能以相反的方式工作,管理員應該能夠輸入車牌號碼和信息應該顯示。我一直在想辦法做到這一點,唯一的辦法是我認爲可能的工作是將所有信息保存在文件中,然後程序讀取該文件e文件並顯示它?任何幫助將被真正讚賞。下面 代碼:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
/*Global Declarations*/
char chContinue = 'Y';
int Continue = 1;
int Total=1;
//************************************
//********DISCOUNT FUNCTION************
//************************************
int calculateDiscount(Total) {
char type;
int Total1;
int Discount;
printf("\nDo you have a pilot's licence?(Y/N)\n");
scanf("%c", &type);
while(getchar() != '\n') ;
if(type == 'Y' || type == 'y') {
Discount = Total * 0.1;
Total1= Total - Discount;
printf("\nYou are eligible for a discount\nYour new price is %d ^_^",Total1);
}
if(type == 'N' || type == 'n') {
printf("Thank you for parking here,please submit this ticket when leaving the compound");
}
return 0;
}
//************************************
//********LOOP Function****************
//************************************
void Lo_op (count,Total) {
//char chContinue;
char arrayname[6];
int Total2;
//int Continue=0;
printf("\nDo you wish to continue? (Y/N) ");
scanf("%c", &chContinue);
while(getchar() != '\n') ;
if (chContinue == 'Y'|| chContinue == 'y') {
Continue = 1;
}
else if (chContinue == 'N'|| chContinue == 'n') {
printf("enter pass\n");
scanf("%s", arrayname);
strcmp(arrayname,"admin");
printf ("\n>>>Welcome Administrator!<<<\nWhat would you like to do?");
/* printf("\n =========MENU===================\n| ");
printf(" A) Display Total People Parked Today| \n| ");
printf(" B) Display Today's Total | \n| ");
printf(" C) Exit Program | \n| ");
printf("======================================\n\n"); */
Continue = 2;
}
else {
printf("Invalid input!\n");
}
}
//************************************
//********Print Time Rates Function*****
//************************************
void Print_time() {
printf("\n(Choose a letter corresponding with your choice)\nHow long will you be parking at our facility?\n ");
printf("\n =========MENU===============\n| ");
printf(" A) 30 mins | \n| ");
printf(" B) 1 hour | \n| ");
printf(" C) 2 hours | \n| ");
printf(" D) 5 hours | \n| ");
printf(" E) 1 Day | \n| ");
printf(" F) Greater than 1 Day | \n| ");
printf("==========================\n\n");
}
//************************************
//********Print Choices For Cars********
//************************************
void Print_carlist() {
printf("\nChoose your type of vehicle\n===========================\n| ");
printf(" 1)Car |\n| ");
printf(" 2)SUV |\n| ");
printf(" 3)Bus |\n| ");
printf(" 4)Truck |\n===========================\n\n");
}
//************************************
//********The main function.************
//***Decide Calculate and Display*******
//************************************
int main() {
char choice;
int Total=1, vehicle, /*Discount*/ count=1; //, Continue = 0;
int Rate_A = 2, Rate_B = 4, Rate_C = 6, Rate_D = 8, Rate_E = 10, Rate_F = 12;
int Car_rate = 1, Suv_rate = 2, Bus_rate = 3, Truck_rate = 4;
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
printf ("The current date/time is: %s", asctime (timeinfo));
printf("HELLO AND WELCOME TO THE AUTOMATED PARKING TICKETING SYSTEM\n\nPLEASE FOLLOW THE INSTRUCTIONS ON THE SCREEN\n");
//Rates(); //Here the function is called.
srand(time(NULL));
while (Continue == 1) {
printf("\n You are parker number %d\n ",count);
Print_time();
scanf("%c",&choice);
while(getchar() != '\n') ;
switch (choice) {
case 'A':
Print_carlist();
scanf("%d",&vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for 30 mins.\n");
Total = Rate_A * Car_rate;
printf("------------------------------\nYour receipt number is A#%d\n", rand()); //generates random number for receipt
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for 30 mins.\n");
Total = Rate_A * Suv_rate;
printf("------------------------------\nYour receipt number is A#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for 30 mins.\n");
Total = Rate_A * Bus_rate;
printf("------------------------------\nYour receipt number is A#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for 30 mins.\n");
Total= Rate_A * Truck_rate;
printf("------------------------------\nYour receipt number is A#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
Lo_op (count,Total);
break;
case 'B':
Print_carlist();
scanf("%d", &vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for 1 hour.\n");
Total = Rate_B * Car_rate;
printf("------------------------------\nYour receipt number is B#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for 1 hour.\n");
Total = Rate_B * Suv_rate;
printf("------------------------------\nYour receipt number is B#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for 1 hour.\n");
Total = Rate_B * Bus_rate;
printf("------------------------------\nYour receipt number is B#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for 1 hour.\n");
Total=Rate_B*Truck_rate;
printf("------------------------------\nYour receipt number is B#%d\n", rand());
printf("You're total is %d",Total);
count=count+1;
Total=Total+1;
}
Lo_op();
break;
case 'C':
Print_carlist();
scanf("%d",&vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for 2 hours.\n");
Total = Rate_C * Car_rate;
printf("------------------------------\nYour receipt number is C#%d\n", rand());
printf("\nYou're total is %d", Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for 2hours .\n");
Total = Rate_C * Suv_rate;
printf("------------------------------\nYour receipt number is C#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for 2 hours .\n");
Total = Rate_C * Bus_rate;
printf("------------------------------\nYour receipt number is C#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for 2hours .\n");
Total = Rate_C * Truck_rate;
printf("------------------------------\nYour receipt number is C#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
Lo_op();
break;
case 'D':
Print_carlist();
scanf("%d", &vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for 5 hours.\n");
Total = Rate_D * Car_rate;
printf("------------------------------\nYour receipt number is D#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for 5 hours .\n");
Total = Rate_D * Suv_rate;
printf("------------------------------\nYour receipt number is D#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for 5 hours .\n");
Total = Rate_D * Bus_rate;
printf("------------------------------\nYour receipt number is D#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for 5 hours .\n");
Total = Rate_D * Truck_rate;
printf("------------------------------\nYour receipt number is D#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
count=count+1;
Total=Total+1;
}
Lo_op();
break;
case 'E':
Print_carlist();
scanf("%d",&vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for 1 day .\n");
Total = Rate_E * Car_rate;
printf("------------------------------\nYour receipt number is E#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for 1 day .\n");
Total = Rate_E * Suv_rate;
printf("------------------------------\nYour receipt number is E#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for 1 day .\n");
Total = Rate_E * Bus_rate;
printf("------------------------------\nYour receipt number is E#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for 1 day .\n");
Total = Rate_E * Truck_rate;
printf("------------------------------\nYour receipt number is E#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
Lo_op();
break;
case 'F':
Print_carlist();
scanf("%d", &vehicle);
while(getchar() != '\n') ; /* flush stdin ... */
if((vehicle != 1) && (vehicle != 2) && (vehicle != 3) && (vehicle != 4)) {
printf("Please follow instructions \n");
}
if(vehicle == 1) {
printf("You are parking your Car for more than one day.\n");
Total = Rate_F * Car_rate;
printf("------------------------------\nYour receipt number is F#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 2) {
printf("You are parking your SUV for more than one day.\n");
Total = Rate_F * Suv_rate;
printf("------------------------------\nYour receipt number is F#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 3) {
printf("You are parking your Bus for more than one day.\n");
Total = Rate_F * Bus_rate;
printf("------------------------------\nYour receipt number is F#%d\n", rand());
printf("You're total is %d,\nPlease submit this ticket when leaving the compound\n-------------------------------",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
if(vehicle == 4) {
printf("You are parking your Truck for more than one day.\n");
Total = Rate_F * Truck_rate;
printf("------------------------------\nYour receipt number is F#%d\n", rand());
printf("You're total is %d",Total);
calculateDiscount(Total);
count=count+1;
Total=Total+1;
}
Lo_op();
break;
default:
printf("\nSorry your choice is not valid, please enter the letter associated with your choice!\n");
break;
}
}
return 0;
}
將數據保存到文件可能是一個合理的選擇。用一個模糊的問題發佈數百行代碼,如「我該怎麼做?」恐怕不太好。 – 2011-03-07 02:59:55
感謝Jerry Coffin編輯我的文章和快速回復。我知道它有很多編碼,它的含義很模糊,但我需要的是一個小例子,讓我步入正確的步驟,以便繼續,而不是要求任何人爲我這樣做,因爲我想向你們學習/ gals :) – user647530 2011-03-07 03:11:31
是否有這個功課?通常一個隨機數字不會被認爲是唯一足以用作收據號碼的。 – 2011-03-07 03:42:14