




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計(jì)報(bào)告飯卡管理程序完成日期:2009年12月【題目描述】該程序?yàn)轱埧ü芾沓绦?,具有下列功能?1) 錄入某位持卡人的基本信息。教師:職工號、姓名、院系、金額;學(xué)生:學(xué)號、姓名、院系、金額;隨機(jī)分配一個(gè)密碼,分配一個(gè)卡號。(2) 給定卡號,顯示此卡的基本信息;(3) 給定卡號,修改密碼或查詢密碼;(4) 給定卡號,修改持卡人信息;(5) 給定卡號,查詢余額或加錢; (6) 給定卡號,輸入密碼后,若余額充足即可消費(fèi);(7) 掛失處理;給定卡號或職工號(學(xué)號)等信息進(jìn)行掛失處理,掛失處理后能查到該卡號,但顯示“該卡已掛失”信息。(8) 刪除處理;給定卡號或職工號(學(xué)號),對該卡進(jìn)行刪除處
2、理;刪除處理后無法找到該卡號。(9) 提供一些統(tǒng)計(jì)各類信息的功能??山y(tǒng)計(jì)當(dāng)前教師、學(xué)生持卡人數(shù);當(dāng)前已掛失卡卡號;當(dāng)前卡中余額少于10元的卡號,并顯示其余額?!居脩粑臋n】應(yīng)用程序功能詳細(xì)說明1、進(jìn)入操作菜單。按照菜單提示選擇需要的操作。選擇09號,若超出該范圍,系統(tǒng)將提示警告信息,且切回到主菜單。若需退出系統(tǒng)選擇0。每項(xiàng)操作執(zhí)行完畢,將出現(xiàn)是否返回原菜單的提示信息,選擇是將返回主菜單,選擇否將返回該項(xiàng)操作的選擇菜單。2、錄入持卡人信息:該程序可分別管理教師學(xué)生各100人。持卡人分教師卡和學(xué)生兩種,進(jìn)入錄入界面后,用戶按菜單選擇卡的類別。之后按照程序提示的文本格式及長度要求,按順序依次輸入教師號
3、(學(xué)生號)、姓名、院系及金額。超出允許的范圍,系統(tǒng)可能出現(xiàn)運(yùn)行錯(cuò)誤。查詢飯卡基本信息:進(jìn)入查詢界面,輸入卡號,即可顯示持卡人的卡號、姓名、教師號(學(xué)生號)、院系、卡上金額。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。修改或查詢密碼:進(jìn)入密碼編輯界面,輸入卡號,將會(huì)顯示出命令選擇菜單。根據(jù)提示選擇希望進(jìn)行的操作。密碼修改成功后,系統(tǒng)會(huì)給出密碼修改成功信息。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。修改個(gè)人信息:進(jìn)入修改界面輸入卡號,系統(tǒng)將逐項(xiàng)詢問是否要修改該項(xiàng)信息,選擇是即可修改,選擇否,將跳轉(zhuǎn)到下一條信息修改。修改信息的格式及長度要求與錄入相同。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。飯卡加錢或查詢余額:
4、進(jìn)入余額操作界面,輸入卡號,根據(jù)屏幕提示選擇需要的操作。加錢成功后系統(tǒng)會(huì)顯示成功操作信息。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。處理消費(fèi)信息:進(jìn)入消費(fèi)界面,按照提示輸入卡號以及消費(fèi)金額,系統(tǒng)會(huì)提示輸入密碼。若密碼正確,則顯示消費(fèi)成功信息,并從賬戶中扣除相應(yīng)余額,若密碼錯(cuò)誤,系統(tǒng)將警告密碼錯(cuò)誤,并返回主菜單。若消費(fèi)金額超出余額范圍,則系統(tǒng)提示余額不足信息,消費(fèi)不成功并返回主菜單。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。掛失:進(jìn)入掛失界面,根據(jù)系統(tǒng)提示選擇輸入卡號或輸入教師號(學(xué)生號)進(jìn)行操作。若正確輸入相應(yīng)卡號系統(tǒng)將確認(rèn)是否掛失,選擇是則掛失成功。掛失后若進(jìn)行以上各項(xiàng)操作以及刪除操作,系統(tǒng)均將提示
5、已掛失信息,并無法進(jìn)行操作。若輸入卡號不存在,系統(tǒng)將提示卡號錯(cuò)誤。刪除:進(jìn)入刪除界面,根據(jù)菜單提示選擇輸入卡號還是教師號(學(xué)生號),輸入相應(yīng)號碼,系統(tǒng)將詢問是否要?jiǎng)h除該號碼。選擇是,則提示該卡刪除成功,選擇否,將返回主菜單。若輸入的號碼不存在,系統(tǒng)將提示號碼錯(cuò)誤并返回主菜單。刪除后,該卡在系統(tǒng)中將不能被查出。統(tǒng)計(jì)其他信息:進(jìn)入統(tǒng)計(jì)界面,根據(jù)菜單選擇需要進(jìn)行哪項(xiàng)統(tǒng)計(jì)。選擇1,將統(tǒng)計(jì)出當(dāng)前教師及學(xué)生的持卡人數(shù);選擇2,將統(tǒng)計(jì)出當(dāng)前所有掛失卡卡號;選擇3,將統(tǒng)計(jì)出當(dāng)前卡中余額不足10元的卡號及相應(yīng)余額。應(yīng)用程序運(yùn)行環(huán)境的要求或Win-tc環(huán)境下均可運(yùn)行。應(yīng)用程序的安裝與啟動(dòng)方法將程序源代碼置入或Wi
6、n-tc中,運(yùn)行程序?;蛑苯与p擊運(yùn)行.exe格式的可執(zhí)行文件運(yùn)行該程序。程序的界面、交互方式和操作方法以下是程序運(yùn)行后的主菜單操作界面。按照系統(tǒng)的詢問,選擇需要的操作。程序運(yùn)行過程中輸入命令完畢需鍵入回車鍵確認(rèn)。輸入數(shù)據(jù)類型、格式和內(nèi)容限制教師及學(xué)生的個(gè)人信息屬于結(jié)構(gòu)體型數(shù)據(jù);菜單選擇項(xiàng):整型數(shù)據(jù),只可輸入系統(tǒng)提供的選項(xiàng)代號;確認(rèn)選項(xiàng):字符型數(shù)據(jù),大小寫均可,只可輸入Y或N;教師號(學(xué)生號):整型數(shù)據(jù),只可輸入介于1000至9999間的整型數(shù)據(jù);姓名:字符型一維數(shù)組,姓氏與名字之間用空格隔開,少于20個(gè)字符;院系:字符型一維數(shù)組,院與系之間可用空格隔開,少于50個(gè)字符;金額:單精度實(shí)型數(shù)據(jù),精
7、確到分,可輸入介于至間的數(shù)據(jù);卡號、密碼:整型數(shù)據(jù),介于1000至9999之間隨機(jī)產(chǎn)生。應(yīng)用程序運(yùn)行中,用戶需要使用的交互命令名稱、功能和格式的詳細(xì)解決和示例數(shù)字選擇交互命令。以菜單為例,在操作界面中選下需要的操作所對應(yīng)的數(shù)字,按回車鍵,即可進(jìn)入相應(yīng)的操作界面。Y、N選擇交互命令。 當(dāng)系統(tǒng)詢問否是,選擇Y,鍵入回車即為是,選擇N鍵入回車即為否。如上圖,選擇Y回車,即返回主菜單;選擇N回車即不返回主菜單,繼續(xù)執(zhí)行該項(xiàng)操作?!炯夹g(shù)文檔】程序整體結(jié)構(gòu)以及各模塊功能描述程序整體分為10個(gè)模塊。分別為:菜單模塊函數(shù)原型:void displayMenu();函數(shù)功能:顯示并輸出主菜單;無返回值。注冊信息
8、模塊函數(shù)原型:void registing(tea T,stu S);函數(shù)功能:輸入持卡人基本信息;無返回值。i持卡人身份選項(xiàng),用于選擇持卡人身份;x用于記錄程序中中的字符量。查詢模塊函數(shù)原型:void searchInfo(tea T,stu S);函數(shù)功能:查詢持卡人基本信息;無返回值。number卡號,用于輸入卡號并在程序中查找該卡號;flag用于判斷該函數(shù)操作是否完畢; i教師循環(huán)控制變量; j學(xué)生循環(huán)控制變量。密碼操作模塊函數(shù)原型:void editpassword(tea T,stu S);函數(shù)功能:查詢或修改密碼;無返回值。c功能選項(xiàng),用于選擇修改密碼還是查詢密碼; number
9、卡號,用于輸入卡號并在程序中查找該卡號; flag用于判斷該函數(shù)操作是否完畢; i教師循環(huán)控制變量; j學(xué)生循環(huán)控制變量。信息修改模塊函數(shù)原型:void editinfo(tea T,stu S);函數(shù)功能:修改持卡人個(gè)人信息;無返回值。number卡號,用于輸入卡號并在程序中查找該卡號;flag用于判斷該函數(shù)操作是否完畢; i教師循環(huán)控制變量; j學(xué)生循環(huán)控制變量;decide用于確定是否進(jìn)行該項(xiàng)操作。余額操作模塊函數(shù)原型:void editmoney(tea T,stu S);函數(shù)功能:飯卡加錢或查詢余額;無返回值。c功能選項(xiàng),用于選擇加錢還是查詢余額; number卡號,用于輸入卡號并在
10、程序中查找該卡號; flag用于判斷該函數(shù)操作是否完畢; i教師循環(huán)控制變量; j學(xué)生循環(huán)控制變量; money用于記錄函數(shù)中要操作的錢數(shù)。消費(fèi)模塊函數(shù)原型:void editmealinfo(tea T,stu S);函數(shù)功能:處理消費(fèi)信息;無返回值。number卡號,用于輸入卡號并在程序中查找該卡號; money金額,用于輸入需要消費(fèi)的金額;flag用于判斷該函數(shù)操作是否完畢; i教師循環(huán)控制變量; j學(xué)生循環(huán)控制變量;password函數(shù)中用于記錄密碼。掛失模塊函數(shù)原型:void reportloss(tea T,stu S);函數(shù)功能:賬戶掛失注冊;無返回值。c功能選項(xiàng),用于選擇輸入卡
11、號還是教師號(學(xué)生號);i教師循環(huán)控制變量;j學(xué)生循環(huán)控制變量; number號碼,用于輸入號碼并在程序中查找是卡號還是教師號(學(xué)生號);decide確認(rèn)選擇,用于確認(rèn)是否確實(shí)要掛失;flag用于判斷該函數(shù)操作是否完畢。刪除模塊函數(shù)原型:void deleterecord(tea T,stu S);函數(shù)功能:刪除賬戶;無返回值。c功能選項(xiàng),用于選擇輸入卡號還是教師號(學(xué)生號); number號碼,用于輸入號碼并在程序中查找是卡號還是教師號(學(xué)生號);tn教師卡數(shù),用于程序中記錄教師卡數(shù)量;sn學(xué)生卡數(shù),用于程序中記錄學(xué)生卡數(shù)量;i教師循環(huán)控制變量;j學(xué)生循環(huán)控制變量;k循環(huán)控制變量,用于使教師
12、及學(xué)生卡號注銷的循環(huán)中;decide確認(rèn)選擇,用于確認(rèn)是否確實(shí)要掛失;flag用于判斷該函數(shù)操作是否完畢。統(tǒng)計(jì)模塊函數(shù)原型:void countotherinfo(tea T,stu S);函數(shù)功能:統(tǒng)計(jì)持卡人數(shù)、統(tǒng)計(jì)掛失卡信息、統(tǒng)計(jì)余額不足卡信息;無返回值。i教師循環(huán)控制變量;j學(xué)生循環(huán)控制變量;c功能選項(xiàng),用于程序中選擇想要統(tǒng)計(jì)的內(nèi)容。各模塊的主要算法和數(shù)據(jù)結(jié)構(gòu)解釋1)主函數(shù)結(jié)束開始執(zhí)行對應(yīng)函數(shù)choice=19清屏return0choice!=0 N Y N Y開始菜單模塊輸出主菜單結(jié)束 3)信息注冊模塊結(jié)束輸入學(xué)生信息輸入教師信息開始i=2i=1 N Y N Y 4)信息查詢模塊fla
13、g=0結(jié)束提示號碼錯(cuò)誤j+輸出學(xué)生信息number=scnumberjsn0jflag=0i+number=tcnumberitn開始0i N Y N 輸出教師信息 Y N Y N Y N Y N Y5)密碼操作模塊結(jié)束輸出號碼錯(cuò)誤輸出密碼輸入新密碼開始c=2flag=0c=1 N Y N Y N Y 6)信息修改模塊flag=0結(jié)束提示號碼錯(cuò)誤j+輸入學(xué)生信息number=scnumberjsn0jflag=0i+number=tcnumberitn開始0i N Y N 輸入教師信息 Y N Y N Y N Y N Y 7)余額操作模塊c=1 開始 Nc=2輸入卡號 Y Y Y 輸入卡號 輸
14、出加錢金額 輸出卡中余額flag=0結(jié)束輸出號碼錯(cuò)誤 N Y 8)消費(fèi)模塊flag=0結(jié)束提示號碼錯(cuò)誤j+輸入消費(fèi)金額及密碼number=scnumberjsn0jflag=0i+number=tcnumberitn開始0i N Y N 輸入消費(fèi)金額及密碼 Y N Y N Y N Y N Y 9)掛失模塊結(jié)束loss=1輸入學(xué)生號或教師號c=2輸入卡號loss=1開始c=1 N Y N Y 10)統(tǒng)計(jì)模塊輸出余額不足卡卡號及余額卡號結(jié)束輸出掛失卡卡號輸出教師卡及學(xué)生卡數(shù)量開始c=3c=2c=1 N Y N Y N Y選用的測試數(shù)據(jù)及測試結(jié)果信息注冊測試結(jié)果如下:信息查詢測試結(jié)果如下:密碼修改測
15、試結(jié)果如下:密碼查詢測試結(jié)果如下:信息修改測試結(jié)果如下:加錢測試結(jié)果如下:查詢余額測試結(jié)果如下:消費(fèi)測試結(jié)果如下:掛失測試結(jié)果如下:刪除測試結(jié)果如下:輸入號碼錯(cuò)誤測試結(jié)果如下:掛失后查詢基本信息測試結(jié)果如下:程序運(yùn)行環(huán)境以及有關(guān)信息該程序在windows XP操作系統(tǒng)中運(yùn)行成功,在此環(huán)境下運(yùn)行或Win-tc寫入源代碼均可?;蛑苯舆\(yùn)行.exe格式的可執(zhí)行文件。程序源代碼清單#include /*I/O函數(shù)*/#include /*字符串函數(shù)*/#include /*其它說明*/#include /*屏幕操作函數(shù)*/int sn=0; /*學(xué)生卡人數(shù)初始化*/int tn=0; /*教師卡人數(shù)初始
16、化*/typedef struct student /*定義學(xué)生卡數(shù)據(jù)結(jié)構(gòu)*/ int snumber; /*學(xué)號*/ int scnumber; /*學(xué)生卡號*/ char sname20; /*學(xué)生姓名數(shù)組*/ char scollege50; /*學(xué)生院系數(shù)組*/ float smoney; /*學(xué)生卡余額*/ int spassword; /*學(xué)生卡密碼*/ int sloss; /*學(xué)生卡掛失變量*/stu;typedef struct teacher /*定義教師卡數(shù)據(jù)結(jié)構(gòu)*/ int tnumber; /*教師號*/ int tcnumber; /*教師卡號*/ char tna
17、me20; /*教師姓名數(shù)組*/ char tcollege50; /*教師院系數(shù)組*/ float tmoney; /*教師卡余額*/ int tpassword; /*教師卡密碼*/ int tloss; /*教師卡掛失變量*/tea; void displayMenu(void); /*列菜單函數(shù)*/void registing(tea T,stu S); /*注冊函數(shù)*/void searchInfo(tea T,stu S); /*信息查找函數(shù)*/void editpassword(tea T,stu S); /*密碼修改或查詢函數(shù)*/void editinfo(tea T,stu
18、S); /*信息修改函數(shù)*/void editmoney(tea T,stu S); /*加錢或查詢余額函數(shù)*/void editmealinfo(tea T,stu S); /*就餐信息處理函數(shù)*/void reportloss(tea T,stu S); /*掛失函數(shù)*/ void deleterecord(tea T,stu S); /*賬戶刪除函數(shù)*/void countotherinfo(tea T,stu S); /*統(tǒng)計(jì)函數(shù)*/*主函數(shù)*/main() stu S100; /*學(xué)生結(jié)構(gòu)體數(shù)組*/ tea T100; /*教師結(jié)構(gòu)體數(shù)組*/ int choice; char x;
19、randomize(); /*初始化隨機(jī)數(shù)發(fā)生器*/ displayMenu(); /*顯示菜單*/ scanf(%d,&choice); /*輸入函數(shù)選擇*/ while(choice!=0) switch(choice) case 1: do registing(T,S); /*信息注冊*/ printf(Do you want to return to the menu?(Y or N):); getchar(); /*輸入是否返回主菜單*/ scanf(%c,&x); while(x=N|x=n); break; case 2: do searchInfo(T,S); /*信息查找*/
20、 printf(Do you want to return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 3: do editpassword(T,S); /*密碼修改或查詢*/ printf(Do you want to return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 4: do editinfo(T,S); /*信息修改*/ printf(Do you want t
21、o return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 5: do editmoney(T,S); /*飯卡加錢或查詢余額*/ printf(Do you want to return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 6: do editmealinfo(T,S); /*處理就餐信息*/ printf(Do you want to return to the
22、menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 7: do reportloss(T,S); /*掛失*/ printf(Do you want to return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; case 8: do deleterecord(T,S); /*刪除*/ printf(Do you want to return to the menu?(Y or N):); getchar()
23、; scanf(%c,&x); while(x=N|x=n); break; case 9: do countotherinfo(T,S); /*統(tǒng)計(jì)*/ printf(Do you want to return to the menu?(Y or N):); getchar(); scanf(%c,&x); while(x=N|x=n); break; default : printf(warning:wrong choice!Please enter the right choice.n); /*提示錯(cuò)誤信息*/ break; clrscr(); /*清屏*/ displayMenu();
24、 scanf(%d,&choice); return 0;/*主菜單*/void displayMenu() printf(n=MENU=n); printf(Input personal information.1n); /*輸入個(gè)人信息*/ printf(The basic information of the card.2n); /*飯卡基本信息*/ printf(Change or inquire the password.3n); /*修改或查詢密碼*/ printf(Change personal information.4n); /*修改個(gè)人信息*/ printf(Inquire
25、 balance or add money.5n); /*查詢余額或加錢*/ printf(Manage the dining information.6n); /*處理就餐信息*/ printf(Report the loss of the card.7n); /*掛失*/ printf(Delate process.8n); /*刪除*/ printf(Count other information.9n); /*統(tǒng)計(jì)其他信息*/ printf(Exit.0n); /*退出*/ printf(=n); printf(Please choose the service you want:(0
26、9); /*請選擇需要的服務(wù)*/*賬戶注冊*/void registing(tea T,stu S) int i; /*身份變量*/ char x; /*姓名*/ clrscr(); /*清屏*/ printf(=system of registing=n); printf(Please choose your positionn); printf(1-teachern); printf(2-studentn); printf(Please input your choice (1 or 2):); scanf(%d,&i); if(i=1) /*選擇教師*/ printf(Please in
27、put your teacher number(4 numbers):); scanf(%d,&Ttn.tnumber); /*輸入教師號*/ printf(Please input name(less than 20 letters):(Wang Ming); scanf(%c,&x); /*輸入姓名*/ gets(Ttn.tname); printf(Please input college information(less than 50 integers):(mechanic electricity)n); gets(Ttn.tcollege); /*輸入院系*/ printf(Ple
28、ase input the money(0.005000.00):); scanf(%f,&Ttn.tmoney); /*輸入金額*/ Ttn.tcnumber=random(8999)+1000; /*隨機(jī)分配卡號*/ printf(The card number is:%dn,Ttn.tcnumber); /*輸出卡號*/ Ttn.tpassword=random(8999)+1000; /*隨機(jī)分配密碼*/ printf(The password is:%dn,Ttn.tpassword); /*輸出密碼*/ Ttn.tloss=0; /*初始化掛失變量*/ tn+; /*教師卡數(shù)累加*
29、/ else if(i=2) /*選擇學(xué)生*/printf(Please input your school number(less than 4 numbers):);scanf(%d,&Ssn.snumber); /*輸入學(xué)生號*/ printf(Please input name(less than 20 integers):(Wang Ming); scanf(%c,&x); /*輸入姓名*/ gets(Ssn.sname); printf(Please input college information(less than 50 integers):(mechanic electri
30、city)n); gets(Ssn.scollege); /*輸入院系*/ printf(Please input the money(0.005000.00):); scanf(%f,&Ssn.smoney); /*輸入金額*/ Ssn.scnumber=random(8999)+1000; /*隨機(jī)分配卡號*/ printf(The card number is:%dn,Ssn.scnumber); /*輸出卡號*/ Ssn.spassword=random(8999)+1000; /*隨機(jī)分配密碼*/ printf(The password is:%dn,Ssn.spassword);
31、/*輸出密碼*/ Ssn.sloss=0; /*初始化掛失變量*/ sn+; /*學(xué)生卡數(shù)累加*/ /*信息查找*/void searchInfo(tea T,stu S) int number,flag=0; /*number記錄卡號、flag記錄查找是否結(jié)束*/ int i,j; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量*/ clrscr(); /*清屏*/ printf(=system of inquiring personal information=n); printf(Please enter your card number(4 numbers):); scanf(%d
32、,&number); /*輸入卡號*/ for(i=0;itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else printf(=information=n); /*輸出教師基本信息*/ printf(CardNumber: %dn,Ti.tcnumber); printf(Name: %sn,Ti.tname);
33、 printf(Teacher number: %dn,Ti.tnumber); printf(College: %sn,Ti.tcollege); printf(Money: %4.2fn,Ti.tmoney); flag=1; break; if(flag=0) for(j=0;jsn;j+) /*若為學(xué)生卡號*/ if(number=Sj.scnumber) if(Sj.sloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提
34、示掛失信息*/ else printf(=information=n); /*輸出學(xué)生基本信息*/ printf(CardNumber: %dn,Sj.scnumber); printf(Name: %sn,Sj.sname); printf(School number: %dn,Sj.snumber); printf(College: %sn,Sj.scollege); printf(Money: %4.2fn,Sj.smoney); flag=1; break; if(flag=0) /*若未找到該卡號*/ printf(=warning=n); /*提示卡號錯(cuò)誤*/ printf(Thi
35、s is a wrong number.n); /*密碼查詢或修改*/void editpassword(tea T,stu S) int number,flag=0; /*number記錄卡號、flag記錄掛失程序是否完成*/ int i,j,c; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量、c為命令選擇變量*/ clrscr(); /*清屏*/ printf(=system of changing/inquiring password=n); printf(Please enter the card number:); scanf(%d,&number); /*輸入卡號*/ pri
36、ntf(1-change the passwordn); /*修改密碼*/ printf(2-inquire the passwordn); /*查詢密碼*/ printf(Please choose the service you want:(1 or 2); scanf(%d,&c); /*選擇需要的操作*/ if(c=1) /*選擇修改密碼*/ for(i=0;itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go
37、to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(Please enter your new password:(00009999); scanf(%d,&Ti.tpassword); /*輸入新密碼*/ printf(The password is changed successfully.n); /*提示密碼修改成功信息*/ flag=1; break; if(flag=0) for(j=0;jsn;j+) if(number=Sj.scnumber) /*若為學(xué)生卡號*/ if(Sj.sloss
38、=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(Please enter your new password:(00009999); scanf(%d,&Sj.spassword); /*輸入新密碼*/ printf(The password is changed successfully.n); /*提示密碼修改成功信息*/ flag=1; break; else if(c=
39、2) /*選擇查詢密碼*/ for(i=0;itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(=password information=n); printf(password:%dn,Ti.tpassword); /*輸出密碼*/ flag=1; break; if(fla
40、g=0) for(j=0;jsn;j+) if(number=Sj.scnumber) /*若為學(xué)生卡號*/ if(Sj.sloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; ; /*提示掛失信息*/ else /*若未掛失*/ printf(=password information=n); printf(password:%dn,Sj.spassword); /*輸出密碼*/ flag=1; break; if(flag=0) /*
41、若未找到該卡號*/ printf(=password information=n); printf(It is a wrong number.n); /*提示卡號錯(cuò)誤*/ /*基本信息修改*/void editinfo(tea T,stu S) int i,j; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量*/ int number,flag=0; /*number記錄卡號、flag記錄修改程序是否完成*/ char decide; /*decide記錄是否更改*/ clrscr(); /*清屏*/ printf(=system of changing personal informat
42、ion=n); printf(Please enter your card number:(4 numbers); scanf(%d,&number); /*輸入卡號*/ getchar(); for(i=0;itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(=persona
43、l information=n); /*輸出可更改的基本信息*/ printf(Name: %sn,Ti.tname); printf(School number: %dn,Ti.tnumber); printf(College: %sn,Ti.tcollege); printf(Do you want to change your name?(Y or N):); /*是否更改姓名*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new name(less than 20 integ
44、ers):(Wang Ming); gets(Ti.tname); /*輸入新姓名*/ printf(Do you want to change your college?(Y or N):); /*是否更改院系*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new college:(less than 50 integers); gets(Ti.tcollege); /*輸入新院系*/ printf(Do you want to change your teacher number
45、?(Y or N):); /*是否更改教師號*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new teacher number(4 numbers):); scanf(%d,&Ti.tnumber); /*輸入新教師號*/ getchar(); flag=1; break; if(flag=0) for(j=0;jtn;j+) if(number=Sj.scnumber) /*若為學(xué)生卡號*/ if(Sj.sloss=1) /*若該卡已掛失*/ printf(This card i
46、s registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(=personal information=n); /*輸出可更改的基本信息*/ printf(Name: %sn,Sj.sname); printf(School number: %dn,Sj.snumber); printf(College: %sn,Sj.scollege); printf(Do you want to change your name?(Y or N):); /*是否更改
47、姓名*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new name(less than 20 integers):(Wang Hong); gets(Sj.sname); /*輸入新姓名*/ printf(Do you want to change your college?(Y or N):); /*是否更改院系*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new c
48、ollege:(less than 50 integers); gets(Sj.scollege); /*輸入新院系*/ printf(Do you want to change your school number?(Y or N):); /*是否更改學(xué)生號*/ scanf(%c,&decide); getchar(); if(decide=Y|decide=y) printf(Please enter your new school number:(09999); scanf(%d,&Sj.snumber); /*輸入新學(xué)生號*/ getchar(); flag=1; break; if(
49、flag=0) /*若未找到該卡號*/ printf(=warning=n); printf(It is a wrong number.n); /*提示卡號錯(cuò)誤*/ void editmoney(tea T,stu S) int i,j,c; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量、c為買命令選擇變量*/ int number,flag=0; /*number記錄卡號、flag記錄掛失程序是否完成*/ float money; /*加入錢數(shù)*/ clrscr(); /*清屏*/ printf(=system of adding/inquiring money=n); printf(
50、Please enter your card number:); scanf(%d,&number); /*輸入卡號*/ printf(1-Add moneyn); /*加錢*/ printf(2-Inquire the moneyn); /*查詢余額*/ printf(Please choose the service you want(1 or 2):); scanf(%d,&c); /*輸入需要的操作*/ if(c=1) /*若選擇加錢*/ for(i=0;itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*
51、/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(Please enter the amount of money you want to add:(0.005000.00); scanf(%f,&money); /*輸入需要加入的金額*/ Ti.tmoney+=money; printf(=information=n); printf(The money is successfully added.n)
52、; /*提示加錢成功*/ printf(The money in the card now:%4.2fn,Ti.tmoney); /*輸出現(xiàn)有余額*/ flag=1; break; if(flag=0) for(j=0;jsn;j+) if(number=Sj.scnumber) /*若為學(xué)生卡號*/ if(Sj.sloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(Ple
53、ase enter the amount of money you want to add:(0.005000.00); scanf(%f,&money); /*輸入需要加入的金額*/ Sj.smoney+=money; printf(=information=n); printf(The money is successfully added.n); /*提示加錢成功*/ printf(The money in the card now:%4.2fn,Sj.smoney); /*輸出現(xiàn)有余額*/ flag=1; break; else if(c=2) /*若選擇查詢余額*/ for(i=0;
54、itn;i+) if(number=Ti.tcnumber) /*若為教師卡號*/ if(Ti.tloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(=money information=n); printf(money:%4.2fn,Ti.tmoney); /*輸出卡中余額*/ flag=1; break; if(flag=0) for(j=0;jsn;j+) if(nu
55、mber=Sj.scnumber) /*若為學(xué)生卡號*/ if(Sj.sloss=1) /*若該卡已掛失*/ printf(This card is registed loss!nYou must go to the office to restart it.n); flag=1; /*提示掛失信息*/ else /*若未掛失*/ printf(=money information=n); printf(money: %4.2fn,Sj.smoney); /*輸出卡中余額*/ flag=1; break; if(flag=0) /*若未找到該卡號*/ printf(=warning=n); p
56、rintf(It is a wrong number.n); /*提示卡號錯(cuò)誤*/ /*處理就餐信息*/void editmealinfo(tea T,stu S) int i,j,password; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量、password為密碼*/ int number,flag=0; /*number記錄卡號、flag記錄掛失程序是否完成*/ float money; /*加入錢數(shù)*/ clrscr(); /*清屏*/ printf(=system of consumption=n); printf(Please enter the card number(4
57、 numbers):); scanf(%d,&number); /*輸入卡號*/ for(i=0;i=money) /*若余額充足*/ Ti.tmoney-=money; printf(=consumption information=n); printf(The money in the card now: %4.2fn,Ti.tmoney); /*顯示消費(fèi)后余額*/ flag=1; break; else /*若余額不足*/ printf(The money is not enough.You need to charge it.n); /*提示充值*/ flag=1; break; el
58、se /*若密碼錯(cuò)誤*/ printf(=warning=n); printf(Wrong password!n); /*提示密碼錯(cuò)誤*/ flag=1; break; if(flag=0) for(j=0;j=money) /*若余額充足*/ Sj.smoney-=money; printf(=consumption information=n); printf(The money in the card now: %4.2fn,Sj.smoney); /*顯示消費(fèi)后余額*/ flag=1; break; else /*若余額不足*/ printf(The money is not enou
59、gh.You need to charge it.n); /*提示充值*/ flag=1; break; else /*若密碼錯(cuò)誤*/ printf(=warning=n); printf(Wrong password!n); /*提示密碼錯(cuò)誤*/ flag=1; break; if(flag=0) /*若未找到該卡號*/ printf(=warning=n); printf(It is a wrong number.n); /*提示卡號錯(cuò)誤*/ /*掛失*/void reportloss(tea T,stu S) int i,j,c; /*i為控制教師的循環(huán)變量、j為控制學(xué)生的循環(huán)變量、c為
60、操作方法選項(xiàng)*/ int number,flag=0; /*number記錄卡號、flag記錄掛失程序是否完成*/ char decide; /*decide記錄是否更改*/ clrscr(); /*清屏*/ printf(=system of registing loss=n); printf(1-Enter card numbern); /*輸入卡號*/ printf(2-Enter school numbern); /*輸入教師號(學(xué)生號)*/ printf(Please enter the service you want(1 or 2):); scanf(%d,&c); if(c=1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包地土地租賃合同
- 鄉(xiāng)村旅游開發(fā)實(shí)施細(xì)則指南
- 擋土墻工程勞務(wù)承包合同
- 預(yù)制砼界碑施工方案
- 鏤空磚隔斷施工方案
- 遂寧雨水收集系統(tǒng)施工方案
- 四川球場拼裝地板施工方案
- 沙坪壩餐廳石膏板施工方案
- 瀝青站搬遷改造方案
- 青浦區(qū)遮陽停車棚施工方案
- 8 歌曲 《郵遞員叔叔來了》課件(13張內(nèi)嵌視頻)
- 網(wǎng)絡(luò)數(shù)據(jù)安全風(fēng)險(xiǎn)治理與防護(hù)項(xiàng)目需求說明
- GB/T 14020-2024氫化松香
- 中醫(yī)護(hù)理學(xué) 課件 模塊七 中醫(yī)護(hù)理操作 項(xiàng)目四麥粒灸技術(shù)
- 人教版八年級數(shù)學(xué)上冊教案全冊
- 人教版五年級上冊音樂《手拉手地球村》教學(xué)設(shè)計(jì)
- CH-T+8023-2011機(jī)載激光雷達(dá)數(shù)據(jù)處理技術(shù)規(guī)范
- 美團(tuán)眾包新的騎手協(xié)議來了
- 2024收銀系統(tǒng)合同
- 辦公樓裝飾施工組織設(shè)計(jì)裝飾裝修工程施工組織設(shè)計(jì)方案
- 山東管理學(xué)院聲樂題庫復(fù)習(xí)題
評論
0/150
提交評論