作业1
例题8.1
对于结构体的应用举例
/************************************************
** 例题8.1 结构体 变量的操作 **
** 自动化1121 李庆典 **
************************************************/
#include<iostream> //预编译处理命令
using namespace std; //标准名字空间
struct date //年月份
{
int month;
int day;
int year;
};
struct student //
{
int num;
char name[20];
struct date birthday;
char addr[30];
};
int main()
{
student stu1;
stu1.num=1000;
stu1.birthday.month=8;
stu1.birthday.day=20;
stu1.birthday.year=1922;
cout<<stu1.num<<'\t'
<<stu1.birthday.month<<'\t'
<<stu1.birthday.day<<'\t'
<<stu1.birthday.year<<'\t'
<<endl;
return 0;
}
例题8.2
/************************************************
** 例题8.2 结构体赋值的变化 **
** 自动化1121 李庆典 **
************************************************/
#include<iostream> //预编译处理命令
using namespace std; //标准名字空间
struct date //年月份
{
int month;
int day;
int year;
};
struct student //
{
int num;
char name[20];
struct date birthday;
char addr[30];
}stu1,stu2;
int main()
{
student stu1,stu2;
stu1.num=1000;
stu1.birthday.month=8;
stu1.birthday.day=20;
stu1.birthday.year=1922;
stu2.num=stu1.num;
stu2.birthday.month=stu1.birthday.month;
stu2.birthday.day=stu1.birthday.day;
stu2.birthday.year=stu1.birthday.year;
cout<<stu2.num<<'\t'
<<stu2.birthday.month<<'\t'
<<stu2.birthday.day<<'\t'
<<stu2.birthday.year<<endl;
return 0;
}
例题8.3
/************************************************
** 例题8.3 输出学生的成绩单 **
** 自动化1121 李庆典 **
************************************************/
#include<iostream>; //预编译处理命令
using namespace std; //标准名字空间
struct student //存放成绩单
{
int num;
char name[20];
float score;
};
int main()
{
student stu[3]={{1001,"liujing",75},{1002,"li lan",82},
{1003,"makai",89}};
student temp;
for(int i=1;i<3;i++)
for(int j=0;j<=2-i;j++)
if(stu[j].score<stu[j+1].score)
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
cout<<"NUM"<<'\t'<<"NAME"<<'\t'<<"SCORE"<<endl;
for (int k=0;k<3;k++)
cout<<stu[k].num<<'\t'<<stu[k].name<<'\t'<<stu[k].score<<endl;
return 0;
}
例题8.4
/****************************************
** 例题8.4 利用结构体数组输出数据 **
** 自动化1121 李庆典 **
****************************************/
#include <iostream> //预编译处理命令
using namespace std; //标准名字空间
struct student //结构体保存学生的资料
{
int num;
char name[20];
float fenshu;
};
int main()
{
student stu[3]={{1001,"liujing",75},{1002,"li lan",82},
{1003,"makai",89}};
student *s=stu; //s指向结构体数组的首地址
cout<<"NUM"<<"\tName"<<"\t\tfenshu"<<endl;
for(;s<stu+3;s++)
cout<<s->num<<"\t"<<s->name<<"\t\t"<<s->fenshu<<endl;
return 0;
}
例题8.5
/****************************************
** 例题8.5 结构指针作形参 **
** 自动化1121 李庆典 **
****************************************/
#include <iostream> //预编译处理命令
using namespace std; //标准名字空间
struct student //结构体保存学生的资料
{
int num;
char name[20];
float fenshu;
};
void print(student *s)
{
cout<<s->num<<"\t"<<s->name<<"\t\t"<<s->fenshu<<endl;
}
int main()
{
student stu[3]={{1001,"liujing",75},{1002,"li lan",82},
{1003,"makai",89}};
for (int i=0;i<3;i++)
{
print(&stu[i]);
}
return 0;
}