当前位置:文档之家› 实验09结构体实验报告

实验09结构体实验报告

using namespace std;
const int N=10;
struct rem
{
Stringnum;
string name;
double mark[3];
double all;
};
int main ()
{
int n,i,m;
double max;
rem loq[N];
cout<<"请输入人数"<<endl;
{
i=1;
}
else
i=0;
for(j=0;j<p->month;j++)
{
n=n+b[i][j];
}
n=n+p->day;
return n;
}
主要标识符说明:(源程序中主要标识符含义说明)
声明结构体类型nian,包括年(整型)、月份(整型)、天(整型)
struct nian
{
int year;
int month;
2、题目
2.通讯录排序。建立一个通讯录的结构记录,包括姓名、生日、电话号码。输入n(n<10)个朋友的信息,再按他们的姓名从大到小的顺序依次输出其信息。
源程序清单:(调试好的源程序代码)
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstring>
四、实验体会(心得、收获)
此次实验我们学习了如何运用结构体来解决一些问题。学会结构体类型变量的定义和使用方法。并且运用结构体数组来进行编程。注意结构体的嵌套使用。并且学会使用带结构指针的参数的函数。在定义变量时要注意附初值,在定义指针时要注意初始化。
cin>>a.month ;
cout<<"请输入第几日"<<endl;
cin>>a.day;
n=find(p);
cout<<"你输入的日期为"<<a.year <<"/"<<a.month<<"/"<<a.day<<endl;
cout<<"是"<<a.year<<"年的第"<<n<<"天"<<endl;
int day;
};
int find(nian *p);
定义一个函数,其参数为结构指针。用于算出输入的日期是第多少天
struct nian a={1,1,1};定义结构nian类型的变指向a
int n;整型,天数
实验结果:(程序运行结果)
实验中遇到的问题及解决的方法
struct corre
{
string name;
date bir;
string tel;
};
corre a[N]定义结构体corre类型数组a[]
int n,i,j;定义三个整型变量n为人数,i,j均为循环变量
string m;string型变量m用于交两个人的姓名
实验结果:(程序运行结果)
实验中遇到的问题及解决的方法
cout<<"请输入电话"<<endl;
cin>>a[i].tel;
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j].name<a[j+1].name)
{
m=a[j].name;
a[j].name=a[j+1].name;
a[j+1].name=m;
}
for(i=0;i<n;i++)
{
loq[i].all=loq[i].mark[0]+loq[i].mark[1]+loq[i].mark[2];
}
max=loq[0].all;
for(i=0;i<n;i++)
{
if(loq[i].all>max)
{
max=loq[i].all;
m=i;
}
}
cout<<"总分最高的学生为"<<loq[m].name
return 0;
}
int find(nian *p)
{
int n=0,i,j,b[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,
0,31,29,31,30,31,30,31,31,30,31,30,31};
if((p->year%4==0&&p->year%100!=0)||p->year%400==0)
1、题目1.建立一个有n(3<n≤10)个学生成绩的结构记录,包括学号、姓名和3门课程的成绩,输出总分最高的学生的姓名和总分。
源程序清单:(调试好的源程序代码)
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstring>
string m;
cout<<"请输入人数"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cout<<"请输入第"<<i+1<<"个人的姓名"<<endl;
cin>>a[i].name;
cout<<"输入生日"<<endl;
cin>>a[i].bir.year>>a[i].bir.month>>a[i].bir.day;
cin>>n;
for(i=0;i<n;i++)
{
cout<<"请输入第"<<i+1<<"名同学的学号、姓名和第一二三门课程的成绩"<<endl;
cin>>loq[i].num>>loq[i].name
>>loq[i].mark[0]
>>loq[i].mark[1]
>>loq[i].mark[2];
}
<<"总分为"<<loq[m].all<<endl;
return 0;
}
主要标识符说明:(源程序中主要标识符含义说明)
声明结构体类型rem,包括学号(string类型)、姓名(string类型)、成绩(双精度型)、总成绩(双精度类型)
struct rem
{
Stringnum;
string name;
}
return 0;
}
主要标识符说明:(源程序中主要标识符含义说明)
声明结构体类型date,包括年份(整型)、月份(整型)、天(整型)
struct date
{
int year;
int month;
int day;
};
声明结构体类型corre,包括姓名(string型)、生日(date结构类型型)、电话号码(string型)
struct nian
{
int year;
int month;
int day;
};
int find(nian *p);
int main ()
{
struct nian a={1,1,1};
nian *p=&a;
int n;
cout<<"请输入年份"<<endl;
cin>>a.year;
cout<<"请输入月份"<<endl;
一、实验目的
1.学会结构体类型变量的定义和使用方法。
2.能够运用结构体数组编写程序。
3.学会结构体指针的定义使用方法。
4.能够运用结构体指针作函数参数编写程序。
二、实验环境
(调试程序所使用的软硬件环境)
软件环境:VC++6.0
硬件环境:宏基Intel奔4主频2.8GHz,内存256MB
三、实验内容、结果及分析
3、题目
3.编写程序,输入一个日期(年、月、日),计算并输出该日是该年中的第几天。要求编写函数计算某日是该年中的第几天,用结构指针作为函数参数,注意闰年问题。
源程序清单:(调试好的源程序代码)
#include "stdafx.h"
#include <iostream>
using namespace std;
}
}
cout<<"姓名"<<'\t'<<"生日"<<'\t'<<"电话"<<endl;
for(i=0;i<n;i++)
相关主题