版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言課程設(shè)計子 號:班級序號:姓 名:指導教師:成 績:C語言程序設(shè)計報告一、C語言課程設(shè)計的目的:高級語言課程設(shè)計是學習完高級語言程序設(shè)計課程后進行的一次全面的 綜合性上機實驗。其目的在于為同學提供了一個既動手又動腦,獨立實踐的機會, 將課本上的理論知識和實際有機的結(jié)合起來,鍛煉同學的分析解決實際問題的能 力。提高學生適應(yīng)實際,實踐編程的能力。二、題目:歌曲信息管理系統(tǒng)需求分析:制作一個歌曲信息管理系統(tǒng)使之有以下功能1歌曲信息包括歌曲名,作者,演唱者,發(fā)行年月等。2可以對歌曲信息進行輸入,刪除,瀏覽。3可以查詢歌曲名,作者,演唱者信息。4可以提供按作者顯示功能。5用文件存儲信息。三總體設(shè)計
2、根據(jù)分析,整個系統(tǒng)可設(shè)計為以下4個模塊:信息輸入模塊,刪除模塊,瀏覽模塊。查找模塊。歌曲信息管理系統(tǒng)設(shè)計信息輸入信息刪除信息瀏覽,信息查找信息輸入:依次按順序結(jié)構(gòu)輸入歌曲名,作者,演唱者,發(fā)行年月。信息刪除:根據(jù)輸入的歌曲名,作者,演唱者等一項可以刪除對應(yīng)的其他項信息瀏覽:可以直接瀏覽歌曲,作者,演唱者,發(fā)行年月。信息查找:可以查找歌曲,作者等。四詳細設(shè)計1主函數(shù)主函數(shù)的設(shè)計提供數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出以及各種函數(shù)的調(diào)用。其中各功能模塊用菜單方式選擇;另外,部分菜單也可以寫成函數(shù)。(流程圖如下圖1)程序void main()void menu();void function1();void
3、 function2();void function3();void function4();menu();return;(圖1 )2各功能模塊設(shè)計(1)輸入模塊信息輸入時直接按順序結(jié)構(gòu)(如圖2)輸入:void input() char ch;n=0;if(fp=fopen(song.txt,a)=NULL)printf(cant open file song.txt);exit(0);printf(Please input a record:);for(n=0;n=50;)printf(nrecord %d:n 歌名:,n+1);gets();printf(n 時間:);
4、gets(songn.year);printf(n 作者:);gets(songn.author);printf(n 歌手:);gets(songn.singer);n+;printf(繼續(xù)輸入嗎? (y/n)n);ch=getchar();getchar();if(ch=n)break;fwrite(song,sizeof(song0),n,fp); fclose(fp);(圖2) 2刪除模塊:用戶輸入要刪除的信息,如輸入歌曲名,根據(jù)歌曲名找到其他記錄并刪除。程序/* 刪除模塊 */ void del()int m,k=0;long a;char namekey8;printf(n請輸入您要
5、刪除的歌曲名:,scanf(%s”,namekey);if(fp=fopen(song.txt,r+)=NULL)printf(n不能打開該文件!);exit(0);while(!feof(fp)a=ftell(fp);fscanf(fp,%6s %5s %5s %10sn,,songn.year,songn.author,songn.s inger);if(strcmp(namekey,)=0)k=1;break;if(k=1)printf(n已查到,記錄為,printf(n%6s %5s %5s %10sn,,songn.year
6、,songn.author,songn.si nger);printf(-n確實要刪除,按1;不刪除,按0:);scanf(%d,&m);if(m=1)fseek(fp,a,0);fprintf(fp,%s %s %s %sn,);elseprintf(n對不起,查無此人。);fclose(fp);瀏覽模塊:在用戶按下菜單后直接顯示出所有歌曲信息。void xianshi() n=0;if(fp=fopen(song.txt”,rb)=NULL)printf(cant open the file song.txt);exit(0);printf(歌名t作者t歌手時間n);while(fread
7、(&songn,sizeof(songn),1,fp)=1)printf(%6s %5s %10s %5sn,,songn.author,songn.singer,songn.year);n+;fclose(fp);查找模塊:用戶輸入要查找的歌曲名或歌曲的任意信息,按菜單鍵。void searchname()int a=0; char ch; n=0;if(fp=fopen(song.txt”,rb)=NULL)printf(can not open the file.n );exit(0);while(fread(&songn,sizeof(songn),1,fp)=1)
8、n+;a=n;printf(用什么方式查詢?n);printf(1.歌名 2.時間 3.歌手n);ch=getchar();getchar();switch(ch)case 1:printf(輸入你要查的歌名:n);gets(numstr);for(n=0;na;)if(!strcmp(numstr,)break;n+;break;case 2:printf(輸入你要查的歌曲時間n);gets(numstr);for(n=0;na;)if(atol(numstr)=songn.year)break;n+;break;case 3:printf(輸入你要查的歌手n);gets
9、(numstr);for(n=0;na;)if(!strcmp(numstr,songn.singer)break;n+;break;printf( 歌名作者歌手 時間n);printf(%6s %5s %5s %10sn,,songn.year,songn.author,songn.sing er);fclose(fp);流程圖如下圖(圖3)公共函數(shù)2各種被調(diào)函數(shù)(1)insert函數(shù):數(shù)據(jù)的插入,用于個人的信息的補錄,包括姓名、工作單位、 電話號碼和email地址。(2)del函數(shù):用于通訊錄中個人信息的刪除。(3)change函數(shù):用于通訊錄中個人信息的修改,輸入人名
10、,對人名所對應(yīng)的 機構(gòu)體內(nèi)容進行修改(包括姓名、工作單位、電話號碼和email信息)。(4)searchname函數(shù):用于輸入姓名查找個人信息。如果通訊錄中沒有此人信 息,顯示“查無此人也(5)searchnum函數(shù):用于輸入電話號碼查詢個人信息。如果通訊錄中沒此人信 息,顯示“查無此人也(6)show函數(shù):用于個人全部信息的顯示。(7)income函數(shù):用于所有原始個人信息的錄入(包括姓名、電話號碼、工作 單位和email地址)。五上機操作主菜單函數(shù)編輯模塊-|n| x|阿 C:DOCUME-1 ADMINI-1、桌面TC.EXEPlease type a new line:12:12345
11、6789:9876543213 .替換模塊阿 C:DOCUME 1 ADMINI 1 桌面TC.EXE:987654321Uhich line do you prefer to replace? 阿 C:DOCUME 1 ADMINI 1 桌面TC.EXEUhich line do you prefer to replace?1The line to be replaced is: 123456789Please type your neu line: 555556789_4查找模塊.-|n| x|阿 C:DOCUME 1 ADMINI I 桌面TC.EXE11: 5555567892: 98
12、7654321Which line do you want to search? J修改模塊_|n| x|阿 C:DOCUME 1 ADMINI I 桌面TC.EXEline do you prefer to modify? 2 Jline to be replaced is:Input the search string and the replace :8765 8888刪除模塊:988884321Which line do you prefer to delete?2 J The line to be deleted is: 988884321Press any key to conti
13、nue保存模塊退出模塊1234560Edit netj line Replace line Delete line Search line Modify data Saue Exite select a number:0 the lines to the file?學習M得通過此次C語言程序設(shè)計實踐,本人實在是獲益匪淺!C語言是上 半學期開的課程,當要開始設(shè)計的時候,還真不知從哪下手!結(jié)果,第 一次的上機,我傻坐著不知道該做什么,后來就寫了幾個預處理命令。 發(fā)覺自已有許多都遺忘了!特別是有文件的操作,幾乎是一片空白!溫 習過后,開始做題!一開始做題,也是有點模糊,在指導老師的指導下,我們慢慢的 進入狀態(tài),我做的是一個歌星大獎賽,內(nèi)容包括很多。運用的函數(shù)也 是非常的復雜,首先完成了結(jié)構(gòu)題,經(jīng)過幾天的努力,我完成了大半 個程序,但是總是有很多錯誤出現(xiàn),有好多是些小問題,這都是我的 粗心大意造成的,所以設(shè)計程序一定要仔細,不容一點的馬虎。當然也有大問題,關(guān)于文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物制藥研發(fā)與生產(chǎn)操作手冊
- 內(nèi)江市第六中學2025-2026學年高二上學期第一次月考物理試題
- 餐飲服務(wù)單位食品安全自我檢查管理操作規(guī)程
- 2024廣東省考評員考試題庫(含答案)
- 內(nèi)審員考試試題含答案
- 痔瘡相關(guān)的護理考試題及答案
- 2025年鄉(xiāng)村獸醫(yī)試題庫及答案
- 電刀電灼傷題目及答案
- 2025年金融投資風險管理試卷及答案詳解
- 2025年安全教育培訓試題附參考答案(完整版)
- 《砂漿、混凝土用低碳劑》
- 2025年社區(qū)工作總結(jié)及2026年工作計劃
- 南昌地鐵培訓課件
- GB/T 30104.104-2025數(shù)字可尋址照明接口第104部分:一般要求無線和其他有線系統(tǒng)組件
- 三年級上冊數(shù)學第三單元題型專項訓練-判斷題(解題策略專項秀場)人教版(含答案)
- GB/T 45629.1-2025信息技術(shù)數(shù)據(jù)中心設(shè)備和基礎(chǔ)設(shè)施第1部分:通用概念
- 2025年中考歷史開卷考查范圍重大考點全突破(完整版)
- 學術(shù)誠信與學術(shù)規(guī)范研究-深度研究
- 《ETF相關(guān)知識培訓》課件
- DB15-T 3677-2024 大興安嶺林區(qū)白樺樹汁采集技術(shù)規(guī)程
- 2024年《13464電腦動畫》自考復習題庫(含答案)
評論
0/150
提交評論