实验八 结构体与文件程序设计
一、实验目的
1.学习掌握结构化数据的编程使用
2.文本文件的数据输入和存储
3.通过从文件读入结构化数据和写回文件来编写实际应用程序
二、实验内容
- 改正下列程序错误,使之完成规定的功能
程序实现输出图书的名字和单价,错误代码如下:
#include <stdio.h>
struct book
{
float price;//价格
char name[10];//名字
}
void main(void)
{
struct book myBook;
myBook={5.6,“the world is flat”};
printf(“book name=%s,book price=%f”,myBook.name,myBook.price);
}
- 编写程序实现以下功能
(1)设计一个保存学生成绩信息的结构,包括学号、姓名、课程名、平时成绩、考试成绩、总评成绩。分别用函数实现以下功能:
①输入n个学生的信息(平时和考试成绩)
②要求计算并输出学生的总分(平时20%,考试80%)并输出;
③输出总分最高和最低的学生信息。
(2)从键盘输入n(n<10)本书的名称和单价并存入结构数组中,按照单价从高到低的顺序进行排序并输出。(选作题)
①编写函数实现排序过程;
②在主函数中输入数据,调用排序函数排序后返回主函数输出排序结果。
(3)文件编程
先用记事本在当前目录下创建一个 data.txt文件,在里面输入保存(1)中的学生成绩(平时及考试成绩),存盘关闭;然后写一个程序来打开这个文件,计算总分后显示在屏幕上,同时输出到结果文件T_data.txt文件中。
三、实验报告内容及要求
1.按实验报告要求(样板)撰写并打印实验报告;
2.分析1中的程序错误,修改后运行并出结果截图; - 给出2、3中的源代码及输入输出结果截图;
4.实验中遇到的问题和解决问题的方法。