第五次实验报告(张明娟)
LIAOCHENG UNIVERSITY
计算机学院实验报告
【2015~2016学年第2学期】
【一、基本信息】【实验课程】 高级语言程序设计【设课形式】非独立【课程学分】4【实验项目】指针、结构与文件程序设计 【项目类型】基础□ 综合□ 设计□ 研究创新□ 其它[ ]【项目学时】6【学生姓名】张明娟【学 号】2015205550【系别专业】 电子商务【实验班组】2015 级 3班 组 台 【同组学生】 【实验室名】 【实验日期】 2016-6【报告日期】2016-6【二、实验教师对报告的最终评价及处理意见】
实验成绩: (涂改无效)
指导教师签名: 年 月 日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案
实验预习实验目的和要求
1、深刻理解普通变量和指针变量、地址的概念,掌握使用指针变量的方法;
2、掌握带有指针形参的函数的定义及调用方法;
3、正确使用指针数组元素、字符串;
4、正确使用函数指针调用函数;
5、掌握结构类型变量与数组的定义和使用;
6、掌握使用结构指针和结构变量名使用结构成员的方法;
7、掌握链表的基本概念和操作;
8、掌握文件与文件指针的概念;
9、学习使用文件打开、文件关闭、读写文件等基本的文件操作函数。
实验内容和原理或涉及的知识点:
1、编写函数printArray,使用指针实现打印一维整型数组中所有元素的操作。
要求:每行打印5个整数。在main函数中定义一个整型数组并初始化,验证printArray函数。
2、编写函数swap,实现交换调用函数中两个整型变量值的操作。
要求:使用形参为指针的函数swap完成交换功能。
3、编写函数strcat,实现两个字符串连接。
要求:不允许调用C的字符串函数strcat。主程序中从键盘输入一个字符串。调用strcat函数实现字符串拷贝操作。输出拷贝后字符串的内容。
4、编写函数strcmp,实现2个字符串的比较。函数原型为:
int strcmp(char *p1,char *p2)
图2 包含三个结点的链表
8、利用共用体输出一个float类型数据在计算机内部的二进制形式。
9、利用指向函数的指针作为参数,构造一个可以对字符串作不同处理的通用的函数。
要求:通用字符串处理函数名是void stringHandler(char *,void (*p)(char *)),写出两个具体的字符串处理函数:void firstUpper(char *),将字符串中每个单词的首字母大写。void allUpper(char *),将字符串中所有字母大写。然后分别使用stringHandler调用这两个具体处理函数,分别输出结果进行验证。
10、编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。
数据及要求如下:
(1)水费标准为:1.5元/吨,电费标准为:0.5元/度,6户人家的信息如下表:
住户地址
水耗(吨)
电耗(度)
101
5
150
201
4
90
301
4
120
401
3
78
501
5
60
601
6
105
将表中信息按下面格式组织在文件input.dat中:
1.5 0.5
101 5 150
201 4 90
301 4 120
401 3 78
501 5 60
601 6 105
要求程序从文件input.dat中读取上述数据。
(2)分别计算每户应交纳的电费、水费以及电费水费的总和。
汇总全部住户水费、电费的总和;
将计算结果按下面格式写入文件charge.dat中。表格线不必输出,第一行内容可使用英文或拼音码表示。
住户地址
水耗(吨)
水费(元)
电耗(度)
电费(元)
合计(元)
101
5
7.5
150
75
82.5
201
4
6
90
45
51
301
4
6
120
60
66
401
3
4.5
78
39
43.5
501
5
7.5
60
30
37.5
601
6
9
105
52.5
61.5
total
27
40.5
603
301.5
342