C语言程序设计实习报告---简单的行编辑器
C程序设计实习报告
题目:简单的行编辑器(修改版)
学 院:
专 业:
姓 名:
班级学号:
指导教师:
2009年 7 月 3 日
前言
由于我们班选题是题号和学号一一对应,所以我抽到了16题,简单的行编辑器。刚开始时不知道什么叫行编辑器,以为这个题目有多么的神秘,第二次实习时老师说选这个题目最好换个题,与老师交流,老师建议在原有的题目上加些功能。只是还是不知道什么叫行编辑器,上网,问同学,没有一点思路。再一次问老师,老师说不用管它什么是行编辑器,编辑的目的是为了后面对文件进行处理,于是这一次总算有了新的思路。等到这个题快要做完时,也明白了为什么老师说它太简单了,做完后自己感觉都有串改题目之嫌疑,原题的要求实在太简单了,自己加的功能占了程序的大部分。8天下来感觉自己对C语言以及程序编辑的认识加深了许多。以前觉得很难的结构体,数组,文件全部用到了,虽然并不能完全掌握,那也有一些成就感。在这里要感谢老师以及我的同学,在整个编程中给了我很大的帮助。
目录
前言II
目录III
1题目要求- 1 -
2需求分析- 1 -
3概要设计- 1 -
3.1设计思想- 1 -
3.2软件运行与开发平台- 2 -
3.3数据结构- 2 -
3.4系统结构图- 2 -
4详细设计- 3 -
4.1主函数- 3 -
4.2各功能模块设计- 4 -
(1)输入模块- 4 -
(2)浏览模块- 5 -
(3)添加模块- 6 -
(4)查找模块- 8 -
(5)修改模块- 13 -
(6)排序模块- 16 -
(7)保存模块- 19 -
4.3公共函数- 19 -
(1)加载函数- 19 -
(2) 学号输入函数- 20 -
(3)输入三个科目分数函数- 20 -
(4)求平均值函数- 21 -
(5)输入整个记录函数- 21 -
(6)修改整条记录函数- 21 -
(7)显示数据结构项目- 22 -
(8)显示一个记录的函数- 22 -
5测试、结果进行分析- 23 -
5.1进入页面- 23 -
5.2数据录入- 24 -
5.3数据录入成功,直接返回菜单- 24 -
5.4不进行数据录入,直接进入菜单。- 25 -
5.5浏览数据- 25 -
5.6添加数据- 26 -
5.7浏览添加后的数据- 26 -
5.8查找—按姓名查找- 27 -
5.9查找—按学号查找- 27 -
5.10修改—对分数2进行修改- 28 -
5.11排序——按平均分进行排序- 28 -
6总结- 30 -
7参考文献- 30 -
8附录- 31 -
主要程序模块清单- 31 -
1题目要求
原题:简单的行编辑器
【要求】
设置一个简单的行编辑器,每行以回车结束。
数据以文件形式储存。
编辑器具有查找、替换、修改数据的功能。
修改后:修改思路是将由行编辑器生成的文件换成有关结构体的内容,建立一个结构体输入关信息,生成文件,再实现查找、替换、修改数据等的功能。这里具体是参考书上学生成绩管理系统,实现成绩的录入,显示,查找,添加,保存等功能模块。
2需求分析
根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览学生的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。
3概要设计
3.1设计思想
由于原题的特点,对题目进行了一定的拓展。本着提高自己编程能力,加深Windows平台,VC6.0,
3.3数据结构
此处选用了结构体的形式来存放每一个学生的信息,对与若干个学生采用了结构体数组。
3.4系统结构图
4详细设计
4.1主函数
主函数比较简单,只提供了输入和菜单函数的调用。各个功能的模块用菜单方式选择。
【程序】
void main()
{int q,w1;
printf("\t\t****************行编辑器(修改拓展版)****************\n\n");
printf("\t\t\t\t\t\t周磊\t\n\n");
do
{
printf("\t\t重新录入数据请按1\t\t进入菜单请按2: [ ]\b\b");
scanf("%d",&q);
if(q!=1&&q!=2) /*对选择数字作出判断*/
{
w1=1;
getchar();
}
else w1=0;
}
while(w1==1);
if(q==1) /*if语句选择要进行的操作*/
enter();
else
menu();
}
4.2各功能模块设计
(1)输入模块
考虑到自己在C学习时遇到的问