高级语言程序设计实验指导书
要求:
(1)建立结构体变量;
(2)利用scanf函数输入年、月、日; (3)输出格式是:The day is the ?day;
(4)修改程序,判断某天是某年的第几天。(提示:需要对闰年做判定)
2.编程实现:在一个结构数组中,存有三个人的姓名和年龄,输出三人中年龄居中者的姓名和年龄。
要求:
(1)利用指针实现处理过程。
(2)三个人的数据采用初始化方式输入。
(3)修改程序,将(2)改为采用scanf函数读入方式。
3.编写一个函数inGrade(),其功能是输入学生数据;编写函数aveGrade(),其功能是计算学生的平均成绩;编写函数maxGrade(),其功能是查找平均成绩最高的学生的数据;编写函数out Grade(),其功能是输出学生的成绩数据。现有15名学生的数据信息,每个学生的数据信息包括学号、姓名、4门课程(programmer、database、network、operat-system)的成绩。
要求:
(1)首先在主函数中调用函数inGrade()从键盘输入15个学生数据;
(2)其次在主函数中调用函数aveGrade()计算15名学生的4门课程的平均成绩。 (3)然后在主函数中调用maxGrade()查找平均成绩最高的学生的数据(包括学号、姓名、4门课的成绩、平均分)。
(4)最后在主函数中调用函数out Grade(),输出该学生的数据信息。
(5)修改程序,将函数maxGrade()的功能改为对所有学生按平均成绩进行排序。并在主函数中调用它,之后输出所有学生的已排序的数据表。
4.编写程序:建立一个学生数据链表,每个结点信息包括如下内容:学号、姓名、性别、年龄和专业。对该链表作如下处理:(1)输入一个学号,如果链表中的结点中包含该学号,则将此结点删去(最多只有一个节点)。(2)输入一个专业,如果链表中的结点包含该专业,则将此结点删去(可能有多个节点)。
五.思考题
叙述链表的概念,小结对链表的各种操作。
26
高级语言程序设计实验指导书
实验8 文 件
一.实验目的
1.掌握文件的基本概念,包括:文件与文件输入/输出的基本概念、C语言中文件的组织形式、文件的一般操作步骤、文件的基本操作及其特点。
2.掌握常用文件操作函数的使用,如文件的打开/关闭、文件的读/写等操作。 3.掌握对文件的简单操作,应用文件系统进行程序设计。
二.实验内容
有关文件的程序设计
三.实验环境
PC微机
DOS操作系统或 Windows 操作系统 Turbo C 程序集成环境
四.实验步骤
1.编程实现:将一个实数f=55.5678和一个整型数组a[5]的数据写到磁盘文件TEXT.dat中,然后再读回到另一个实型变量ff及另一个整型数组b[5]中。
要求:
(1)对整型数组a[5]采用初始化方式,对一个实数赋初值f=55.5678。 (2)建立一个磁盘文件TEXT.dat。将上述初始化的数据写入该文件。
(3)重新打开文件TEXT.dat,将该文件中的数据读入到一个实型变量ff和一个整型数组b[5]中。
(4)输出实型变量ff(精度为0.2)和数组b[5]的内容。
2.编程实现:利用文件系统对数据信息的处理。现有5名学生的数据信息,每个学生的数据信息包括学号、姓名、4门课程(programmer、database、network、operat-system)的成绩,数据信息见下表。
Num 0113 0114 0115 0116 要求:
(1)将上述原始数据写入磁盘文件studata中;
Name Zhang LI WANG ZHAO programmer 89 67 89 90 database 82 78 75 70 operat-system 90 80 60 70 network 75 58 50 72 27
高级语言程序设计实验指导书
(2)输出studata文件中的数据。检查输入数据的正确性。如果有错误,需要重新输入数据;
(3)根据studata文件中的数据,计算每个学生的平均成绩并将学号、姓名以及对应的平均成绩写入文件avedata中;
(4)检查avedata文件的数据的正确性;
(5)根据avedata文件中的平均成绩进行排序,排序的结果存放于sortdata文件中; (6)检查sortdata文件数据的正确性,并输出第一名同学的学号、名字和平均成绩; (7)在sortdata文件内查找学号为n(n由scanf输入)的学生信息,如果找到,输出该信息之后删除该学生信息;
(8)检查sortdata文件的数据正确性。
五.思考题
1. 缓冲文件系统和非缓冲文件系统的区别?
2.文件打开和关闭的含义?为什么要打开和关闭文件?
28