C语言程序设计实验实验报告

2018-12-05 13:34

《C语言程序设计实验》实验报告

实验九 文件编程(一)

班级:_07某某专业1班_ 学号:__1234567890____ 姓名:___实验样例_____ 日期:___2008.6.10_____

台州学院数信学院计算机系制作

一、实验目的和要求

综合使用基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。 二、实验指导

1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制一个小型应用程序。需要复习课本以前所学内容,浏览上课讲解的相关内容。

2、实验时间安排:准备实验方案,上课时上机编程,课余完成整个设计并完成实验报告。 3、实验具体要求:以一张假想的学生期中成绩表为实验对象,编制一个小型应用程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输入。也可以实现其他自定义的功能。界面采用简易菜单形式,可以分级显示。实验需要进行以下步骤:需求分析、程序设计、程序调试、程序运行,并对程序运行效果进行分析,提出改进方案。初步锻炼学生的程序设计能力、程序调试能力、对实验结果进行综合分析的能力。 4、实验成绩评价标准:参见成绩评定表。 三、成绩评定表(教师填写) 评分栏目 程序实现的功能是否达到要求(对应内容第1、2点,参考第3、4点) 程序代码是否合理(对应内容第3点) 程序运行结果描述是否清晰(对应内容第4点) 评价是否合理,有无提出好的改进方案(对应内容第5点) 实验报告的撰写形式是否规范,内容是否正确(对应全部内容) 总评成绩: 评分成绩 四、实验报告内容(参见样本,请另附页) 实验报告必须包含以下内容:

1、对你设计的程序功能进行的较详细描述。 2、画出程序测试用的学生期中成绩表(包含:表头、若干行包含学生成绩等信息的数据行)。 3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。注:如果程序过长,可以不用给出所有的函数定义,只给出主要的函数定义)。

4、运行结果(写出运行时的主界面、各模块的实现界面等,不作具体要求,但要求能清晰地体现出程序的功能)。

5、对你的设计作一个评价(可以包含你所花的时间、精力,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进方案)。

1、程序功能描述: (略)

2、成绩表样表: 学号 1001 1002 1003 1004 1005 姓名 张三 李四 王五 钱六 赵七 性别 M M F M F 语文 78 89 85 64 92 数学 85 79 76 45 93 英语 50 69 87 70 94 总分

3、程序清单:(红色部分是和上一个程序的区别之处) #include

struct student /*期中成绩表的结构声明*/ {

int num;

char name[20]; char sex; float YuWen; float ShuXue; float YingYu; float totle; };

#define MAX_STU_NUMBER 100 /*宏定义最大学生数为100人*/

struct student Stu[MAX_STU_NUMBER]; /*一次性定义100个学生的存储空间*/ int STU_NUMBER; /*存放学生数*/

char *FileName = \/*成绩存放的文件*/

/*所有的函数声明:*/

int SelectMainMenu(); /*显示并选择主菜单。返回:被选择的菜单项*/ void Modify(); /*成绩修改模块*/ void Show(); /*成绩查询模块*/ void Stat(); /*成绩统计模块*/ void Append(); /*成绩输入模块*/

void StatAve(float *AveYuWen,float *AveShuXue,float *AveYingYu);/*统计平均分*/ int FindStudent(int num); /*根据学号查找某一学生*/ void SetAllTotle(); /*计算所有学生总分*/

void SetTotle(int No); /*计算第No个学生总分*/ void ShowAllStudent(); /*显示所有成绩*/ void ShowTitle(); /*显示表头信息*/

void ShowStudent(int No); /*显示第No个的学生信息*/

void Read(); /*打开文件,读出成绩。设置学生人数到 STU_NUMBER */ void Write(); /*将成绩写入文件*/

void main() {

int isend=0; /*程序结束标志量,0表示不结束,1表示结束*/ Read(); /*打开文件,读出成绩。设置学生人数到 STU_NUMBER */ SetAllTotle(); /*计算所有学生总分*/ while(1) {

switch(SelectMainMenu()) /*显示并选择主菜单*/ {

case 1: /*成绩修改*/

Modify(); /*调用成绩修改函数*/ break;

case 2: /*成绩查询*/

Show(); /*调用成绩查询函数*/ break;

case 3: /*成绩统计*/

Stat(); /*调用成绩统计函数*/ break;

case 4: /*成绩输入*/

Append(); /*成绩输入模块*/ break;

case 5: /*退出系统*/

Write(); /*退出前保存成绩*/

printf(\谢谢您的使用,再见!\\n\\n\ isend = 1; /*设置程序结束标志*/ break; }

if(isend) break; /*程序结束*/ } }

void Read() /*打开文件,读出成绩。设置学生人数到 STU_NUMBER */ {

FILE *fp; /*指向文件的指针*/ struct student *p;

fp = fopen(FileName,\/*以读的方式打开文件*/ STU_NUMBER = 0;

if(fp == NULL)return; /*打开文件失败*/

for(p=Stu;;p++,STU_NUMBER++) /*循环读出数据*/ {

if(fscanf(fp,%ue,&p->YingYu)==EOF) break;

}

fclose(fp); /*关闭文件*/ }

void Write() /*将成绩写入文件*/ {

FILE *fp; /*指向文件的指针*/ struct student *p;

fp = fopen(FileName,\/*以写的方式打开文件(会删掉原来文件)*/ if(fp == NULL)return; /*打开文件失败*/

for(p=Stu;p

fprintf(fp,\->YingYu); }

fclose(fp); /*关闭文件*/ }

int SelectMainMenu() /*显示并选择主菜单。返回:被选择的菜单项*/ {

int menu_no=0;

do /*显示并选择菜单*/ {

printf(\ printf(\《高二(3)班期中成绩管理程序》\\n\ printf(\作者:应老师\\n\

printf(\ printf(\主菜单:\\n\ printf(\– 成绩修改\\n\ printf(\– 成绩查询\\n\ printf(\– 成绩统计\\n\ printf(\– 成绩输入\\n\ printf(\– 退出系统\\n\ printf(\请选择(1-5):\ scanf(\

}while(menu_no<1 && menu_no>5); /*直到选择出正确的序号*/ return menu_no; }

void Modify() /*成绩修改模块*/ {

int n,i; while(1) {

printf(\成绩修改====\\n\


C语言程序设计实验实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中大学高等数学公式集锦

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: