#includeiostream#includefstream#includestring#includeiomanipusing namespace std;const int noOfCandidates=6;const int noOfRegions=4;void printHeading();//预申明函数void initialize(int vbRegion[noOfCandidates][noOfRegions],int tVotes[],int noOfRows);void getCandidatesName(ifstream& inp,string cNames[],int noOfRows);void sortCandidatesName(string cNames[],int noOfRows);int binsearch(string cNames[],int noOfRows,string);void processVotes(ifstream& inp,string cNames[],int vbRegion[noOfCandidates][noOfRegions],int noOfRows);void addRegionsVote(int vbRegion[noOfCandidates][noOfRegions],int tVotes[],int noOfRows);void printResults(string cNames[],int vbRegion[noOfCandidates][noOfRegions],int tVotes[],int noOfRows);int main(){string candidatesName[noOfCandidates];//申明变量int votesByRegion[noOfCandidates][noOfRegions];int totalVotes[noOfCandidates];ifstream infile;infile.open("C:\Users\diyhoo\Desktop\candData.txt");//打开输入文件if(!infile){cout"Input file does not exist."endl;return 1;}cout"setp 1 comple"endl;getCandidatesName(infile,candidatesName,noOfCandidates);//将数据读入数组candidatesNamecout"setp 2 comple"endl;sortCandidatesName(candidatesName,noOfCandidates);//对数组candidatesName进行排序cout"setp 3 comple"endl;infile.close();//关闭文件infile.clear();//清除数据流infile.open("C:\Users\diyhoo\Desktop\voteData.txt");if(!infile){cout"Input file does not exist."endl;return 1;}initialize(votesByRegion,totalVotes,noOfCandidates);//初始化数组votesByRegion,totalVotescout"setp 4 comple"endl;processVotes(infile,candidatesName,votesByRegion,noOfCandidates);//处理投票结果并存储在数组votesByRegion中cout"setp 5 comple"endl;addRegionsVote(votesByRegion,totalVotes,noOfCandidates);//计算每名候选人的总票数并存储在totalvotes中cout"setp 6 comple"endl;printHeading();//输出题头printResults(candidatesName,votesByRegion,totalVotes,noOfCandidates);//输出结果return 0;}void initialize(int vbRegion[noOfCandidates][noOfRegions],int tVotes[],int noOfRows){int i,j;for(i=0;inoOfRows;i++)for(j=0;jnoOfRegions;j++)vbRegion[i][j]=0;for(i=0;inoOfRows;i++)tVotes[i]=0;}void getCandidatesName(ifstream& inp,string cNames[],int noOfRows){int i;for(i=0;inoOfRows;i++)inpcNames[i];}void sortCandidatesName(string cNames[],int noOfRows){int i,j;int min;for(i=0;inoOfRows-1;i++){min=i;for(j=i+1;jnoOfRows;j++)if(cNames[j]cNames[min])min=j;cNames[i].swap(cNames[min]);}}int binSearch(string cNames[],int noOfRows,string name){int first,last,mid;bool found;first=0;last=noOfRows-1;found=false;while(!found&&first=last){mid=(first+last)/2;if(cNames[mid]==name)found=true;elseif(cNames[mid]name)first=mid+1;elselast=mid-1;}if(found)return mid;elsereturn -1;}void processVotes(ifstream& inp,string cNames[],int vbRegion[noOfCandidates][noOfRegions],int noOfRows){string candName;int region;int noOfVotes;int loc;inpcandNameregionnoOfVotes;while(inp){loc=binSearch(cNames,noOfRows,candName);if(loc!=-1)vbRegion[loc][region-1]=vbRegion[loc][region-1]+noOfVotes;inpcandNameregionnoOfVotes;}}void addRegionsVote(int vbRegion[noOfCandidates][noOfRegions],int tVotes[],int noOfRows){int i,j;for(i=0;inoOfRows;i++)for(j=0;jnoOfRegions;j++)tVotes[i]=tVotes[i]+vbRegion[i][j];}void printHeading(){cout" ---------------ElectionResults---------------- "endlendl;cout"Candidate votes"endl;cout"Name Region1 Region2 Region3 Region4 Total"endl;cout"---- ------- ------- ------ ------- ----"endl;}void printResults(string cNames[],int vbRegion[][noOfRegions],int tVotes[],int noOfRows){int i,j;int largestVotes=0;int winLoc=0;int sumVotes=0;for(i=0;inoOfRows;i++){if(largestVotestVotes[i]){largestVotes=tVotes[i];winLoc=i;}sumVotes=sumVotes+tVotes[i];coutleft;coutsetw(9)cNames[i]" ";coutright;for(j=0;jnoOfRegions;j++)coutsetw(8)vbRegion[i][j]" ";cout" "setw(10)tVotes[i]endl;}coutendlendl"Winner:"cNames[winLoc]", votes received:"tVotes[winLoc]endlendl;cout"Total votes polled:"sumVotesendl;}选举小程序
浏览量:679
时间:
来源:diyhoos
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










