麻烦会做C++的朋友帮我看看...

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:28:59
一、有一个班采用民主投票方法推选班长,班长候选人共4位,每个人代号分别为1,2,3,4。每名同学填写一张选票,写上同意作为班长的一位候选人的代号。统计每一位班长候选人所得到的选票数,其中每张选票上的所填代号由键盘输入,数字0作为输入终止标志。
要求输出选票统计结果及最终哪位候选人当选为班长。求获得选票最多的候选人的功能要求用函数实现。(独立完成)
具体要求如下:
1、编写主程序,接收有效的选票,要求:
输入数据之前,给出如下提示信息:
开始选举。请注意:有效候选人代号为1,2,3,4。
请输入班长候选人代号(数字0结束):
1) 循环执行接收键盘输入的班长候选人代号,直到输入的数字为0,结束选票的输入工作。
2) 在接收每次输入的选票后要求验证该选票是否有效,即:如果输入的数不是0,1,2,3,4这5个数字之一,应显示出错误提示信息如下:
此选票无效
3) 在接受选票的同时统计每个候选人的得票数;
4) 当接受到输入的数字是0时,选举结束。屏幕输出提示信息:
选举结束
5) 输出统计每个候选人获得票数的结果;
6) 调用函数process(),获取得票最多的候选人(也就是最终的当选者)的代号。
7) 输出选举最终结果,即哪个候选人当选为班长。
2、编写函数process()求获得选票最多的候选人代号:
1)比较4位候选人所得的选票数,求得选票数最多的候选人代码。
2)函数返回选票最多的候选人代码。

// Monitor.cpp : Defines the entry point for the console application.
  //

  #include "stdafx.h"
  #include "math.h"
  #include "iostream.h"

  class Monitor
  {
  public:
  char Code;
  int Votes;
  };

  void process(Monitor Neon[4])
  {
  int i,mmax = Neon[0].Votes;
  for(i=1;i<=3;i++)
  if (Neon[i].Votes >= mmax) mmax = Neon[i].Votes;
  for(i=0;i<=3;i++)
  if (Neon[i].Votes == mmax) cout<<"The Monitor is "<<Neon[i].Code<<"!"<<endl;
  };

  void main(int argc, char* argv[])
  {
  // printf("Hello World!\n");
  // return 0;
  Monitor Candidate[4];
  int i,j=1;
  char str;
  // bool flag = TRUE;

  /* cout<<"Please input the Candidate's Code:"<<endl;
  for(i=0;i<=3;i++)
  Candidate[i].Vote