C++结构体数组详细解析

阅读: 评论:0

C++结构数组详细解析
定义结构体变量类似,定义结构体数组时只需声明其为数组即可。如:
复制代码代码如下:
struct Student{
int num;
char name[20];薛璐下载
char sex[5];
int age;
float score;
char addr[30];
};
Student stu[3]; //定义Student类型的数组stu
题⽬:对候选⼈的票的统计程序。
设有3个候选⼈,最终只能有⼀个当选为领导。今有10个⼈参加投票,从键盘先后输⼊这10个⼈所投的候选⼈的名字,要求最后能输出这3个候选⼈的的票结果。
复制代码代码如下:
#include<iostream>
using namespace std;
struct Person{
    char name[20];                       //姓名
    int
count;                           //票数计
数器男性与女性之间的关系
};
int main(){
    Person leader[3]={"Tom",0,"Neo",0,"Marry",0};
                              &      //定义Person类型的数组,内容为3个候选⼈的姓名和票数
    int i,j,k=0;
    bool tag;
    cout<<"please input the name of the leader : Tom Neo Marry\n\n";
    char leadername[20];                //该数组为每次输⼊的候选⼈的名字
    for(i=0;i<10;i++){                   //循环输⼊这10个⼈选的候选⼈的
名字
        cout<<"input name "<<i+1<<" :";
        cin>>leadername;
        tag=1;
        for(j=0;j<3;j++){
            if(strcmp(leadername,leader[j].name)==0){
                leader[j].count++;
                tag=0;
            }
        }
        if(tag==1)k++;
    }
    cout<<endl;
    for(i=0;i<3;i++){
       cout<<leader[i].name<<":"<<leader[i].count<<endl;    
    }  
    cout<<"Abandoned tickets:"<<k<<endl;
    return 0;
}
当然,如果不使⽤结构体也可以解决这个问题:
复制代码代码如下:
#include<iostream>
#include<string>
using namespace std;
int main(){
char *name[3]={"Tom","Neo","Marry"};
int    count[3]={0,0,0};
int    i,j,k=0;
bool tag=1;
cout<<"please input the name of the leader : Tom Neo Marry\n\n";
char leadername[20];
for(i=0;i<10;i++){
cout<<"input name "<<i+1<<" :";
cin>>leadername;
for(j=0;j<3;j++){
if(strcmp(leadername,name[j])==0){
count[j]++;
tag=0;
}
}
if(tag==1)k++;
tag=1;
}
cout<<endl;
for(i=0;i<3;i++){
cout<<name[i]<<":"<<count[i]<<endl;
}
cout<<"Abandoned tickets:"<<k<<endl;
return 0;
}
或者
复制代码代码如下:
#include<iostream>
蜗轮蜗杆减速器设计#include<string>
using namespace std;
int main(){
string name[3]={"Tom","Neo","Marry"};
int    count[3]={0,0,0};
int    i,j,k=0;
bool tag=1;
cout<<"please input the name of the leader : Tom Neo Marry\n\n";
string leadername;
查文红for(i=0;i<10;i++){
cout<<"input name "<<i+1<<" :";
cin>>leadername;
for(j=0;j<3;j++){
if(leadername==name[j]){
count[j]++;
tag=0;
}
}
ctif(tag==1)k++;
tag=1;
}
cout<<endl;
for(i=0;i<3;i++){
cout<<name[i]<<":"<<count[i]<<endl;
弾孔}
cout<<"Abandoned tickets:"<<k<<endl;
return 0;
}
但是,相⽐较使⽤结构体的⽅法,我们对于候选⼈和票数的关系,更加直观,联系更加明显。

本文发布于:2023-08-15 05:29:11,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/361118.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:候选   数组   结构   定义   关系
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图