1、 设设 计计 报报 告告 课题名称:员工销售业绩管理系统 学 院:XXX 专业班级:XXX 学 号:XXX 学 生:XXX 指导教师:XXX 学学 生生 XXX 指导教师指导教师 XXX 课题名称课题名称 员工销售业绩统计系统 设计时间设计时间 XXX 设计地点设计地点 8 教 209 设计目的设计目的 1.通过具体程序实例的练习,真正掌握面向过程的程序设计方法; 2.加深对讲授内容的理解、累积经验、学会独立上机调试程序; 3.逐步达到综合运用数组、函数、结构体、指针等难点知识,真正掌握 C 语言 的精华,从而达到熟练应用程序设计语言的目的。 一、设计过程一、设计过程 第一天的早上我们拿到了任
2、务说明书,毕竟是第一次课程设计,有好奇也有压力。 这是一个员工销售业绩统计系统。 我们组内四人经过商量后便先对系统进行了深入分析, 画出了系统流程图,再对照流程图主要把程序分成了建立文件函数、增加记录函数、新建信 息文件函数、显示记录函数、文件存储函数、读取文件函数、对记录进行排序函数、删除记 录函数、查询记录函数、修改记录函数等十大函数(功能) 。然后根据个人的特长平均分配任 务,我主要分配到主函数、删除函数、查询函数。 任务分配好后,我们一起学习了对文件的操作,经过认真的研究和谈论,基本掌握了此 知识点,有一些不明确的便想着在实际操作中向老师请教。 我的主要函数定义如下: int main
3、():主函数; void modifyRecord(void):修改记录函数; void removeRecord(void):删除记录函数。 在整个程序中 savedTag 的值代表了当前是否有记录,其值为 1 则表示有记录,值为 0 则表示当前无记录。在主函数里用 malloc 函数分配了 100 个记录的内存,addRecord(void) 是添加记录函数,在当前记录尾部进行添加。为了防止之前分配的 100 个记录不够用,又用 realloc 函数重新分配了一个更大的内存。删除记录可按姓名或排名两种方式,调用了查找 记录函数和显示表头函数。 删除前先用 savedTag 的值判断当前是否
4、有记录, 删完后 savedTag 值赋 1。为防止有相同关键信息的记录删除不彻底,需再次调用 findRecord()函数,即 i=findRecord(target,type,i+1)。 修改记录函数中也是按姓名或排名两种方式进行查找记录 并修改。 二、调试分析二、调试分析 存在的问题:存在的问题: 1.系统的协调性不够,功能之间的调用混乱,开始时经常会出现一些标点符号和拼写错 误; 2.再对性别的判断中,0 为女,1 为男,调试时输入 2,系统也会认为是男,类似的设计 问题出现过很多; 3.每个功能的细节不够完整,经常有想不到的地方。例如在删除记录函数中,如果有两 条相同姓名的记录,一开始的设计则是只删除第一条记录; 4.对知识的掌握不够牢固,对语句的选择不是很完美。 解决问题:解决问题: 1.组内要密切合作,认真分析系统的紧密联系,编写程序时要集中精力,认真敲每一个代码, 争取不让类似的低级错误再次出现; 2.这是设计时用了一个 if语句进行判断的设计缺陷,再加个 if 语句可解决,如果用户没正确 输入则给出提示并可重新输入; 3.编完某个功能时用主函数调用执