结构体数组(C++)
来源:互联网 发布:linux chgrp 编辑:程序博客网 时间:2024/05/29 17:30
1.定义结构体数组
和定义结构体变量类似,定义结构体数组时只需声明其为数组即可。如:
struct Student{ int num; char name[20]; char sex[5]; int age; float score; char addr[30];};Student stu[3]; //定义Student类型的数组stu
2.结构体数组的应用举例
题目:对候选人的票的统计程序。
设有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;}} 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;}
但是,相比较使用结构体的方法,我们对于候选人和票数的关系,更加直观,联系更加明显。
- 结构体数组(C++)
- C中的数组、结构体
- C-044.结构体数组
- C语言结构体数组
- C语言结构体数组
- C语言结构体数组
- (C语言)利用结构体数组制作学生成绩管理系统
- C语言结构体数组赋值问题
- C语言 数组 结构体 typedef
- c语言结构体数组指针
- C语言结构体数组的定义
- C语言之 数组 指针 结构体
- C语言中的结构体数组
- c -2 数组 指针 %zd 结构体
- C语言 指针与数组,结构体
- C经典 结构体数组初始化
- C语言中的结构体数组
- c结构体中的 柔性数组
- JDBC连接mySQL数据库
- SED单行脚本快速参考(Unix 流编辑器)
- HDU 1385 Minimum Transport Cost (Floyd算法 + 路径输出)
- native2ascii命令
- Esper学习之一:Esper介绍
- 结构体数组(C++)
- 怎样用U盘安装Ubuntu系统
- windows 2008挂载新磁盘、分区的方法
- [shell]特殊变量汇总
- Error Correction
- .net
- 大连SEO为你解答:网站内页不收录如何解决?
- An Easy Problem
- 《我的第一本c++书》学习笔记:STL之shared_ptr(上)