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

正文內(nèi)容

個人帳簿管理系統(tǒng)課程設(shè)計論文-wenkub

2023-07-12 13:09:39 本頁面
 

【正文】 return OK。 break。 exit(0)。mon)。 printf(請輸入文件名字(.dat文件):)。int search(Infor *a){ FILE *fp1。 system(filename2)。 } fputs( \r\n,fp2)。//使fp1指向文件開頭 fread(a,sizeof(Infor),1,fp1)。 fputs( \r\n,fp2)。 if(fp2==NULL) { printf(無法創(chuàng)建文件\n)。 } if(filename2[i]!=39。 } for(i=0。 scanf(%s,filename)。 char filename[100]。其中文件操作中fopen函數(shù)模式字符串的功能如下:模式字符串意義“r”打開已過文件,可以讀取文件“w”打開已文件,可以寫入文件,先將文件的長度截為0,如果該文件不存在則創(chuàng)建之“a”打開一個文本文件,可以寫入文件,向已有文件的尾部追加內(nèi)容,如果該文件不存在則先創(chuàng)建之“r+”打開一個文本文件,可以進(jìn)行更新,也可以讀取和寫入文件“w+”打開已隔文本文件,可以進(jìn)行更新(寫入),如果該文件存在則首先將其長度截為0;如果不存在則先創(chuàng)建之“a+”打開一個文本文件,可以進(jìn)行更新(讀取和寫入),向已有的文件的尾部追加內(nèi)容,如果該文件不存在則先創(chuàng)建之;可以讀取整個文件,但寫入時只能追加內(nèi)容“rb”,”wb+”,”ab”,”ab+”,”a+b”,”wb+”,”w+b”“ab+”,”a+b”與前面的模式相同,只是使用二進(jìn)制模式而非文本模式打開文件 三 詳細(xì)設(shè)計1. changeFormat()該函數(shù)功首先在控制臺上打印一排語句提示用戶輸入想要查找的文件名,若該文件不存在的話該程序就會終止。該三項功能主要解決的問題是如何在指定的文件中找到對應(yīng)的數(shù)據(jù)項并對該數(shù)據(jù)項進(jìn)行相應(yīng)的操作。詳細(xì)情況見下表:void input(Infor *a)該函數(shù)接受一個從主函數(shù)傳過來的指針變量,將數(shù)據(jù)寫入a所指向的內(nèi)存區(qū)域void writeinfor(Infor *a)void changeFormat(),最后關(guān)閉這個文件。整個程序流程圖如下: 整個程序在主函數(shù)中由switch調(diào)用各個功能函數(shù)來執(zhí)行整個程序。另外為了方便查詢與排序,又另外定義了typedef struct { int no。 int chuxu。 int fangzu。整個程序中一個指針變量a貫穿始終,可以使各個函數(shù)共享指針變量a所指向的內(nèi)存區(qū)域的數(shù)據(jù)。該系統(tǒng)采用了Windows XP操作系統(tǒng)結(jié)合Visual C++ ,TC ,可以輸入和修改某月的收支情況,可以對每月的開支從小到大進(jìn)行排序,可以根據(jù)輸入的月份查詢每月的收支情況。(2).培養(yǎng)綜合運(yùn)用所學(xué)知識獨立完成課題的能力。(3).培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。該課程設(shè)計中會頻繁的使用到C語言里的文件操作的知識點,而文件操作又是我們平常的學(xué)習(xí)當(dāng)中使用的比較少的地方,所以在課程設(shè)計之前我們組的成員專門花了一節(jié)課的時間重新閱讀了《C程序設(shè)計教程》以及《C primer plus》里的文件操作的相關(guān)知識。整個程序涉及到的功能較多,代碼普遍較長,根據(jù)課程設(shè)計教學(xué)大綱里的要求以及我們對程序的整體設(shè)計我們將整個程序分為了6個功能,7個功能函數(shù)以及主函數(shù)來調(diào)度各個函數(shù)以來實現(xiàn)功能。 int zinv。 int shouru。 int data。本程序可以在控制臺里錄入數(shù)據(jù)后寫入文件當(dāng)中,即使退出了程序,只要不刪除自己所寫的文件都可以隨時通過程序?qū)ξ募锏娜我鈹?shù)據(jù)進(jìn)行增刪改查,并且可以實現(xiàn)對多文件的管理,在修改數(shù)據(jù)的時候我們可以對指定文件里的指定月份的指定數(shù)據(jù)項進(jìn)行修改體現(xiàn)了修改的靈活性,在查詢的時候我們可以在控制臺中查詢一個文件中里的一個月的數(shù)據(jù)也可以在控制臺中查詢指定文件里的直徑月份的數(shù)據(jù),還可以對指定文件里的指定月份的數(shù)據(jù)整項刪除。int search(Infor *a)接受主函數(shù)中傳來的指針變量,尋找該指針指向的內(nèi)存區(qū)域中amonth與你所需要查找的month值相等的位置,使a指針剛好指向這個月的數(shù)據(jù),若找到了標(biāo)志位為1返回正確,如果沒找到的話就顯示為找到對應(yīng)月份。最后在主函數(shù)中通過switch對各個功能模塊進(jìn)行整體調(diào)用最終實現(xiàn)該系統(tǒng)。若該文件存在的話使用文件類型指針fp1指向該文件,以二進(jìn)制文件讀寫方式打開該文件,并用文件類型指針fp2指向它,并在該文件中打印一些展示文字使輸出結(jié)果更加好看,同時將這些文字也打印在了控制臺上,最后將fp1文件指向的內(nèi)容用格式化輸出fprintf全部寫入fp2中,最后分別關(guān)閉fp1,fp2。 int i。 fp1=fopen(filename,rb+)。filename[i]!=39。.39。 return 。 printf(\n記錄月份 食品消費(fèi) 房租費(fèi)用 子女費(fèi)用 水電費(fèi)用 醫(yī)療費(fèi)用 儲蓄費(fèi)用 本月收入 \n)。 while(!feof(fp1))// { printf(%7d %8d %8d %8d %8d %8d %8d %8d\n,amonth,ashipin,afangzu,azinv,ashuidian,ayiliao,achuxu,ashouru)。 fputs(\r關(guān)閉本程序繼續(xù)原程序!\n,fp2)。 //調(diào)用打開轉(zhuǎn)換的文本文件 remove(filename2)。 int mon。 scanf(%s,filename)。 fflush(stdin)。 } rewind(fp1)。 } else { isfound=0。 } else { printf(未找到對應(yīng)的月份\n)。首先選擇修改哪一項數(shù)據(jù),然后輸入要修改的數(shù)據(jù)的內(nèi)容將其寫入a指向的內(nèi)存區(qū)域里對應(yīng)的數(shù)據(jù)項。void modify(Infor *a,int mon)//修改數(shù)據(jù){ FILE *fp1,*fp2。 Infor *b。 fp1=fopen(filename,rb+)。i)。 } printf(請將修改后的數(shù)據(jù)輸入進(jìn)來:)。 break。 break。 break。 break。 printf( \n)。 while (!feof(fp1))//重寫數(shù)據(jù) { if(bmonth==mon) { fwrite(a,sizeof(Infor),1,fp2)。 fclose(fp2)。}4.主函數(shù)調(diào)試主函數(shù)部分通過switch語句來對實現(xiàn)整個程序功能的調(diào)度。case4中前面部分的流程與case3還是一樣的,同樣是調(diào)用search函數(shù)找到指定文件里的指定月份的數(shù)據(jù)并使a指向它,最后通過指針變量a打印在屏幕上。主函數(shù)的整個流程圖如算法整體思路里的函數(shù)流程圖所示,在這里就省略掉了。 Infor *a。 printf(\t*\t ——————主菜單—————— *\n)。 printf(\t*\t 改 數(shù) 據(jù) *\n)。 printf(\t*\t 出 系 統(tǒng) *\n)。 scanf(%d,amp。 writeinfor(a)。 //修改數(shù)據(jù) case 3: flag=search(a)。 printf( \n)。 //查詢數(shù)據(jù) case 4: flag=search(a)。 printf(%7d %8d %8d %8d %8d %8d %8d %8d\n,amonth,ashipin,afangzu,azinv,ashuidian,ayiliao,achuxu,ashouru)。 } else { paixu(a)。 if (flag!=OK) printf(\n沒有符合條件的記錄!\n)。 delRecord(mon)。 exit(0)。}四 程序的調(diào)試與運(yùn)行結(jié)果說明 首先是測試查詢函數(shù),我們在主函數(shù)界面中輸入2選擇查看數(shù)據(jù)這時在控制臺中我們可以看到數(shù)據(jù)按照一定的格式輸出了,關(guān)閉程序后我們發(fā)現(xiàn)回到了主函數(shù)界面中。五 課程設(shè)計總結(jié) 該課程設(shè)計主要是通過C語言里的文件操作對文件進(jìn)行讀寫操作,來實現(xiàn)一個賬簿管理系統(tǒng),從這一點上類似于一個小型的文件類型數(shù)據(jù)庫。在整個程序的編寫過程中遇到的最大困難就是關(guān)于文件的讀寫,以及如何以一種良好的格式輸出讓用戶看的更加清晰直觀。另外在整個
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1