1、 程序设计课程设计报告程序设计课程设计报告 二二 00 八八 年年 七七 月月 一一 号号 目录目录 1 1设计目的设计目的 2设计题目和要求设计题目和要求 3 3总体设计总体设计 4详细设计详细设计 5源程序清单和执行结果源程序清单和执行结果 6总结总结 1 设计目的设计目的 设计一个简单的行编辑器,了解行编辑器的应用 2 设计题目和要求设计题目和要求 题目:题目:简单的行编辑器 要求要求:1)设计一个简单的行编辑器,每行以回车结束 2)数据以文件形式储存 3)编辑器具有查找 修改 删除数据的功能 3 总体设计总体设计 简单的行编辑器简单的行编辑器 删除一行删除一行 删除一行删除一行 显示一
2、行显示一行 显示一行显示一行 文件存文件存盘盘 文件存盘文件存盘 装入文件装入文件 装入文件装入文件 退出退出 4 详细设计详细设计 1)结构体的应用 struct line char text81; int num; /*行号*/ struct line *next; /*指向下一个输入项目的指针 */ struct line *prior; /*指向前一个项目的指针 */ ; struct line *start; /*指向表中第一个项目的指针 */ struct line *last; /*指向表中作后一个项目的指针 */ struct line *find(int),*dls_stor
3、e(struct line *); 注注:在结构体中分别声明项目指针及项目中的指针变量 2)函数声明 void patchup(int,int),delete_text(),list(),save(char *),load(char *); menu_select(); enter(int linenum); 注:注:在结构体外分别对输入、删除、显示等函数进行声明 3)主函数和)主函数和 switch语句语句 void main(int argc,char *argv) char s80,choice,fname80; / struct line *info; int linenum=1; s
4、tart=NULL; last=NULL; if(argc=2) load(argv1);/*装入命令行上的文件 */ do choice=menu_select( ); switch(choice) case 1:printf(“t 行号:“); gets(s); linenum=atoi(s); enter(linenum); break; case 2:delete_text(); break; case 3:list(); break; case 4:printf(“t 文件名:“); gets(fname); save(fname); break; case 5:printf(“t
5、文件名:“); gets(fname); load(fname); break; case 6:exit(0); while(1); 注:注:通过主函数分别对相应函数进行调用,利用 switch 选择语句来执行语句 4)菜单函数)菜单函数 menu_select() char s80; int c; printf(“tt1.输入n“); printf(“tt2.删除一行n“); printf(“tt3.显示一行n“); printf(“tt4.文件存盘n“); printf(“tt5.装入文件n“); printf(“tt6.退出n“); do printf(“nntt 请按数字选择:“); gets(s); c=atoi(s); while(c6); return(c); 注:注:定义菜单显示内容,根据菜单要求运用程序 5 源程序和执行结果源程序和执行结果 源程序:源程序