【正文】
**/{int a,q。scanf(%s,s)。 case 3:printf(Please input the new age\n)。break。a)。 case 8:printf(Please input the new room_ID\n)。break。puts(\t\tPlease input the date)。scanf(%d,amp。amp。puts(What you want to do?\n)。int i,j。fclose(fp)。 } for(i=0。room[i].client_list[j].sex,amp。}(3)一個(gè)任務(wù)結(jié)束時(shí)的選擇瀏覽還是返回的函數(shù)printf_back()void printf_back(){int k,w。}(4)修改整條數(shù)據(jù)記錄函數(shù)modify_data(int i,int n)void printf_face()。}}while(c3||c1)。}puts(\nNow:\n)。}五.上機(jī)操作編譯出一個(gè)程序,需要上機(jī)運(yùn)行檢驗(yàn)程序是否正確,此外在上機(jī)過(guò)程中你可以思考一下該程序還有沒(méi)有其他的實(shí)現(xiàn)方案或者那些事可以更好的改進(jìn)的。鏈表、文件的定位、以及真正的vc操作技術(shù)。C不是最好,我們?cè)囍鴮⑺龅母?。得到了好多以后可以避免錯(cuò)誤的經(jīng)驗(yàn)。}while(w1==2)。case 3:menu()。if(c3||c1){puts(\nChoice error!please again!)。if(w==1)browse()。 r=i。room[i].price,amp。if((fp=fopen(,r))==NULL) {printf(\nCannot open file\n)。jp。 case 2:menu()。modify_s(m,n)。jr。b)。 case 11:modify()。scanf(%s,b)。room[i].client_list[j].date=a。 case 6:printf(Please input the new month\n)。scanf(%s,s)。room[i].client_list[j].sex=a。q)。break。 else printf(\nThere is no record here\n)。scanf(%s,s)。 switch(n){case 1:modify_one()。scanf(%d,amp。 }}(4)修改模塊[需求分析] 該模塊的功能是插入客戶記錄信息并且不能覆蓋原有客戶信息。if(w==0)printf(NO record this day\n)。ip。printf(\nMonth:)。switch(l){case 1:search_one()。jp。}}void search_one() /*****查找個(gè)人*****/{int i,j,w=0,l,m,n。 getchar()。puts(\t\t3).MENU())。printf(\ndate:%d\n,room[i].client_list[j].date)。 } }printf_p(int i,int j) /******顯示個(gè)人信息******/{printf(name:)。}printf(There are %d rooms in use,s)。 switch(l) {case 1:stat_o()。i++) for(j=0。 }}void stat_o() /*******統(tǒng)計(jì)人數(shù)******/{int j,i,n,l。 getchar()。puts(\t\t\t\t3).MENU())。 p=p+n。room[i].client_list[j].year)。room[i].client_list[j].sex)。room[i].price)。ir+m。[流程圖]:輸入用戶要輸入客戶記錄的個(gè)數(shù)ni從0到n1調(diào)用輸入函數(shù)input(i)i!=0保存調(diào)用函數(shù)save( n)Y 輸入模塊流程圖程序void regist() /**注冊(cè)函數(shù)**/{int n,m,i,j。void modify_s(int j,int i)。p=0。 /*住店時(shí)間*/}。}}注:menu函數(shù)能提供菜單方式選擇功能,可以根據(jù)用戶需要進(jìn)入到所想要的操作模塊中,此外把menu函數(shù)獨(dú)立出來(lái),可以方便隨時(shí)對(duì)它進(jìn)行調(diào)用,容易返回到系統(tǒng)界面。break。puts(\n\t***********************************************************\n)。 menu()。scanf(%d,amp。scanf(%d,amp。 } for(j=p。scanf(%d,amp。scanf(%d,amp。其中各功能模塊用菜單方式選擇。三、總體設(shè)計(jì)根據(jù)需求分析,可以對(duì)這個(gè)系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)模塊:客戶信息管理系統(tǒng)數(shù)據(jù)輸入數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)查詢數(shù)據(jù)修改數(shù)據(jù)刪除系統(tǒng)功能模塊圖四、詳細(xì)設(shè)計(jì)主函數(shù)部分:主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。printf(\tHow many new customs?\t)。i++) { {puts(\n\tRoom_ID:\t)。 room[i].sign=1。 puts(\n\tAge:\t)。 puts(\n\tMonth:\t)。 save()。puts(\t\t\t ||(5).Exit ||\n)。switch(n){case 1:regist()。case 5:exit(0)。 int date。int r=0。void modify_day()。各功能模塊函數(shù)部分:(1)輸入模塊[需求分析] 對(duì)信息進(jìn)行輸入。for(i=r。scanf(%d,amp。scanf(%d,amp。scanf(%d,amp。 } } r=r+m。puts(\t\t\t\t2).Statistics using room\n)。n3) {m=1。 case 3:menu()。ir。l)。j++) { if(room[j].sign==1) s+=1。 case 2:stat()。printf(\nmonth:%d