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