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