C語言課程設(shè)計(jì)——歌手大賽管理程序_第1頁
C語言課程設(shè)計(jì)——歌手大賽管理程序_第2頁
C語言課程設(shè)計(jì)——歌手大賽管理程序_第3頁
C語言課程設(shè)計(jì)——歌手大賽管理程序_第4頁
C語言課程設(shè)計(jì)——歌手大賽管理程序_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)題目名稱:歌手大賽管理程序?qū)W號(hào):10010133姓名:燕少博完成日期:2011年12月12日第2題 歌手大賽管理程序【題目描述】請?jiān)O(shè)計(jì)一個(gè)歌手大賽的管理程序。歌手信息包括:歌手編號(hào)、姓名、身份證號(hào)、性別、出生日期(含年、月、日)、評(píng)委的打分(假設(shè)10個(gè)評(píng)委)等。該程序應(yīng)該具有下列功能:(1) 錄入全部歌手的基本信息,歌手的編號(hào)按順序生成,評(píng)委的打分隨機(jī)生成;(2) 顯示全部歌手的信息;(3) 添加一個(gè)歌手的信息;(4) 給定歌手編號(hào),修改此編號(hào)的歌手信息,要求有修改確認(rèn); (5)給定歌手名稱,刪除此名稱的歌手信息,要求有刪除確認(rèn); (6) 給定歌手編號(hào),顯示該歌手的基本情況、所有評(píng)委的

2、打分和最后得分;(7) 給定一個(gè)值,顯示得分大于該值的歌手的信息和得分;(8) 給定一個(gè)出生日期,顯示在此日期出生以后的所有歌手的信息和得分;(9)按歌手出生年齡排序。(10)自己提供一些按各類信息進(jìn)行排序、統(tǒng)計(jì)各類信息的功能(自己發(fā)揮);【題目要求】(1) 按照分析、設(shè)計(jì)、編碼、調(diào)試和測試的軟件開發(fā)過程完成這個(gè)應(yīng)用程序;(2) 為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目?!据斎胍蟆繎?yīng)用程序運(yùn)行后,在屏幕上顯示一個(gè)菜單。用戶可以根據(jù)需求,選定相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后(若需要,還可顯示子菜單),根據(jù)應(yīng)用程序的提示信息,從鍵盤輸入相

3、應(yīng)的信息。要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等?!据敵鲆蟆?1) 應(yīng)用程序運(yùn)行后,要在屏幕上顯示一個(gè)菜單;(2) 要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。 (3)輸出的結(jié)果要清晰美觀,以表格形式上下對齊?!咎崾尽渴褂媒Y(jié)構(gòu)類型和一維數(shù)組,用來保存軟件信息。 歌手大賽管理程序一 程序說明1.系統(tǒng)概述歌手大賽管理程序是運(yùn)行于Windows系統(tǒng)下的應(yīng)用軟件,主要對于歌手的姓名,性別,生日,歌名等自然信息以及得分進(jìn)行增,減,改,查,統(tǒng)計(jì),排序等操作,并且還可以對使用該系統(tǒng)的用戶進(jìn)行登錄。系統(tǒng)給用戶提供了一個(gè)簡

4、單的人機(jī)界面,使用戶可以根據(jù)提示輸入操作項(xiàng),調(diào)用系統(tǒng)提供的管理功能。2.系統(tǒng)運(yùn)行環(huán)境 *操作系統(tǒng):windows98/2000/XP3功能需求描述(1).用戶登錄:根據(jù)用戶輸入的密碼判斷是否允許該用戶使用本系統(tǒng)。(2).主菜單:列出了該系統(tǒng)的所有功能,用戶可以根據(jù)需要選擇相應(yīng)的功能。主要包括:錄入歌手信息,顯示歌手信息,增加歌手信息,修改歌手信息,刪除歌手信息,查詢歌手,對歌手信息進(jìn)行排序,對歌手信息進(jìn)行統(tǒng)計(jì),退出程序。(3).錄入歌手信息:用戶可根據(jù)提示從鍵盤輸入歌手的各項(xiàng)信息。歌手信息包括:歌手姓名,歌手性別,歌手生日,歌手身份證號(hào),歌手的歌名。(4).顯示歌手信息:用戶通過選擇可以將從鍵

5、盤輸入的歌手信息及按順序生成的歌手編號(hào)及隨機(jī)產(chǎn)生的歌手成績輸出到屏幕。(5).增加歌手信息:添加一個(gè)歌手的信息,用戶選擇后通過鍵盤輸入所添加的歌手的信息,并將輸入的歌手信息儲(chǔ)存起來。(6).修改歌手信息:提示用戶輸入要修改的歌手的編號(hào),姓名或者歌名。如果該歌手存在,用戶可以對該歌手的姓名,性別,生日,身份證號(hào)及歌名進(jìn)行修改,并將修改后的信息儲(chǔ)存起來。(7).刪除歌手信息:提示用戶輸入要?jiǎng)h除的歌手的編號(hào),姓名或者歌名。如果歌手存在,用戶可以刪除該歌手的所有信息。并將刪除后的所有歌手信息儲(chǔ)存起來。(8).查詢歌手:提示用戶輸入要查詢的歌手的編號(hào),姓名或者歌名,如果該歌手存在,將輸出該歌手的所有信息

6、。(9).排序:系統(tǒng)提供按出生年月日和成績兩種方式排序,用戶可以根據(jù)需要選擇相應(yīng)的排序方式,并將排序后的歌手信息輸出出來。(10).統(tǒng)計(jì):提示用戶輸入出生年月日或成績,將會(huì)輸出在該年月日以后的所有歌手信息或成績大于該值得所有用戶信息。二問題分析在這個(gè)程序中,處理的主要對象是歌手的信息(歌手編號(hào),姓名,歌名,身份證號(hào),性別,出生年月日,評(píng)委的打分)。用下面的結(jié)構(gòu)類型表示。 typedef struct int year; /*出生年份*/ int month; /*出生月份*/ int day; /*出生日期*/ DATE;typedef struct int num; /*編號(hào)*/ char

7、name32; /*姓名*/ char sex20; /*性別*/ char ID16; /*身份證號(hào)*/ DATE birthday; /*生日*/ char songname32; /*歌名*/ int grade; /*總成績*/ int sorce10; /*評(píng)委打分*/ INFO;可以將解決這個(gè)問題的一系列操作分解成若干個(gè)模塊。如下:歌手大賽管理程序main()統(tǒng)計(jì)模塊statistics()顯示歌手信息Shows()輸入歌手信息Input()選擇菜單menu()添加歌手信息add()修改歌手信息modify()刪除歌手信息delete()查詢模塊Search()歌手排序sort()

8、用戶登錄load() 按歌名修改按姓名修改按編號(hào)修改按編號(hào)刪除按姓名刪除按歌名刪除按成績統(tǒng)計(jì)按年齡統(tǒng)計(jì)按編號(hào)查詢按姓名查詢按歌名查詢按得分排序按年齡排序三設(shè)計(jì)上述10個(gè)模塊分別用22個(gè)函數(shù)實(shí)現(xiàn),除main()外,其余函數(shù)的原型設(shè)計(jì)如下。int load();這個(gè)函數(shù)負(fù)責(zé)用戶登錄。Void menu();這個(gè)函數(shù)負(fù)責(zé)顯示菜單的內(nèi)容。Int input();用于輸入歌手信息;Int shows();用于顯示歌手信息;Void add();這個(gè)函數(shù)用于增加歌手的信息。Void modify();這個(gè)函數(shù)用于修改歌手的信息。Void delete();這個(gè)函數(shù)用于刪除歌手信息。Void search(

9、);用于查詢歌手信息。Void sort();用于歌手信息的排序。其余輔助函數(shù):int function(); int input(INFO s); void shows(INFO s); void menu(); void load(); int choiceitem();Main()函數(shù)的算法流程圖開始 int modify(); int nummodify(); int namemondify(); 登錄 int songnamemodify(); int add(); int delete();主菜單 int namedelete(); int numdelete(); int son

10、gnamedelete();Case 1 void search();輸入 void numsearch(); void namesearch();N void songnamesearch();輸出Case 2 void sort(); void sortbirthday();N void sortgrade();添加Case 3 void statistics(): void sbirthday();N void sgrade(); 子菜單Case 4 子菜單NCase 5 子菜單NCase 6子菜單YNCase 7N子菜單Case 8NCase 0YN非0結(jié)束N開始Y添加確認(rèn)Y輸入姓名輸

11、入性別輸入生日N輸入歌名退出確認(rèn)Y結(jié)束add()函數(shù)算法流程圖完成確認(rèn)開始NN菜單YYYNNNYcase 3case 4case 2case 1case 1YYYNNNYNcase 2case 4case 3case 2case 1YYYYNNNNcase 3case 4case 3case 2case 1Ncase 4結(jié)束modify()函數(shù)和delete()函數(shù)的算法流程圖開始N菜單是否結(jié)束numsearch();case 1Nnamesearch();case 2Nsongnamesearch();case 3Ncase 4結(jié)束()函數(shù)的算法流程圖開始N菜單是否結(jié)束Ysortbirthd

12、ay();case 1NYsortgrade();case 2Ncase 3Y結(jié)束sort()函數(shù)的算法流程圖開始N開始是否結(jié)束Ycase 1sbirthday();NYcase 2sgrade();Ncase 3Y結(jié)束statistics()函數(shù)的算法流程圖四程序代碼#include #include #include #include #define N 100#define Z 10typedef struct int year; int month; int day; DATE;typedef struct int num; char name32; char sex20; char

13、ID40; DATE birthday; char songname32; int grade; int sorce10; INFO; int function(); int input(INFO s); void shows(INFO s); void menu(); void load(); int choiceitem(); int modify(); int nummodify(); int namemondify(); int songnamemodify(); int add(); int delete(); int namedelete(); int numdelete(); i

14、nt songnamedelete(); void search(); void numsearch(); void namesearch(); void songnamesearch(); void sort(); void sortbirthday(); void sortgrade(); void statistics(); void sbirthday(); void sgrade(); INFO sN; DATE date; int sum=0;main() clrscr(); load(); function();function() int choice; clrscr(); d

15、o clrscr(); menu(); scanf(%d,&choice); switch(choice) case 1: input(s); break; case 2: shows(s); break; case 3: add(); break; case 4: modify(); break; case 5: delete(); break; case 6: search(); break; case 7: sort(); break; case 8: statistics(); break; case 0: exit(0); while(choice!=0);void load() i

16、nt i; char password20; printf(nn =PLEASE LOAD=); for(i=0;i4;i+) printf(n = =); printf(n = welcome to use the system of singer info =); for(i=0;i3;i+) printf(n = =); printf(n =); printf(n the password :); gets(password); while(strcmp(password,song)!=0) printf(nn wrong!); printf(n please enter the pas

17、sword again :); gets(password); void menu() printf(nn =MENU=); printf(n = 1.input =); printf(n = 2.shows =); printf(n = 3.add =); printf(n = 4.modify =); printf(n = 5.delete =); printf(n = 6.search =); printf(n = 7.sort =); printf(n = 8.statistics =); printf(n = 0.exit =); printf(n =); printf(n plea

18、se choice0-8:); int input(INFO s) int i,q,a; system(cls); printf(n please enter the singer info :n); for(i=1;i=N;i+) int mum=0; system(cls); sum=sum+1; for(a=1;a16) system(cls); for(k=1;k16) for(i=(k-1)*16+1;i=k*16+1;i+) si.num=i; printf(|%2d,si.num); printf(%16s,); printf(%6s,si.sex); printf

19、(%20s,si.ID); printf(%6d/%2d/%2d,si.birthday.year, si.birthday.month,si.birthday.day); printf(%15s,si.songname); printf(%6d|n,si.grade); printf(n Press any key to the next page :); scanf(%c,z); if(z!=0) continue; if(sum-(k*16-15)=16) for(i=(k-1)*16+1;i=sum-(k-1)*16;i+) si.num=i; printf(|%2d,si.num);

20、 printf(%16s,); printf(%6s,si.sex); printf(%s,si.ID); printf(%6d/%2d/%2d,si.birthday.year, si.birthday.month,si.birthday.day); printf(%15s,si.songname); printf(%6d|n,si.grade); printf(n Press any key to the next page :); scanf(%c,z); if(z!=0) continue; printf(|=|); printf(nplease enter any ke

21、y to continue :); scanf(%c,c); function(); if(sum=16) system(cls); printf(|=SINGER INFO=|n); printf(|num | name| sex| idnum | birthday | songname |grade|n); printf(|-|n); for(i=1;i=sum;i+) si.num=i; printf(|%2d,si.num); printf(%16s,); printf(%6s,si.sex); printf(%20s,si.ID); printf(%6d/%2d/%2d

22、,si.birthday.year, si.birthday.month,si.birthday.day); printf(%15s,si.songname); printf(%6d|n,si.grade); printf(|=|); printf(nplease enter any key to continue :); scanf(%c,c); function(); int modify() int a,b; system(cls); printf( =CHOICE=n); printf( = 1.modify by number =n); printf( = 2.modify by n

23、ame =n); printf( = 3.modify by songname =n); printf( = 4.back to menu =n); printf( =n); printf( choice :); scanf(%d,&a); switch(a) case 1:nummodify(); break; case 2:namemodify(); break; case 3:songnamemodify(); break; case 4: function(); break; default: system(cls); printf(nn There is no this number

24、 !nn Press 1 to continue delete,press 2 back to menu :); scanf(%d,&b); if(b=1) delete(); if(b=2) function(); int nummodify() int i,k,l,h,ja; int j=0; int f; char js,jd; system(cls); printf(nnnnnplease enter the singers number you want to modify :); scanf(%d,&f); system(cls); for(i=1;i=sum;i+) si.num

25、=i; if(f=si.num) j+; printf(the %2d singer info is n,&si.num); printf(-n); printf(|num | name| sex| idnum | birthday | songname |grade|n); printf(-|n); si.num=i; printf(|%2d,si.num); printf(%16s,); printf(%6s,si.sex); printf(%20s,si.ID); printf(%6d/%2d/%2d,si.birthday.year, si.birthday.month,

26、si.birthday.day); printf(%15s,si.songname); printf(%6d|n,si.grade); printf(nn-|n); printf(n Are you sure to modify it ! n please choice !n 1(continue)n 2(back to menu):); scanf(%d,&h); if(h=2) return function(); else system(cls); printf( what info dou you want to modify :n); printf( -n); printf( = 1

27、.name =n); printf( = 2.sex =n); printf( = 3.idnum =n); printf( = 4.birthday =n); printf( = 5.songname =n); printf( -n); printf( please choice :); scanf(%d,&l); system(cls); switch(l) case 1:printf(nenter the name :); scanf(%s,); break; case 2:printf(nenter the sex(man/woman) :); scanf(%s,si.s

28、ex); break; case 3:printf(nenter the idnum(18number) :); scanf(%s,si.ID); while(strlen(si.ID)!=18) printf(n wrong! IDnum is 18 number!); printf(n enter the idnum again :); scanf(%s,si.ID); break; case 4:printf(nenter the birhtday :); scanf(%d%d%d,&si.birthday.year,&si.birthday.month,&si.birthday.day

29、); break; case 5:printf(nenter the songanme :); scanf(%s,si.songname); break; default:printf(nerror! please check up the number you enter !); printf(press any key to continue !); scanf(%c,js); if(js!=0) return modify(); system(cls); printf(nnmodify sucessfully! ); printf(nnnPress 1 to continue modif

30、y! press 2 back to menu!); scanf(%d,&ja); if(ja=1) modify(); if(ja=2) return function(); if(j=0) printf(nnThere is no this number! please check up!); printf(npress any key to continue!); scanf(%c,jd); if(jd!=0) return modify(); int namemodify() int i,k,l,h,ja; int j=0; char mname40; char js,jd; syst

31、em(cls); printf(nnnnnplease enter the singers name you want to modify :); gets(mname); system(cls); for(i=1;i=sum;i+) si.num=i; if(strcmp(mname,)=0) j+; printf(the %2d singer info is n,&si.num); printf(-n); printf(|num | name| sex| idnum | birthday | songname |grade|n); printf(-|n); si.num=i;

32、 printf(|%2d,si.num); printf(%16s,); printf(%6s,si.sex); printf(%20s,si.ID); printf(%6d/%2d/%2d,si.birthday.year, si.birthday.month,si.birthday.day); printf(%15s,si.songname); printf(%6d|n,si.grade); printf(nn-|n); printf(n Are you sure to modify it ! n please choice !n 1(continue)n 2(back to menu):); scanf(%d,&h); if(h=2) return function(); else system(cls); printf( what info dou you want to modify :n); printf( -n); printf( = 1.name =n); printf( = 2.sex =

溫馨提示

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

評(píng)論

0/150

提交評(píng)論