中 國 地 質(zhì) 大 學(xué)
課程名稱 計(jì)算機(jī)高級(jí)語言課程設(shè)計(jì)(C)
教師姓名 劉 剛
本科生姓名 張 沫
本科生學(xué)號(hào) 20121002504
本科生專業(yè) 地球化學(xué)
所在院系 地球科學(xué)學(xué)院
類別: . 本科生
日期: 2015年1月23日
對(duì)課程論文的評(píng)語: |
平時(shí)成績: | 課程論文成績: |
總 成 績: | 評(píng)閱人簽名: |
這個(gè)問題的第一個(gè)算法要求簡單,但是要注意在程序中判斷最大,最小的變量是如何賦值;第二個(gè)要求要考慮效率,要用到排序技術(shù)。注意,要用到文件儲(chǔ)存信息。
數(shù)據(jù)結(jié)構(gòu)體設(shè)計(jì):定義結(jié)構(gòu)體變量struct people,進(jìn)行數(shù)據(jù)輸入,輸出,保存,修改等功能。
其中定義M=50,指該數(shù)據(jù)庫最多能放50組數(shù)據(jù)。N為可變數(shù)據(jù)組數(shù),即當(dāng)前數(shù)據(jù)組數(shù)。
printf(" ****************************************\n");
printf(" * 5:退出 6:計(jì)算 *\n");
printf(" ****************************************\n");
printf("\n\n 請(qǐng)輸入選擇功能序號(hào):");
scanf("%d",&sele); //通過輸入按鍵來判斷執(zhí)行那個(gè)步驟
case 2:display();delete1();break;
case 3:apepend();display();break;
case 4:display();modify();break;
case 6:caculate();display();break;
/*先定義一個(gè)結(jié)構(gòu)體struct people,包含每位歌星的評(píng)分信息,在用可讀的方式打開文件zhongmo.txt.*/
/*M為最多的明星個(gè)數(shù),程序中采用宏定義的方式,可以隨時(shí)改變?cè)闯绦蛑卸x的修改值。本程序中宏定義:#define M 50。*/
while(fscanf(fp,"%s%s%d%d%d",ss[i].name,&ss[i].xuhao,&ss[i].pinjunfen,
ss[i].xuanpingwei[0],ss[i].xuanpingwei[1]
/*本程序?yàn)榱撕喕?jì)算結(jié)果,分?jǐn)?shù)采用100進(jìn)制整數(shù)形式,如果需要修改,可以定義為float類型。*/
本程序的目的是為了計(jì)算出每位明星的平均分和最佳或者最差評(píng)分員。采用冒泡法來計(jì)算最小值和最大值,從而判斷平均值。在判斷最好和最差評(píng)分員。
{char fenshu[10],zhongjinazhi;
zhonggong=zhonggong+fenshu[i];
zuidazhi=abs(zhonggong-ss[k].pingfen[0])
if(abs(zhonggong-ss[k].pingfen[i])>zuidazhi)
ss[k].xuanpingwei[0]=j;//最差評(píng)委
zuixiaozhi=abs(zhonggong-ss[k].pingfen[0]);
if(zuixiaozhi>abs(zhonggong-ss[k].pingfen[i]))
zuixiaozhi=abs(zhonggong-ss[k].pingfen[i]);
ss[k].xuanpingwei[1]=j;//最好評(píng)委
scanf("%d",&n); N=N+n; //新增人數(shù)疊加,不影響原來的明星
printf("\n現(xiàn)在,輸入相關(guān)信息:\n");
scanf("%s",&ss[N-n-1+i].name);
scanf("%s",&ss[N-n-1+i].xuhao);
scanf("%d",&ss[N-n-1+i].pingfen[j]);
該程序的功能是根據(jù)姓名或者序號(hào)修改明星的評(píng)分,序號(hào),或者姓名。
printf(" *******************************************\n");
printf(" * 1:姓名 2:序號(hào) *\n");
printf(" *******************************************\n");
printf("請(qǐng)輸入修改選項(xiàng):");
printf("序號(hào) 歌星 評(píng)委1 2 3 4 5 6 7 8 9 10 平均分最差評(píng)委最好評(píng)委\n");
printf("%3s%6s%8d%5d%5d%4d%4d%4d%4d%4d%4d%4d%8d%8d%6d\n",ss[j].xuhao,ss[j].name,
ss[j].pingfen[0],ss[j].pingfen[1],ss[j].pingfen[2],ss[j].pingfen[3],
ss[j].pingfen[4],ss[j].pingfen[5],ss[j].pingfen[6],ss[j].pingfen[7],
ss[j].pingfen[8],ss[j].pingfen[9],ss[j].pinjunfen,ss[j].xuanpingwei[0],
printf(" ********************************************************************\n");
printf(" * 1:序號(hào) 2:歌星名 3:評(píng)分 *\n");
printf(" ********************************************************************\n");
case 1:printf("序號(hào)改為:");scanf("%s",&ss[j].xuhao);break;
case 2:printf("姓名改為:");scanf("%s",ss[j].name);break;
scanf("%f",&ss[i].pingfen[i]);
該程序的功能是根據(jù)序號(hào)或者明星姓名刪除某位明星的評(píng)分?jǐn)?shù)據(jù)。
printf(" ******************************************************************\n");
printf(" * 1:歌星名 2:序號(hào) *\n");
printf(" ******************************************************************\n");
該模塊的功能是顯示所有的明星評(píng)分?jǐn)?shù)據(jù)。
printf("序號(hào) 歌星 評(píng)委1 2 3 4 5 6 7 8 9 10 平均分最差評(píng)委最好評(píng)委\n");
{ printf("%3s%6s%8d%5d%5d%4d%4d%4d%4d%4d%4d%4d%8d%8d%6d\n",ss[j]. xuhao,ss[j].name,
ss[j].pingfen[0],ss[j].pingfen[1],ss[j].pingfen[2],ss[j].pingfen[3],
ss[j].pingfen[4],ss[j].pingfen[5],ss[j].pingfen[6],ss[j].pingfen[7],
ss[j].pingfen[8],ss[j].pingfen[9],ss[j].pinjunfen,ss[j].xuanpingwei[0],
printf("序號(hào) 歌星 評(píng)委1 2 3 4 5 6 7 8 9 10 平均分最差評(píng)委最好評(píng)委\n");
通過輸入序號(hào)或者歌星名,調(diào)取歌星的信息
printf(" ********************************************************************\n");
printf(" * 1:歌星名 2:序號(hào) *\n");
printf(" ********************************************************************\n");
printf("序號(hào) 歌星 評(píng)委1 2 3 4 5 6 7 8 9 10 平均分最差 評(píng)委最好評(píng)委\n");
for(i=0;i<t;i++) printf("%3s%6s%8d%5d%5d%4d%4d%4d%4d%4d%4d%4d%8d%8d%6d\n",ss[i].xuhao,ss[i].name,
ss[i].pingfen[0],ss[i].pingfen[1],ss[i].pingfen[2],ss[i].pingfen[3],
ss[i].pingfen[4],ss[i].pingfen[5],ss[i].pingfen[6],ss[i].pingfen[7],
ss[i].pingfen[8],ss[i].pingfen[9],ss[i].pinjunfen,ss[i].xuanpingwei[0],
5.5修改模塊:按2修改。已將序號(hào)2變成了序號(hào)33.
5.6刪除模塊:已將序號(hào)為33的學(xué)員信息刪除。
5.7計(jì)算模塊:計(jì)算當(dāng)前輸入信息,判斷平均分,最好評(píng)委,最差評(píng)委。
[1] 譚浩強(qiáng). C程序設(shè)計(jì)(第三版)[M]. 北京: 清華大學(xué)出版社, 2005.
[2] 張冬梅, 劉遠(yuǎn)興, 陳晶, 等. 基于PBL的C語言課程設(shè)計(jì)及學(xué)習(xí)指導(dǎo)[M]. 北京: 清華大學(xué)出版社, 2011.
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |