文档详情

C语言程序设计实验报告7--结构体共用体.docx

发布:2016-12-18约4.45千字共6页下载文档
文本预览下载声明
福建农林大学金山学院实验报告系(教研室): 专业: 年级: 2014实验课程: 姓名: 学号: 实验室号: 计算机号: 实验时间: 指导教师签字: 成绩: 实验7:结构体和共用体实验目的和要求1.掌握结构体类型变量的定义和使用2.掌握结构体类型数组的概念和应用3.掌握共用体的概念与使用实验内容和原理1. 编写一个函数print,输出一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。2. 设有若干个人员的数据,其中有学生和老师。学生数据包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。现要求把它们放在同一表格中,见图1。如果job项是t(教师),则第5项为position(职务)。如果job项是s,则第5项为class(班级)。要求输入人员的数据,然后再输出。为简化起见,只设两个人(一个学生,一个教师)。numnamesexjobclassposition101Lifs501102Wangmtprof图13. 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。4. 对候选人得票的统计程序。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。设有10人投票。实验环境1. 硬件:PC机;2. 软件:Windows操作系统、Visual C++ 6.0 。算法描述及实验步骤1、先定义N为5即有五个学生,建立结构体struct student,再定义字符型数组num和name、整型数组score。对print进行函数声明且定义i、j。再用for语句进行循环输出相应的num、Name、score。2、先声明结构体struct,再定义int num;char name[10];char sex;char job;和共用体int banji;/char position[10];和结构体数总共2个;定义整型i,用for语句循环,以此先得到num,.name,sex,job,再用if语句的嵌套对于job字符的不同判断共用体需要放什么。最后用for语句循环和if语句来输出结果。3、先定义N为5即有5个学生。建立结构体struct student,再定义字符型数组num和name、浮点型数组score、avr。定义整型i,j,maxi;浮点型sum,max,average。用for语句分别各组输入num、name、score。再用for语句sum+=stu[i].score[j]; stu[i].avr=sum/3.0;average+=stu[i].avr;求sum,average的值,和用if语句if(summax){max=sum;maxi=i;}来讲最高成绩者保存在maxi。最后输出全部学生成绩和最好的成绩。4、先声明结构体类型struct Person、定义字符型数组name和整型count。定义原始数据leader[3]= {L,0,Z,0,Wang,0};定义整型i,j和字符型数组leadername,用for语句限制投票人总共i个为10人,和用for语句进行循环和if语句for(j=0;j3;j++) if(strcmp(leadername,leader[j].name)==0)leader[j].count++;来得出相对候选人的得票数。调试过程第二题person[i].category.position应定义为字符串型而不是字符型。实验结果1、2、3、4、七、总结通过这次的上机作业,知道有时需要自己创建一些数据类型,并用它来定义变量。能区分结构体和共用体之间的差别。引用结构体变量的方式。怎么在结构变量中的成员进行赋值、比较、输入和输出等操作。附录:1、#includestdio.h#define N 5struct student{char num[6]; char name[8]; int score[4];}stu[N];int main(){void print(struct student stu[6]); int i,j; for(i=0;iN;i++) {printf(\ninput score of student %d:\n,i+1); printf(NO.:); scanf(%s,stu[i].num); printf(name:); scanf(%s,stu[i].name); for(j=0;j3;j++) {printf(score %d:,j+1); scanf(%d,stu[i].score[j]
显示全部
相似文档