/*
* 程序的版权和版本声明部分:
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:结构体数组的定义和引用.cpp
* 作 者:毛通
* 完成日期:2013 年 1月 22日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 对候选人得票的统计程序
* 输入描述:三个候选人的名称 十个票
* 问题描述:设有3个候选人 ,最终只能有1个人当选为领导 。
今有10个人参加投票 , 从键盘先后输入这10个人所投候选人的名字,
要求最后输出各候选人得票结果 。
* 程序输出:“每个候选人及其得票数”
* 问题分析:定义一个候选人结构体数组,包括十个元素,在每个元素中存放有关的数据
* 算法设计:略
*/
/*
对候选人得票的统计程序
设有3个候选人 ,最终只能有1个人当选为领导 。 今有10个人参加投票 , 从键盘先后输入这10个人所投候选人的名字,
要求最后输出各候选人得票结果 。
*/
# include <iostream>
using namespace std;
struct Person //结构体类型struct的声明
{
char name [20] ;
int count ;
};
int main()
{
Person leader [3] = {"li",0,"zhang",0,"sun",0} ;//定义Person 类型的数组 ,内容为3个候选人的姓名和当前的得票数
int i,j ;
char leader_name[20] ;//投票人所选人的姓名
for (i=0 ; i<10 ; i++)
{
cin >> leader_name ;//先后输入十张票上所写的姓名
for (j=0;j<3;j++)
{
if (strcmp(leader_name, leader[j].name)==0)
leader[j].count++;
}//如果与某一候选人的姓名相同,就给他加一票
}
cout << endl;
for (i=0;i<3 ;i++)
{
cout << leader[i].name << ":" << leader[i].count << endl;
}
return 0;
}
/*
运行结果:
*/