版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語(yǔ)言課程設(shè)計(jì)報(bào)告</b></p><p><b> 學(xué)生:定明靜</b></p><p> 學(xué)號(hào):20061003225</p><p> 班級(jí):19106922</p><p><b> 一、題目要求</b></p>&l
2、t;p> ?。?)在歌星打獎(jiǎng)賽中,有10個(gè)評(píng)委為參賽的選手打分,分?jǐn)?shù)為1~100分。選手最后得分為:去掉一個(gè)最高分和一個(gè)最低分后其余8個(gè)分?jǐn)?shù)的平均值。請(qǐng)編寫一個(gè)程序?qū)崿F(xiàn)。</p><p> ?。?)同時(shí)對(duì)評(píng)委進(jìn)行裁判,即在10個(gè)評(píng)委中找出最公平(即評(píng)分最接近平均分)和最不公平(即與平均分差距最大)的評(píng)委。</p><p><b> 二、需求分析</b><
3、/p><p> 根據(jù)題目要求,第一個(gè)的算法要在程序中判斷最大最小的變量是如何賦值的。第二個(gè)為了考慮效率,要用到排序技術(shù)。</p><p><b> 三、總體設(shè)計(jì)</b></p><p> 四、詳細(xì)設(shè)計(jì) </p><p> #include<stdio.h> </p
4、><p> #include"math.h"</p><p> #define stu struct judge</p><p><b> stu</b></p><p><b> {</b></p><p> int score; /*結(jié)構(gòu)
5、體*/</p><p> double cha;</p><p> char name[20];</p><p><b> };</b></p><p> void main() /*主函數(shù)*/</p><p> { int i,</p><p> m
6、ax=1,min=100,sum=0;</p><p> double aver,h=1.0,k=100.0;</p><p> stu jud[10];</p><p> printf("Please input datas:"); </p><p> for(i=0;i<10;i++)</p>
7、<p> scanf("%d,%s",&jud[i].score,&jud[i].name);</p><p> for(i=0;i<10;i++)</p><p> { sum+=jud[i].score; </p><p> if(jud[i].score<min)min=jud[i].sco
8、re; /*找出最低分*/</p><p> if(jud[i].score>max)max=jud[i].score; /*找出最高分*/</p><p><b> }</b></p><p> printf("\nmax=%d,min=%d",max,min);</p><p>
9、 aver=((sum-max-min)/8);</p><p> printf("\naver=%f",aver); /***平均分***/</p><p> for(i=0;i<10;i++)</p><p> { jud[i].cha=fabs(jud[i].score-aver);</p><p>
10、 printf("\n%f",jud[i].cha);</p><p> if(jud[i].cha<k)k=jud[i].cha;</p><p> if(jud[i].cha>h)h=jud[i].cha;</p><p><b> }</b></p><p> for(i=
11、0;i<10;i++)</p><p> {if(k==jud[i].cha)printf("\nThe most fair judge's name is %s",jud[i].name);/*最公平評(píng)委*/</p><p> if(h==jud[i].cha)printf("\nThe most unfair judge's na
12、me is %s",jud[i].name);/*最不公平評(píng)委*/</p><p><b> }</b></p><p><b> 運(yùn)行結(jié)果如圖 :</b></p><p><b> 雜志訂閱管理軟件</b></p><p><b> 一、題目要求&
13、lt;/b></p><p> 使用計(jì)算機(jī)對(duì)一種雜志的訂閱進(jìn)行管理,該雜志擁有最多訂戶不超過(guò)10人,每個(gè)訂戶的信息包括:姓名、性別、地址、電話號(hào)碼、雜志單價(jià)、訂閱數(shù)、訂閱期限(至年月).現(xiàn)要求用彩旦選者并完成下述的功能:</p><p> 增加新訂戶,即將訂戶的全部信息輸入到文件中;</p><p> 根據(jù)當(dāng)天的日期對(duì)訂戶文件進(jìn)行查詢, 刪除已經(jīng)到期的訂
14、戶記錄;</p><p> (3)統(tǒng)計(jì)本期雜志訂戶數(shù)并打印運(yùn)算結(jié)果;</p><p><b> 本期訂戶信息表</b></p><p> 訂戶名 訂閱數(shù) 單價(jià) 金額</p><p> 李平 2 5.5 11.0</p><p> 黃海
15、 1 5.5 5.5</p><p> 合計(jì) 3 1.0 16.5</p><p><b> 需求分析</b></p><p> 根據(jù)題目要求,訂戶的信息用文件存儲(chǔ),提供文件的輸入輸出操作;提供文件的添加操作增加新訂戶 ;對(duì)訂戶文件的查尋,提供文件的查找操作;通過(guò)文件的刪除操
16、作刪除已到期的訂戶記錄;提供統(tǒng)計(jì)和顯示操作統(tǒng)計(jì)本期雜志訂戶數(shù)并打印運(yùn)算結(jié)果;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p><b> 總體設(shè)計(jì)</b></p><p><b> 四 詳細(xì)設(shè)計(jì)主函數(shù)</b></p><p><b> N</b></p><p>
17、<b> Y </b></p><p> #include<stdio.h>#include<stdlib.h>#include<string.h>#define N 10struct user</p><p> { char name[10]; char sex[5]; char
18、 address[10]; char phone[20]; int amount; float price; char date[20];} U[N];void input(int);void printf_one(int i);void printf_back();void add();void printf_head();void enter();void del();
19、void browse();void search();int printf_message();int save(int n);int load();void printf_face();void printf_one(int i);void menu();void menu(){ int n,w1; do { puts("\t\t*******
20、*****************MENU********************"); puts("\t\t** </p><p><b> Y</b></p>&l
21、t;p> void enter(){int i,n;printf("\t\thow many users(1-%d)?:>>>",N);scanf("%d",&n);printf("\n\t\t enter message now\n\n");for(i=1;i<=n;i++) {printf("\n\t\
22、t input %dth user message.\n",i); input(i-1);</p><p> }if(i!=0) save(n);printf_back();}追加模塊</p><p> void add(){ int i,n,m,k; FILE *fp; n=load(); printf(
23、"\t\t how many users are you want to add(1-%d)?:",N-n); scanf("%d",&m); k=m+n; for(i=n+1;i<=k;i++) {printf("\n\t\t input %dth user message.\n",i-n); inpu
24、t(i-1); } if((fp=fopen("message.txt","ab"))==NULL) {printf("cannot open file\n"); } for(i=n;i<k;i++) { if(fwrite(&U[i],sizeof(st
25、ruct user),1,fp)!=1) printf("file write error\n"); }</p><p> fclose(fp); printf_back();}瀏覽模塊</p><p> void browse(){ int i,n; n=load();
26、0;printf_face(); for(i=0;i<n;i++) {if((i!=0)&&(i%10==0)) {printf("\n\n\t\t pass any key to continue ..."); getchar(); put
27、s("\n\n"); } printf_one(i); } printf("\n\t\t there are %d message.\n",n); printf("\n\t\t pass any key to back ...\n&q
28、uot;); getchar(); menu();}刪除模塊</p><p> void del(){ int n,k,i,w1=1,w2; struct user W; n=load();do { do { k=-1; printf("\n\n\t\t
29、 enter date that you want to search! date:"); scanf("%s",W.date); printf_face(); for(i=0;i<n;i++) if(strcmp(W.date,U[i].date)>0)
30、0;{ k=i; U[k].amount=0; printf_one(k); } if(k==-1) { printf("\n\n\t\t NO exist!please"); printf("\n\n\t\t
31、 are you again?\n\t 1).again 2).no and back [ ]\b\b"); scanf("%d",&w1); if(w1!=1) break;
32、0; } } while(k==-1&&w1==1); if(k</p><p> FILE *fp; float sum2=0.0,sum3=0.0,b[11]; char p[]={"total"}; if((fp=fopen("message.txt&qu
33、ot;,"rb"))==NULL) {printf("\n\t\t cannot write file\n"); return NULL; } // fwrite(&U[i],sizeof(struct user),1,fp); for(b[0]=0.0,i=0;i<n;i++) {&
34、#160; b[i]=U[i].amount*U[i].price; sum1+=U[i].amount; sum2+=U[i].price; sum3+=b[i]; } printf_head(); for(i=0;i<n;i++) { printf("\t\t%9s
35、 %d %4.2f %4.2f \n",U[i].name,U[i].amount,U[i].price,b[i]); } printf("\t\t%9s &
36、#160; %d %4.2</p><p><b> 瀏覽模塊</b></p><p><b> 刪除模塊</b></p><p><b> 查找模塊</b></p>
37、;<p><b> 打印模塊 </b></p><p><b> 退出 </b></p><p><b> 練習(xí)一</b></p><p> 編寫一個(gè)函數(shù),這個(gè)函數(shù)同時(shí)求出個(gè)學(xué)生成績(jī)的最高分、最低分、平均分以及超過(guò)平均分的認(rèn)輸,并編寫主函數(shù)完成:1、輸入個(gè)學(xué)生的成績(jī);2、調(diào)用此函
38、數(shù)進(jìn)行統(tǒng)計(jì);3、輸出統(tǒng)計(jì)結(jié)果。(要求使用動(dòng)態(tài)分配)</p><p> #include<stdio.h></p><p> #include"stdlib.h"</p><p> int over(int *p,int m)</p><p> {int i,k=0,max=0,min=100;</
39、p><p> float aver=0.0;</p><p> for(i=0;i<m;i++)</p><p> {aver+=*(p+i);</p><p> if(*(p+i)>max) max=*(p+i);</p><p> if(*(p+i)<min) min=*(p+i);<
40、/p><p><b> }</b></p><p><b> aver/=m;</b></p><p> printf("\n max=%d,\n min=%d,\n aver=%f",max,min,aver);</p><p> for(i=0;i<m;i++)&l
41、t;/p><p> {if(*(p+i)>=aver) k++;}</p><p> printf("\n k=%d",k);</p><p> return (0);</p><p><b> }</b></p><p> void main()</p>
42、;<p> int i,n,* score;int num;</p><p> printf("\n n=?");</p><p> scanf("%d",&n);</p><p> score=(int*)malloc(n*sizeof(int));</p><p>
43、if(!num||!score) exit(0);</p><p> printf("\n enter data:");</p><p> for(i=0;i<n;i++) scanf("%d",score+i);</p><p> over(score,n);</p><p> free
44、(score);</p><p> 運(yùn)行截圖如下: 窗體頂端</p><p><b> 練習(xí)二、</b></p><p> 用測(cè)試法求三色球問(wèn)題。若一個(gè)口袋中放有12個(gè)球,其中有3個(gè)紅的,3個(gè)白的6個(gè)黑的,從中任取8個(gè)球,問(wèn)共有多少種不同的顏色搭配?</p><p><b> 程序如下:</b&g
45、t;</p><p> #include<stdio.h></p><p> void main()</p><p> {int i,j,k,m=0;</p><p> for(i=0;i<=3;i++)</p><p> {for(j=0;j<=3;j++)</p>&
46、lt;p><b> k=7-i-j;</b></p><p> if(k>=0&&k<=6)m++;</p><p> printf("\n\n\n%d個(gè)紅球,\n%d個(gè)白球,\n%d個(gè)黑球",i,j,k);</p><p><b> }</b></p&g
47、t;<p> printf("\nThere are %d kinds",m);</p><p><b> }運(yùn)行截圖如下: </b></p><p><b> 練習(xí)三、</b></p><p> 用迭代法求x= 的值,迭代公式為Xn+1=(Xn+a/Xn)/2;<
48、;/p><p><b> 程序如下:</b></p><p> #include<stdio.h></p><p> #include<math.h></p><p> void main()</p><p> {float x1,x2,a;</p>&
49、lt;p> printf("\n a=?");</p><p> scanf("%f",&a);</p><p> scanf("%f",&x1);</p><p><b> while(1)</b></p><p> { x2=
50、(x1+a/x1)/2;</p><p> if(fabs(x2-x1)<1e-6)break;</p><p><b> x1=x2;</b></p><p><b> }</b></p><p> printf("\n %f",x2);</p>&
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—歌星大獎(jiǎng)賽評(píng)分系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—歌星大獎(jiǎng)賽評(píng)分系統(tǒng)
- c課程設(shè)計(jì)報(bào)告-超市管理系統(tǒng)
- 倉(cāng)庫(kù)管理系統(tǒng)c課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)—教師管理系統(tǒng)報(bào)告
- 酒店管理系統(tǒng)_c++課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告-- 圖書管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--車票管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c++課程設(shè)計(jì)報(bào)告-- 學(xué)籍管理系統(tǒng)
- 宿舍管理系統(tǒng)課程設(shè)計(jì)報(bào)告(c#)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---銷售管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)c課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--酒店管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--成績(jī)管理系統(tǒng)
- 車票管理系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)---職工管理系統(tǒng)設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論