freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

個(gè)人帳簿管理系統(tǒng)課程設(shè)計(jì)論文-文庫吧資料

2025-07-03 13:09本頁面
  

【正文】 。ayiliao,amp。azinv,amp。ashipin,amp。 scanf(%d%d%d%d%d%d%d%d,amp。 }pType。typedef struct {// 查詢用自定義數(shù)據(jù)類型 int no。} Infor。 int chuxu。 int shuidian。 int fangzu。[3] 嚴(yán)蔚敏 《數(shù)據(jù)結(jié)構(gòu)(C語言版)》 北京,清華大學(xué)出版社,2007年3月[4]譚浩強(qiáng) 《C程序設(shè)計(jì)(第四版)》,北京,清華大學(xué)出版社,附錄includeinclude includedefine OK 1define ERROR 0define TRUE 1//個(gè)人信息typedef struct { int month。 參考文獻(xiàn)[1] 譚浩強(qiáng),C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第二版),北京,清華大學(xué)出版社,2000年9月。如果這樣修改成功了以后的話就該程序就真真正正的實(shí)現(xiàn)了一個(gè)小型的文件DBMS。關(guān)于本程序的進(jìn)一步設(shè)想就是我希望能夠?qū)崿F(xiàn)一個(gè)用戶權(quán)限管理,可以通過不同的文件操作模式字符串來指定不同類型的用戶有不同權(quán)限的操作。另外整個(gè)程序設(shè)計(jì)的異常處理很不完善,但這個(gè)責(zé)任也不全然在于我們身上,因?yàn)镃語言是面向過程的語言,它并不具備類似C++、JAVA里強(qiáng)大的異常處理機(jī)制(沒有定義那么多的異常類),所以整個(gè)程序雖然可以正常的運(yùn)行使用,但并不健壯,一旦遇到非法的操作程序就必然崩潰,如果采用C++或JAVA這樣的面向?qū)ο笳Z言來進(jìn)行編程的話程序應(yīng)該可以設(shè)計(jì)的更加完善一些。另外在整個(gè)程序中是分模塊來編寫的,怎樣使各個(gè)模塊能共享數(shù)據(jù)又成了一大難題,后來經(jīng)過討論我們決定整個(gè)程序在主函數(shù)中創(chuàng)建一個(gè)Infor類型的指針變量,通過指針變量我們就可以方便的共享其所指向的內(nèi)存區(qū)域以達(dá)到共享數(shù)據(jù)的效果。在這里格式就看起來比較舒服,但最先的時(shí)候顯示的效果并不是這樣的。在整個(gè)程序的編寫過程中遇到的最大困難就是關(guān)于文件的讀寫,以及如何以一種良好的格式輸出讓用戶看的更加清晰直觀。也可以指定對(duì)應(yīng)文件里的對(duì)應(yīng)月份的數(shù)據(jù)打印在控制條中。五 課程設(shè)計(jì)總結(jié) 該課程設(shè)計(jì)主要是通過C語言里的文件操作對(duì)文件進(jìn)行讀寫操作,來實(shí)現(xiàn)一個(gè)賬簿管理系統(tǒng),從這一點(diǎn)上類似于一個(gè)小型的文件類型數(shù)據(jù)庫。我們首先在主函數(shù)界面下輸入4來選擇功能,然后控制臺(tái)會(huì)提示我們輸入要查詢的文件名,然后控制臺(tái)接著會(huì)提示用戶輸入查詢的月份,我們輸入了10,這時(shí)候會(huì)發(fā)現(xiàn)控制臺(tái)將10月份的數(shù)據(jù)直接打印在了控制臺(tái)上。}四 程序的調(diào)試與運(yùn)行結(jié)果說明 首先是測(cè)試查詢函數(shù),我們?cè)谥骱瘮?shù)界面中輸入2選擇查看數(shù)據(jù)這時(shí)在控制臺(tái)中我們可以看到數(shù)據(jù)按照一定的格式輸出了,關(guān)閉程序后我們發(fā)現(xiàn)回到了主函數(shù)界面中。 } free(a)。 exit(0)。 //退出系統(tǒng) case 0: printf(\n指導(dǎo)老師:馮珊\n)。 delRecord(mon)。 printf( \n)。 if (flag!=OK) printf(\n沒有符合條件的記錄!\n)。 //刪除數(shù)據(jù) case 6: flag=search(a)。 } else { paixu(a)。 //排序數(shù)據(jù) case 5: flag=search(a)。 printf(%7d %8d %8d %8d %8d %8d %8d %8d\n,amonth,ashipin,afangzu,azinv,ashuidian,ayiliao,achuxu,ashouru)。 else{ printf(\n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲(chǔ)蓄費(fèi)用 本月收入 \n)。 //查詢數(shù)據(jù) case 4: flag=search(a)。 modify(a,mon)。 printf( \n)。 if (flag!=OK) printf(\n沒有符合條件的記錄!\n)。 //修改數(shù)據(jù) case 3: flag=search(a)。 //查看數(shù)據(jù) case 2: changeFormat()。 writeinfor(a)。 }while(item7 || item0)。 scanf(%d,amp。 printf(\t**********************************************************\n\n)。 printf(\t*\t 出 系 統(tǒng) *\n)。 printf(\t*\t 序 數(shù) 據(jù) *\n)。 printf(\t*\t 改 數(shù) 據(jù) *\n)。 printf(\t*\t 入 數(shù) 據(jù) *\n)。 printf(\t*\t ——————主菜單—————— *\n)。//動(dòng)態(tài)分配內(nèi)存空間 do{ printf(\n\t******************歡迎進(jìn)入個(gè)人帳簿管理系統(tǒng)****************\n)。 Infor *a。//標(biāo)志位,用來保存查詢函數(shù)所返回的結(jié)果 int item。主函數(shù)的整個(gè)流程圖如算法整體思路里的函數(shù)流程圖所示,在這里就省略掉了。case6中同樣是通過search函數(shù)找到指定的月份,并刪除這個(gè)月份的所有數(shù)據(jù)。case4中前面部分的流程與case3還是一樣的,同樣是調(diào)用search函數(shù)找到指定文件里的指定月份的數(shù)據(jù)并使a指向它,最后通過指針變量a打印在屏幕上。case2是對(duì)用戶指定的文件的數(shù)據(jù)進(jìn)行整個(gè)文件查詢。}4.主函數(shù)調(diào)試主函數(shù)部分通過switch語句來對(duì)實(shí)現(xiàn)整個(gè)程序功能的調(diào)度。 //刪除源文件 rename(,filename)。 fclose(fp2)。 } fread(b,sizeof(Infor),1,fp1)。 while (!feof(fp1))//重寫數(shù)據(jù) { if(bmonth==mon) { fwrite(a,sizeof(Infor),1,fp2)。 rewind(fp1)。 printf( \n)。 } printf(修改后的:\n)。 break。 break。 break。 break。 break。 break。 break。money)。 } printf(請(qǐng)將修改后的數(shù)據(jù)輸入進(jìn)來:)。 scanf(%d,amp。i)。// printf(你要修改哪一項(xiàng)數(shù)據(jù)?(1代表食品,2代表房租,3代表子女費(fèi)用,4代表水電費(fèi)用,5代表醫(yī)療費(fèi)用,6代表儲(chǔ)蓄,7代表收入):)。 fp1=fopen(filename,rb+)。 printf(修改后的數(shù)據(jù)所要插入的文件(注意與前面的文件名一定要是一致的?。。?。 Infor *b。 int money。void modify(Infor *a,int mon)//修改數(shù)據(jù){ FILE *fp1,*fp2。然后用指針變量b來存儲(chǔ)從fp1文件中讀取的數(shù)據(jù),該過程還是一個(gè)直到fp1指向文件結(jié)尾時(shí)才結(jié)束的函數(shù)。首先選擇修改哪一項(xiàng)數(shù)據(jù),然后輸入要修改的數(shù)據(jù)的內(nèi)容將其寫入a指向的內(nèi)存區(qū)域里對(duì)應(yīng)的數(shù)據(jù)項(xiàng)。 }}3. void modify(Infor *a,int mon)該函數(shù)主要功能在于修改指定文件下指定月份的指定數(shù)據(jù)項(xiàng),首先用fp1指向指定的文件。 } else { printf(未找到對(duì)應(yīng)的月份\n)。 } fclose(fp1)。 } else { isfound=0。 while(!feof(fp1))//查詢操作 { if(amonth==mon) { isfound=1。 } rewind(fp1)。 if(fp1==NULL) { printf(無法找到文件\n)。 fflush(stdin)。 scanf(%d,amp。 scanf(%s,filename)。//標(biāo)志變量,初始為0代表為找到對(duì)應(yīng)的月份,若找到對(duì)應(yīng)的月份這設(shè)置為1 char filename[100]。 int mon。若該文件存在的話使用文件類型指針fp1指向該文件,以二進(jìn)制文件讀寫方式打開該文件,并用文件類型指針fp2指向它,并在該文件中打印一些展示文字使輸出結(jié)果更加好看,同時(shí)將這些文字也打印在了控制臺(tái)上,最后將fp1文件指向的內(nèi)容用格式化輸出fprintf全部寫入fp2中,最后分別關(guān)閉fp1,fp2。 //調(diào)用打開轉(zhuǎn)換的文本文件 remove(fi
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1