结构体数组 候选人得票的统计程序

例题7.2 候选人得票的统计程序。有3个候选人,最终只有1人当选领导。现有10人参加投票,从键盘先后输入10个人所投候选人名字,要求最后输出候选人得票结果。

#include <iostream>
#include <string.h>
using namespace std;

struct Person{
string name;
int count;
};

int main(){
    
    Person leader[3]={"zhangsan",0,"lisi",0,"wangwu",0};
    string leaderName;
    
    for(int i=0;i<10;i++){
        cin>>leaderName;
        for(int j=0;j<3;j++){
            if(strcmp(leaderName,leader[j].name)==0)
                leader[j].count++;
        }
        
    }
    cout<<endl;
    for(int j=0;j<3;j++){
            cout<<leader[j].name<<":"<<leader[j].count<<endl;
        }

    
    return 0;
}

 将上边的字符串比较修改一下:

#include <iostream>
#include <string.h>
using namespace std;

struct Person{
string name;
int count;
};

int main(){
    
    Person leader[3]={"zhangsan",0,"lisi",0,"wangwu",0};
    string leaderName;
    
    cout<<"请每人输入一次候选人的名字,共计10次:"<<endl;
    for(int i=0;i<10;i++){
        cin>>leaderName;
        for(int j=0;j<3;j++){
            //字符串的比较在c++当中可以直接比较用== 
            if(leaderName==leader[j].name)
                leader[j].count++;
        }
        
    }
    cout<<endl;
    for(int j=0;j<3;j++){
            cout<<leader[j].name<<":"<<leader[j].count<<endl;
        }

    
    return 0;
}

 

posted @ 2017-12-12 09:44  Advancing-Swift  阅读(761)  评论(0编辑  收藏  举报