投票程序c语言论文,c语言投票程序摘要.doc
c語(yǔ)言投票程序摘要.doc
本科生C語(yǔ)言課程設(shè)計(jì)論文
課程名稱 投票程序
教師姓名
本科生姓名
本科生學(xué)號(hào)
本科生專業(yè)
所在院系 機(jī)電學(xué)院
類 別:
日 期: 2012年6月
課程設(shè)計(jì)評(píng)語(yǔ)
對(duì)課程論文的評(píng)語(yǔ):
平時(shí)成績(jī):課程論文成績(jī):總 成 績(jī):評(píng)閱人簽名:
注:1、無(wú)評(píng)閱人簽名成績(jī)無(wú)效;
2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無(wú)效;
3、如有平時(shí)成績(jī),必須在上面評(píng)分表中標(biāo)出,并計(jì)算入總成績(jī)。
目 錄
課程設(shè)計(jì)評(píng)語(yǔ)2
目 錄3
1.課程論文題目4
2.程序設(shè)計(jì)思路4
3.功能模塊圖4
4.程序代碼5
5.程序運(yùn)行結(jié)果6
6.編程中遇到的困難及解決方法7
7.總結(jié)心得及良好建議7
8.致謝8
9.參考文獻(xiàn)8
(一)題目要求及提示
[要求]設(shè)有代號(hào)a,b,c的三個(gè)足球先生候選人,根據(jù)投票者在選票上對(duì)他們編號(hào)的填寫順序分別計(jì)分5,3,2。請(qǐng)變成從鍵盤上輸入投票人數(shù)及投票結(jié)果,統(tǒng)計(jì)他們的得分,并輸出哪位當(dāng)選足球先生。
若同一張票上寫有兩個(gè)相同的代號(hào),則顯示“此票無(wú)效”,
若最終前兩名得分相同應(yīng)顯示“重新投票”,否則顯示三個(gè)候選人得分并輸出“祝賀X當(dāng)選冠軍”。
[提示]數(shù)據(jù)結(jié)構(gòu)可用結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體成員包括代號(hào)、得分。或者采用二維數(shù)組,行方向?qū)?yīng)一張投票,列方向?qū)?yīng)各候選人的得分。棋盤位置用二維數(shù)組代表,初始狀態(tài)每一位置均為“ ”(空)。其分隔線(即棋盤線)可用- -或||來(lái)分隔。需要對(duì)每張選票上的候選人順序進(jìn)行分析,并統(tǒng)計(jì)每個(gè)人的得分,進(jìn)行比較,得出結(jié)果。
程序設(shè)計(jì)思路
本程序中要求候選人有編號(hào)和得票數(shù),且每張選票上要同時(shí)寫上三個(gè)候選人的編號(hào),最終輸出誰(shuí)是獲勝者。因此可以用結(jié)構(gòu)體來(lái)存儲(chǔ)候選人的信息。唱票中要求相對(duì)應(yīng)的編號(hào)分別記分為5、3、2,因此在記分程序中可以用一個(gè)條件表達(dá)式來(lái)進(jìn)行統(tǒng)計(jì)得分。統(tǒng)計(jì)結(jié)果中若前兩名有相同的得票數(shù)則要求重新投票。為此要求把三個(gè)后選人的總得分進(jìn)行比較,則可以用一個(gè)判斷語(yǔ)句來(lái)判斷,簡(jiǎn)單明了。定義結(jié)構(gòu)體存放候選人的信息,包括編號(hào)和得分。輸入投票總?cè)藬?shù)和投票結(jié)果,然后根據(jù)人數(shù)和投票結(jié)果進(jìn)行統(tǒng)計(jì)得分,把選票中有相同編號(hào)的去掉,只統(tǒng)計(jì)沒(méi)有相同編號(hào)的票數(shù)。然后對(duì)最終的分?jǐn)?shù)進(jìn)行比較,若存在前兩名的得分情況一樣,則需要重新投票,否則輸出誰(shuí)是獲勝者。
(三)功能模塊圖
(四)程序代碼
#include
main()
{
int a[3]={0},n,i,j,m=0,p;
char c[3];
start: printf("投票人數(shù):");
scanf("%d",&n);
printf("輸入投票內(nèi)容:");
getchar();
for(i=1;i<=n;i++)
{ gets(c);
if(c[0]==c[1]||c[1]==c[2]||c[0]==c[2])
{
printf("該票無(wú)效\n");continue;}
if(c[0]=='a')a[0]+=5;
else if(c[0]=='b')a[1]+=5;
else if(c[0]=='c')a[2]+=5;
if(c[1]=='a')a[0]+=3;
else if(c[1]=='b')a[1]+=3;
else if(c[1]=='c')a[2]+=3;
if(c[2]=='a')a[0]+=2;
else if(c[2]=='b')a[1]+=2;
else if(c[2]=='c')a[2]+=2;
}
printf("三位候選人得分\na:%d \nb:%d \nc:%d\n",a[0],a[1],a[2]);
if(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[0]||a[0]==a[1]&&a[0]>a[2]||a[0]==a[2]&&a[0]>a[1]||a[1]==a[2]&&a[1]>a[0])
{printf("重新投票\n");
goto start;
}
if(a[0]>a[1]&&a[0]>a[2])
if(a[1]>a[0]&&a[1]>a[2])m=1;
if(a[2]>a[0]&&a[2]>a[1])m=2;
printf("祝賀%c當(dāng)選冠軍!",'a'+m);
}
程序運(yùn)行結(jié)果
(六)總結(jié)
對(duì)于C語(yǔ)言的學(xué)習(xí),本人還是感覺(jué)多多動(dòng)手上機(jī)操作比較好,這樣我們才能學(xué)到更多的知識(shí)。 回顧起此次課程設(shè)計(jì),至今我們?nèi)愿锌H多,的確
總結(jié)
以上是生活随笔為你收集整理的投票程序c语言论文,c语言投票程序摘要.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓小知识
- 下一篇: ios个人小游戏开发者如何做到年收益过百