版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 目錄</b></p><p> C語(yǔ)言課程設(shè)計(jì)成績(jī)?cè)u(píng)定表…………………….02頁(yè)</p><p> C語(yǔ)言課程設(shè)計(jì)任務(wù)書………………………….03頁(yè)</p><p> 程序基本框架結(jié)構(gòu)圖…………………………….0
2、4頁(yè)</p><p> 程序設(shè)計(jì)說(shuō)明書………………………………….05頁(yè)</p><p> 源代碼清單……………………………………….06頁(yè)</p><p> 課程設(shè)計(jì)總結(jié)…………………………………….14頁(yè)</p><p><b> 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</b></p><p> 發(fā)電本
3、091 班C語(yǔ)言課程設(shè)計(jì)任務(wù)書</p><p><b> 一、設(shè)計(jì)目的</b></p><p> 通過(guò)本次課程設(shè)計(jì)使學(xué)生進(jìn)一步加深對(duì)C語(yǔ)言課程內(nèi)容的理解,初步掌握一般應(yīng)用程序的開發(fā)方法和步驟,進(jìn)一步了解與掌握C語(yǔ)言的編程方法和技巧,提高學(xué)生用C語(yǔ)言解決實(shí)際問(wèn)題的能力。</p><p><b> 二、設(shè)計(jì)要求</b>
4、</p><p> 1、認(rèn)真查閱參考書、資料2、遵守課程設(shè)計(jì)時(shí)間安排</p><p> 3、按時(shí)上機(jī),認(rèn)真調(diào)試程序4、認(rèn)真完成課程設(shè)計(jì)報(bào)告</p><p> 三、課設(shè)報(bào)告裝訂內(nèi)容及順序</p><p> 1、課程設(shè)計(jì)封皮2、目錄</p><p> 3、課程設(shè)計(jì)成績(jī)?cè)u(píng)定表4、課程設(shè)計(jì)任務(wù)書</p&
5、gt;<p> 5、程序基本框架圖 6、程序設(shè)計(jì)說(shuō)明書</p><p> 7、源代碼清單8、課設(shè)總結(jié)與心得</p><p> 四、設(shè)計(jì)題目(裝訂時(shí)只保留一項(xiàng))</p><p><b> KTV點(diǎn)歌系統(tǒng)</b></p><p> 五、時(shí)間安排(一周:從 6 月21 日
6、到 6 月 25 日 )</p><p> 1、查閱資料及程序設(shè)計(jì)(1天)2、程序編制及調(diào)試(3天)</p><p> 3、成績(jī)?cè)u(píng)定(0.5天)3、打印報(bào)告(0.5天)</p><p><b> 六、參考文獻(xiàn)</b></p><p> 1、《C語(yǔ)言程序設(shè)計(jì)》李淑華/李貞編 大連理工大學(xué)出版社</p&g
7、t;<p> 2、《C語(yǔ)言程序設(shè)計(jì)》孫連科/姚大鵬編 遼海出版社</p><p> 3、《C++時(shí)尚編程百例》網(wǎng)冠科技編.機(jī)械工業(yè)出版社</p><p> 4、《TURBO C 實(shí)用大全》徐金梧等編. 機(jī)械工業(yè)出版社</p><p><b> 程序基本框架結(jié)構(gòu)圖</b></p><p><b&
8、gt; 程序設(shè)計(jì)說(shuō)明書</b></p><p> 此程序?yàn)橐籏TV點(diǎn)歌系統(tǒng),目的是對(duì)歌曲、歌名等重信息進(jìn)行管理。</p><p> 程序分別定義了輸入歌名(creat()),輸出歌名(list()),查詢歌曲(searchid()),添加歌曲(insert()),刪除歌曲(delete()),退出操作系統(tǒng)(quit())及菜單函數(shù)(menu())。為了方便,程序中還用到了
9、結(jié)構(gòu)體變量和結(jié)構(gòu)體數(shù)據(jù)組存放學(xué)生數(shù)據(jù)。</p><p> 菜單函數(shù)是將所有的函數(shù)歸到一起顯示清單,方便選擇調(diào)用函數(shù)完成數(shù)據(jù)處理。</p><p> 輸入歌名和添加歌名的功能和操作都相同,均是對(duì)歌曲的輸入.進(jìn)入操作狀態(tài)后,屏幕上會(huì)自動(dòng)的顯示一行意思為第幾個(gè)輸入的歌曲的數(shù)據(jù)的開頭。然后根據(jù)提示可完成每首歌曲信息的輸入。當(dāng)輸入完畢后可根據(jù)提示選擇是否繼續(xù)輸入。輸入完畢,鍵入n鍵退回到菜單界面
10、,繼續(xù)操作或者退出系統(tǒng)。</p><p> 輸出函數(shù)為用戶顯示數(shù)據(jù)庫(kù)中所有的歌曲信息供用戶所用。完成輸出。鍵入回車鍵在數(shù)據(jù)的下方顯示程序清單。</p><p> 查找函數(shù)的功能是在最短時(shí)間內(nèi)找到所需的相關(guān)歌曲。此程序中為用戶設(shè)計(jì)了兩種查找的方式。第一種是通過(guò)歌曲(sname)查找,第二種是通過(guò)歌手名(number)來(lái)查找歌曲資料。而這選擇的途徑可以在調(diào)用函數(shù)的時(shí)候在屏幕上為用戶提供選項(xiàng)
11、。</p><p> 刪除函數(shù)則是為刪除不需要的沒有意義的數(shù)據(jù)而設(shè)計(jì)的函數(shù),讓保存的數(shù)據(jù)都是有用的。</p><p> 退出系統(tǒng)函數(shù)功能是退出操作界面,返回到計(jì)算機(jī)桌面上。完成對(duì)系統(tǒng)的使用。</p><p> 而且悠揚(yáng)的背景音樂(lè),維美的操作畫面,是本系統(tǒng)的一大亮點(diǎn)。</p><p><b> 歡迎使用本系統(tǒng)!</b&g
12、t;</p><p><b> 源代碼清單</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include <string.h></p><p> #incl
13、ude <conio.h></p><p> # include<dos.h></p><p> # define speed 2</p><p> void sound1(int freq,int time);</p><p> void pause(int time);</p><p&g
14、t;<b> sound3()</b></p><p> { int i,freq;</p><p> int time=4*speed ;</p><p> char *qm="iddgwwwqqqfffddddfghhhgggddgwwwqqqfffddgghijqqqqqwpggjhgddgqqqhhqwwqjjjggg
15、ddgwwwqqgfffddgghjqqqqqq";</p><p> gotoxy(40,20) ;</p><p> while(*qm++!='\0')</p><p><b> {</b></p><p><b> i=1;</b></p>&
16、lt;p> switch(* qm)</p><p> {case 'k':</p><p> time=1*speed;</p><p><b> i=0;</b></p><p><b> break;</b></p><p><b&
17、gt; case 'l':</b></p><p> time=2*speed;</p><p><b> i=0;</b></p><p><b> break;</b></p><p><b> case 'i':</b>
18、;</p><p> time=4*speed;</p><p><b> i=0;</b></p><p><b> break;</b></p><p><b> case 'o':</b></p><p> time=6*
19、speed;</p><p><b> i=0;</b></p><p><b> break;</b></p><p><b> case 'p':</b></p><p> pause(time);</p><p><b
20、> i=0;</b></p><p><b> break;</b></p><p><b> case 'a':</b></p><p><b> freq=523;</b></p><p><b> break;<
21、/b></p><p><b> case 's':</b></p><p><b> freq=587;</b></p><p><b> break;</b></p><p><b> case 'd':</b&
22、gt;</p><p><b> freq=659;</b></p><p><b> break;</b></p><p><b> case 'f':</b></p><p><b> freq=698;</b></p&g
23、t;<p><b> break;</b></p><p><b> case 'g':</b></p><p><b> freq=784;</b></p><p><b> break;</b></p><p>&
24、lt;b> case 'h':</b></p><p><b> freq=880;</b></p><p><b> break;</b></p><p><b> case 'j':</b></p><p><
25、b> freq=988;</b></p><p><b> break;</b></p><p><b> case 'z':</b></p><p><b> freq=262;</b></p><p><b> brea
26、k;</b></p><p><b> case 'x':</b></p><p><b> freq=294;</b></p><p><b> break;</b></p><p><b> case 'c':&
27、lt;/b></p><p><b> freq=330;</b></p><p><b> break;</b></p><p><b> case 'v':</b></p><p><b> freq=349;</b>&l
28、t;/p><p><b> break;</b></p><p><b> case'b':</b></p><p><b> freq=392;</b></p><p><b> break;</b></p><p
29、><b> case 'n':</b></p><p><b> freq=440;</b></p><p><b> break;</b></p><p><b> case 'm':</b></p><p>
30、;<b> freq=494;</b></p><p><b> break;</b></p><p><b> case '9':</b></p><p> freq=1047;</p><p><b> break;</b>&
31、lt;/p><p><b> case 'w':</b></p><p> freq=1175;</p><p><b> break;</b></p><p><b> case'e':</b></p><p>
32、freq=13199;</p><p><b> break;</b></p><p><b> case 'r':</b></p><p> freq=1397;</p><p><b> break;</b></p><p>
33、<b> case 't':</b></p><p> freq=1568;</p><p><b> break;</b></p><p><b> case 'y':</b></p><p> freq=1760;</p>
34、;<p><b> break;</b></p><p><b> case 'u':</b></p><p> freq=1976;</p><p><b> break;</b></p><p><b> defult:&l
35、t;/b></p><p><b> i=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> if(i)</b></p><p> sound
36、1(freq,time);</p><p><b> } }</b></p><p> void sound1(int freq,int time)</p><p><b> {int n;</b></p><p> sound(freq);</p><p>
37、n=time+clock();</p><p> while(n>clock());</p><p> nosound(); }</p><p> void pause(int time)</p><p><b> {int n;</b></p><p> n=time+clo
38、ck();</p><p> while(n>clock())</p><p> nosound(); } </p><p> typedef struct song</p><p><b> { </b></p><p><b> long num;</b&g
39、t;</p><p> char sname[20];</p><p> char mname[20];</p><p> char zhuanji[20];</p><p><b> };</b></p><p> struct song a;</p><p>
40、 int creatfile()</p><p> { FILE * fp;</p><p><b> int N=0;</b></p><p><b> char ch;</b></p><p> if((fp=fopen("a.txt","wb"
41、))==NULL)</p><p> {printf("can't open file a.txt");</p><p><b> exit(1);</b></p><p><b> }</b></p><p><b> do</b><
42、/p><p> { printf("\nsong information of record %d:",N+1);</p><p> printf("\nnum:");scanf("%ld",&a.num);</p><p> printf("\nmname:");scanf(
43、"%s",a.mname);</p><p> printf("\nzhuanji:");scanf("%s",&a.zhuanji);</p><p> printf("\nsname:");scanf("%s",&a.sname);</p><p&
44、gt;<b> N=N+1;</b></p><p> fwrite(&a,sizeof(a),1,fp);</p><p> printf("\nhave another song record(y/n)?");</p><p> getchar();</p><p> ch=ge
45、tchar();</p><p><b> }</b></p><p> while(ch=='y');</p><p> fclose(fp);</p><p><b> return N;</b></p><p><b> }</
46、b></p><p> void delete()</p><p> { int i,n=0,f=0;</p><p><b> long b;</b></p><p> struct song a[10];</p><p><b> FILE *fp;</b>
47、;</p><p> if((fp=fopen("a.txt","rb"))==NULL)</p><p> { printf("error");exit(0);}</p><p> printf("input number:");</p><p> sc
48、anf("%ld",&b);</p><p> while(fread(&a[n],sizeof(struct song),1,fp)!=0)</p><p><b> n++;</b></p><p> fclose(fp);</p><p> if((fp=fopen(&q
49、uot;a.txt","wb"))==NULL)</p><p> { printf("error");exit(0);}</p><p> for(i=0;i<n;i++)</p><p> if(a[i].num==b)</p><p><b> f=1;</
50、b></p><p><b> else</b></p><p> fwrite(&a[i],sizeof(struct song),1,fp);</p><p><b> if(f==0)</b></p><p> printf("\nno record:"
51、;);</p><p><b> else </b></p><p> printf("\t\t%ld deleted!",b);</p><p> fclose(fp);</p><p> printf("\n\tpress any key to continue!");
52、</p><p> getchar();</p><p><b> }</b></p><p> void searchid()</p><p> { int j,n=0;</p><p><b> long k=0;</b></p><p>
53、; struct song a[10];</p><p> char m[20],ch; </p><p><b> FILE *fp;</b></p><p> if((fp=fopen("a.txt","rb"))==NULL)</p><p> { printf(&
54、quot;error");exit(0);}</p><p> while(fread(&a[n],sizeof(struct song),1,fp)!=0)</p><p><b> n++;</b></p><p> printf("search by mname(l) or number(s) (l/s)
55、?");</p><p> ch=getchar();</p><p> if(ch=='l')</p><p> { printf("input mname:");</p><p> scanf("%s",m);</p><p> for(j
56、=0;j<n;j++)</p><p> if(strcmp(m,a[j].mname)==0)</p><p> { printf("\n\nnum\t\tmname\t\tzhuanji\t\tsname\n\n");</p><p> printf("%ld\t%s\t\t%s\t\t%s\n",a[j].n
57、um,a[j].mname,a[j].zhuanji,a[j].sname);</p><p> getchar();</p><p><b> break;</b></p><p><b> } }</b></p><p> else if(ch=='s')</p
58、><p> {printf("number:");</p><p> scanf("%ld",&k);</p><p> for(j=0;j<n;j++)</p><p> if(k==a[j].num)</p><p> {printf("\n\n
59、num\t\tmname\t\tagtsname\n\n"); printf("%ld\t%s\t\t%s\t\t%s\n",a[j].num,a[j].mname,a[j].zhuanji,a[j].sname);</p><p><b> }</b></p><p><b> else </b><
60、;/p><p> printf("\n\tno such records");</p><p> fclose(fp);</p><p><b> }</b></p><p> printf("\n\tpress any key to continue...");</p&
61、gt;<p> getchar();</p><p><b> }</b></p><p> void list()</p><p> {struct song a;</p><p> FILE * fp;</p><p> if((fp=fopen("a.tx
62、t","rb"))==NULL)</p><p> {printf("can't open file a.txt");exit(0);}</p><p> printf("\n\n\n\tnum\t\tmname\t\t\tzhuanji\t\tsname\n");</p><p>
63、 while(fread(&a,sizeof(a),1,fp)!=0) printf("\t%ld\t%s\t\t%s\t\t%s\n",a.num,a.mname,a.zhuanji,a.sname);</p><p> fclose(fp);</p><p><b> }</b></p><p> int
64、 insert(int x)</p><p><b> {char ch;</b></p><p><b> int N=x;</b></p><p> FILE * fp;</p><p> if((fp=fopen("a.txt","ab"))==
65、NULL)</p><p> {printf("can't open file a.txt");exit(0);}</p><p><b> do</b></p><p> {printf("\ninformation of song %d:",N+1);</p><p&
66、gt; printf("\nnum:");scanf("%ld",&a.num);</p><p> printf("\nmname:");scanf("%s",a.mname);</p><p> printf("\nzhuanji:");scanf("%s&quo
67、t;,&a.zhuanji);</p><p> printf("\nsname:");scanf("%s",&a.sname);</p><p><b> N+=1;</b></p><p> fwrite(&a,sizeof(a),1,fp);</p>&l
68、t;p> printf("have another song add(y/n)?");</p><p> getchar();</p><p> ch=getchar();</p><p> }while(ch=='y');</p><p> fclose(fp);</p>&
69、lt;p><b> return N;</b></p><p><b> }</b></p><p> void quit()</p><p><b> {exit(0);</b></p><p><b> }</b></p>
70、<p> void menu()</p><p> {textbackground(10);</p><p> textcolor(128);</p><p><b> clrscr();</b></p><p> {printf("\n\t\t**********************
71、*********************************\t\t\n");</p><p> printf("\n\t\t\t\ Welcome To Use This System \t\t\t\t\t\n");</p><p> printf("\n\t\t\t** '1' creat new reco
72、rd **\t\t\n");</p><p> printf("\n\t\t\t** '2' search record **\t\t\n");</p><p> printf("\n\t\t\t** '3' add new record **\t\t\n&quo
73、t;);</p><p> printf("\n\t\t\t** '4' list all records **\t\t\n");</p><p> printf("\n\t\t\t** '5' delete the record **\t\t\n");</p><p&
74、gt; printf("\n\t\t\t** '6' out **\t\t\n");</p><p> printf("\n\t\t\t** Made By Group One **\t\t\n");</p><p> printf("\n\t\t******
75、*************************************************\t\t\n");</p><p> printf("\n\t\t\tenter your choice:");</p><p><b> } }</b></p><p><b> main()&l
76、t;/b></p><p> {char choice; int res=0;</p><p><b> while(1)</b></p><p> {clrscr();</p><p><b> menu();</b></p><p><b> s
77、ound3();</b></p><p> scanf("%c",&choice);</p><p> switch(choice)</p><p> {case '1': getchar();creatfile();break;</p><p> case '2'
78、;: getchar();searchid();break;</p><p> case '3': getchar();res=insert(res);break;</p><p> case '4': getchar();list();getchar();break;</p><p> case '5': ge
79、tchar();delete();break;</p><p> case '6': quit();break;</p><p><b> } }</b></p><p><b> }</b></p><p><b> 課程設(shè)計(jì)總結(jié)</b></
80、p><p> 做了一周的課程設(shè)計(jì),有很多的心得體會(huì),更多的是同學(xué)之間的合作精神, 這道課程設(shè)計(jì)花了我們一周的時(shí)間,幾人合作,老師的幫忙才完成。我第一次完成這么完美的杰作,心理有一份別樣的滋味,在設(shè)計(jì)過(guò)程中,我付出了很多,也懂得了只有付出才有回報(bào)。在這次設(shè)計(jì)中,我遇到了很多困難,但我沒有向困難低頭,通過(guò)查詢資料,虛心向同學(xué)、老師請(qǐng)教,才一一得到了解決。我發(fā)現(xiàn)平時(shí)學(xué)的太少了,在今后我首先要把老師在課堂講的弄懂,弄透,在
81、此基礎(chǔ)上利用課余時(shí)間多看課外書籍,拓寬知識(shí)面。</p><p> 在設(shè)計(jì)過(guò)程中,合作精神必不可少。單憑一個(gè)人的力量是不能完成的,畢竟一個(gè)人學(xué)的很有限。每個(gè)人掌握的不同。我相信:態(tài)度決定一切,只有努力才有收獲。</p><p><b> 小結(jié):</b></p><p> 程序設(shè)計(jì)過(guò)程猶如解決實(shí)際問(wèn)題,從解決實(shí)際問(wèn)題的角度,我們可以這樣來(lái)看:
82、首先要了解這個(gè)問(wèn)題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問(wèn)題的要害入手,從前到后的解決問(wèn)題的每個(gè)方面,即從輸入開始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個(gè)過(guò)程中,可確定所需的變量、數(shù)組、函數(shù),然后確定處理過(guò)程--算法??傻米詈蠼Y(jié)論。</p><p> 在程序設(shè)計(jì)中,可認(rèn)為也是一個(gè)社會(huì),每一個(gè)社會(huì)成員都有不同的想法。程序設(shè)計(jì)學(xué)得的好壞要看你在社會(huì)中解決問(wèn)題的能力的高低,所以不同的人編程的
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ktv點(diǎn)歌系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--ktv點(diǎn)歌系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--ktv在線點(diǎn)歌系統(tǒng)
- ktv點(diǎn)歌系統(tǒng)畢業(yè)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)畢業(yè)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- ktv點(diǎn)歌系統(tǒng)測(cè)試用例
- c語(yǔ)言課程設(shè)計(jì)-ktv歌曲系統(tǒng)
- ktv包廂點(diǎn)歌服務(wù)標(biāo)準(zhǔn)
- 微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)
- 基于qt的ktv點(diǎn)歌系統(tǒng)畢業(yè)論文
- 計(jì)件系統(tǒng)設(shè)計(jì) 課程設(shè)計(jì)報(bào)告
- 評(píng)分系統(tǒng)課程設(shè)計(jì)-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 倉(cāng)庫(kù)管理系統(tǒng)--課程設(shè)計(jì)報(bào)告報(bào)告
- java課程設(shè)計(jì)----課程設(shè)計(jì)報(bào)告
- fpga課程設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 在線點(diǎn)歌系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【開題報(bào)告】
- 宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--學(xué)生測(cè)評(píng)系統(tǒng)
- 倉(cāng)儲(chǔ)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論