| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:向大家请教一个简单"选举结果"的问题
取消只看楼主 加入收藏
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
 问题点数:0 回复次数:3 
向大家请教一个简单"选举结果"的问题

编,链都可以过.但我这个问题好象在于, s=can[j].votes/sum; 这里的sum用的是初始化的值,而cout<<" "<<setw(7)<<"Total"<<setw(7)<<sum<<endl;这里的sum又是累加后的值,这是让我好为难啊.请问应该怎么改啊?

谢谢了.

另外大家知道能实现这个问题的更简单的方法吗?

我这个是应该是最复杂的了.:)

#include<iostream>
#include<iomanip>
using namespace std;

class candidate
{
public:
char name[5];
int votes;
void getdata()
{
cout<<"请输入候选人信息:(姓名 票数)";
cin>>name>>votes;
}
void dispaly()
{
cout<<" "<<name<<setw(7)<<votes;
}
};

int main()
{
candidate can[5];
int sum=0,ava,k,s;
for(int j=0;j<5;j++)
{
can[j].getdata();
sum+=can[j].votes;
}


cout<<"候选人"<<setw(7)<<"票数"<<setw(10)<<"百分率"<<endl;
for(j=0;j<5;j++)
{
can[j].dispaly();
s=can[j].votes/sum;
ava=s*100;
cout<<setw(6)<<ava<<endl;
}
for(j=0;j<4;j++)
{
for(int i=j+1;i<5;i++)
{
if(can[j].votes < can[i].votes)
k=i;
else
k=j;
}
}
cout<<" "<<setw(7)<<"Total"<<setw(7)<<sum<<endl;

cout<<"获胜的候选人是:"<<can[k].name<<endl;


return 0;

}

搜索更多相关主题的帖子: 结果 选举 
2006-03-25 14:07
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
得分:0 
gototheworld
谢谢

但是根本问题不在这里

问题还是没得到解决~

有实力才会有魅力 实力来自坚持不懈的努力
2006-03-25 19:04
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
得分:0 
gototheworld

非常非常感谢你

终于成功了

但有一点点不明白:
s=(float)can[i].votes/sum;

这句里面的(float)怎么写在这?

为什么写了它就能成功,不写它就为0 ??

怎么我学的C++知识里面没这种表示方法??

它怎么用的?

能告诉我吗?

有实力才会有魅力 实力来自坚持不懈的努力
2006-03-25 21:33
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
得分:0 
哦...你一说我就明白了....

哈哈...懂了.谢谢了啊


有实力才会有魅力 实力来自坚持不懈的努力
2006-03-26 11:05
快速回复:向大家请教一个简单"选举结果"的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033079 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved