C語(yǔ)言程序設(shè)計(jì)報(bào)告-歌曲信息管理系統(tǒng)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)報(bào)告-歌曲信息管理系統(tǒng)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)報(bào)告-歌曲信息管理系統(tǒng)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)報(bào)告-歌曲信息管理系統(tǒng)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)報(bào)告-歌曲信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)級(jí)言序計(jì)課設(shè)說(shuō)書、目錄設(shè)題 、主數(shù) 、輸模 4頁(yè)腳內(nèi)容課程設(shè)計(jì)、刪模 、瀏模 6、查模 6、各調(diào)數(shù) 7、設(shè)小 8、源序碼 歌信管系設(shè)1、求析用文件存儲(chǔ)信息,因而要提供文件的輸入出操作;可對(duì)歌曲信息進(jìn)行輸入、刪除、瀏 覽,而要提文件的輸入、刪除和信息顯示操作;查詢歌曲信息要提供查找操作;實(shí)現(xiàn)按 作者分組顯功能則要提供排序功能;另外要提供鍵盤式選擇菜單以實(shí) 現(xiàn)功能選擇。頁(yè)腳內(nèi)容課程設(shè)計(jì)2、體計(jì)整個(gè)管理系統(tǒng)可以被設(shè)計(jì)為數(shù)據(jù)輸入模塊數(shù)據(jù)刪除模塊、信息瀏覽模 塊、信息查詢模塊和信息分組顯示模塊。3、細(xì)計(jì)數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,建立歌曲信息結(jié)構(gòu)體:Struct SongInfo Char name20

2、; 歌曲名Char author20; 作Char singer20; 演者Char pub_date6; 發(fā)年月yyyymm)SI;(1) 數(shù)據(jù)輸入模塊 把歌曲信息寫入文件。(2) 數(shù)據(jù)刪除模塊 采用基本的查找算法,查找歌曲信息文件,如果是要?jiǎng)h除的歌曲 則舍棄改信息。否則 重新寫入文件。(3) 信息瀏覽模塊 讀歌曲信息文件,顯示輸出。(4) 信息查詢模塊 通過(guò)菜單選擇查詢字段:歌曲名 作 演者。 然采用基本查找 算法在歌曲信息 文件查找,果找到,則輸出;否則輸不起,沒有您要找的歌曲信 息 (5) 信息分組顯示模塊 選按作者分組顯示歌曲信息 fread 或 fscanf 把曲信息文件中的信息讀

3、取到臨時(shí) 變(臨時(shí)變量數(shù)據(jù)結(jié)構(gòu)可以采用歌曲信息結(jié)構(gòu)體數(shù)組) 采 用排序算法(冒泡、插入、 選等)把歌曲信息按照作者排序,然后輸出。頁(yè)腳內(nèi)容課程設(shè)計(jì)一: 詳細(xì)設(shè)計(jì)1主函數(shù)主函數(shù)的設(shè)計(jì)提供數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出以及各種函數(shù)的調(diào)用。其中各功能模塊用菜單方式選擇;另外,部分菜單也可以寫成函數(shù)。 程序void main()void menu();void function1();void function2();void function3();void function4();menu();return;2(1)輸入模塊信息輸入時(shí)直接按順序結(jié)構(gòu)(如圖 )輸入: void input() char

4、 ch;n=0;if(fp=fopen(song.txt,a)=NULL)printf(cant open song.txt);exit(0);頁(yè)腳內(nèi)容課程設(shè)計(jì)printf(Please a record:);for(n=0;n=50;)printf(nrecord %d:n 歌名:,n+1);gets();printf(n 時(shí)間);gets(songn.year);printf(n 作者);gets(songn.author);printf(n 歌手);gets(songn.singer);n+;printf(繼續(xù)輸入嗎 (y/n)n);ch=getchar();getc

5、har();if(ch=n)break;fwrite(song,sizeof(song0),n,fp);fclose(fp);2 刪除模塊:用戶輸入要?jiǎng)h除的信息,如輸入歌曲名 ,根據(jù)歌曲名找到其他記錄并刪除。 程序/*刪除模塊*/void del()頁(yè)腳內(nèi)容課程設(shè)計(jì)int m,k=0;long a;char namekey8;printf(n 請(qǐng)輸入您要?jiǎng)h除的歌曲名);scanf(%s,namekey);if(fp=fopen(song.txt,r+)=NULL)printf(n 不能打開該文件!exit(0);while(!feof(fp)a=ftell(fp);fscanf(fp,%6s

6、%5s %5s %10sn,,songn.year,songn.author,songn.singer);if(strcmp(namekey,)=0)k=1;break;if(k=1)printf(n 已查到,記錄為);printf(n%6s %5s %5s %10sn,,songn.year,songn.author,songn.singer);printf(n 確實(shí)要?jiǎng)h除按 1;不刪除,按 0);頁(yè)腳內(nèi)容課程設(shè)計(jì)scanf(%d,&m);if(m=1)fseek(fp,a,0);fprintf(fp,%s %s %s %sn, ,

7、 , , ); elseprintf(n 對(duì)不起,查無(wú)此人。fclose(fp);3瀏覽模塊:在用戶按下菜單后直接顯示出所有歌曲信息。 void xianshi() n=0;if(fp=fopen(song.txt,rb)=NULL)printf(cant open file song.txt); exit(0);printf(歌名t作者t歌手時(shí)間n);while(fread(&songn,sizeof(songn),1,fp)=1)printf(%6s %5s %10s %5sn,,songn.author,songn.singer,songn.year);頁(yè)腳內(nèi)容課程設(shè)

8、計(jì)n+;fclose(fp);4查找模塊:用戶輸入要查找的歌曲名或歌曲的任意信息,按菜單鍵。void searchname() int a=0; ch; n=0;if(fp=fopen(song.txt,rb)=NULL)printf(can open the file.n );exit(0);while(fread(&songn,sizeof(songn),1,fp)=1)n+;a=n;printf(用什么方式詢?printf(1.歌名 2.時(shí)間 3.歌手n);ch=getchar();getchar();switch(ch)case 1:printf( 輸入你要查的歌名:n);gets(n

9、umstr);for(n=0;na;)頁(yè)腳內(nèi)容課程設(shè)計(jì)if(!strcmp(numstr,)break;n+;break;case 2:printf(輸入你要查歌曲時(shí)間n); gets(numstr);for(n=0;na;)if(atol(numstr)=songn.year)break;n+;break;case 3:printf(輸入你要查歌手n); gets(numstr);for(n=0;na;)if(!strcmp(numstr,songn.singer)break;n+;break;printf(歌名作者歌手時(shí)間 n);頁(yè)腳內(nèi)容課程設(shè)計(jì)printf(%6s %

10、5s %5s %10sn,,songn.year,songn.author,songn.singer);fclose(fp);6 各種被調(diào)函數(shù)(1)insert 函數(shù):數(shù)據(jù)的插入,用于個(gè)人的信息的補(bǔ)錄,包括姓名、工作單位、 電話號(hào)碼和 email 地址。(2)del 函數(shù):用于通訊錄中個(gè)人信息的刪除。(3)change 函數(shù):用于通訊錄中個(gè)人信息的修改,輸入人名,對(duì)人名所對(duì)應(yīng)的 機(jī)構(gòu)體內(nèi)容進(jìn)行修改(包括姓名、工作單位、電話號(hào)碼和 email 信息 (4)searchname 函數(shù):用于輸入姓名查找個(gè)人信息。如果通訊錄中沒有此人信 息,顯示“查無(wú)此人(5)searchnum

11、函數(shù):用于輸入電話號(hào)碼查詢個(gè)人信息。如果通訊錄中沒此人 信息,顯示“查無(wú)此人(6)show 函數(shù):用于個(gè)人全部信息的顯示。(7)income 函數(shù):用于所有原始個(gè)人信息的錄入(包括姓名、電話號(hào)碼、工作 單位和 email 地址設(shè)計(jì)小結(jié) 本程序大體參考與網(wǎng)上信息,說(shuō)實(shí)話,這程序我無(wú)法完成,但又必須做即使不會(huì)或者做不完美但是也要盡力去做做這個(gè)程序是要我們能 夠使用所學(xué)的內(nèi)容,這次設(shè)計(jì),讓我重新掌握了 語(yǔ)言,而且還得到了用 C 語(yǔ)言解決實(shí)際問(wèn)題的寶貴經(jīng)驗(yàn)也從中學(xué)到了很多東西讓我懂得了做什么事都要有耐心要有對(duì)什么事都認(rèn)真仔細(xì)的品質(zhì)讓我學(xué)會(huì)了很多以前不懂的東西使我更 加意識(shí)到實(shí)踐的重要性!頁(yè)腳內(nèi)容課程設(shè)計(jì)三 :原程 int i=0; singer20; time20; name20; int j; c2; 頁(yè)腳內(nèi)容課程設(shè)計(jì) not the input the input the input the input the wri

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論