C語言 歌曲信息管理系統(tǒng)_第1頁
C語言 歌曲信息管理系統(tǒng)_第2頁
C語言 歌曲信息管理系統(tǒng)_第3頁
C語言 歌曲信息管理系統(tǒng)_第4頁
C語言 歌曲信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言課程設(shè)計子 號:班級序號:姓 名:指導(dǎo)教師:成 績:C語言程序設(shè)計報告一、C語言課程設(shè)計的目的:高級語言課程設(shè)計是學(xué)習(xí)完高級語言程序設(shè)計課程后進行的一次全面的 綜合性上機實驗。其目的在于為同學(xué)提供了一個既動手又動腦,獨立實踐的機會, 將課本上的理論知識和實際有機的結(jié)合起來,鍛煉同學(xué)的分析解決實際問題的能 力。提高學(xué)生適應(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?學(xué)習(xí)M得通過此次C語言程序設(shè)計實踐,本人實在是獲益匪淺!C語言是上 半學(xué)期開的課程,當(dāng)要開始設(shè)計的時候,還真不知從哪下手!結(jié)果,第 一次的上機,我傻坐著不知道該做什么,后來就寫了幾個預(yù)處理命令。 發(fā)覺自已有許多都遺忘了!特別是有文件的操作,幾乎是一片空白!溫 習(xí)過后,開始做題!一開始做題,也是有點模糊,在指導(dǎo)老師的指導(dǎo)下,我們慢慢的 進入狀態(tài),我做的是一個歌星大獎賽,內(nèi)容包括很多。運用的函數(shù)也 是非常的復(fù)雜,首先完成了結(jié)構(gòu)題,經(jīng)過幾天的努力,我完成了大半 個程序,但是總是有很多錯誤出現(xiàn),有好多是些小問題,這都是我的 粗心大意造成的,所以設(shè)計程序一定要仔細,不容一點的馬虎。當(dāng)然也有大問題,關(guān)于文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論