C语言课程设计销售管理系统.doc_第1页
C语言课程设计销售管理系统.doc_第2页
C语言课程设计销售管理系统.doc_第3页
C语言课程设计销售管理系统.doc_第4页
C语言课程设计销售管理系统.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级程序设计语言课程设计报告 2009-2010学年第 学期学 院: 院 系: 专 业: 班 级: 姓 名: 学 号: 目录:1、 准备工作2、 系统功能简介 3、 系统运行环境4、 功能划分,模块详细说明5、 关键功能算法和绘制函数流程图6、 运行结果说明7、 简要总结及自我评价1、 准备工作:做系统前,首先,我详细看了C程序设计教程(教科书)的第十章文件,基本自学会了文件的相关内容,理解了相关函数的用法和作用;另外,我上网查询了很多相关资料,还有找了很多相关的系统,每一个我都详细的看了一遍,这样加深了我对C的理解以及对文件的相关内容进一步理解;再者,我到图书馆借阅了相关程序的设计教程书,学习了教科书上没有的东西;最后我尝试着自己去做系统,经过了无数次的上机调试,我自己做的小型系统终于在机器上运行了出来,完全符合课程设计要求,功能齐全。2、 系统功能简介:1 系统以菜单方式工作2 职工信息录入(文件保存职工信息)3 输出职工信息、浏览职工信息4 查询职工信息5 根据员工号查找职工信息6 根据工资、年龄、性别对职工信息进行排序7 删除职工信息3、 系统运行环境:系统可以在Turbo C 2.0,纯Dos下运行,硬件基本无要求,现在的计算机基本都可以运行该系统。4、 功能划分,模块详细说明:系统主要包括十个功能模块,分别是:1) 主函数,控制整个系统的执行流程,使系统菜单可以循环执行。2) 菜单函数,提供一个可以选择任何一个功能的选择窗口,供用户选择需要执行的操作。3) 打开文件函数,把文件的信息打开到一个结构体数组中。4) 录入文件函数,把内存中结构体中的信息输出到文件中。5) 录入函数,提供录入职工信息功能。6) 输出函数,提供职工信息输出功能,浏览职工信息。7) 排序函数,提供对职工信息检索,按条件查找排序功能。8) 职工号查询函数,提供用户根据职工号码查询职工信息功能。9) 删除职工信息函数,提供对职工信息的删除功能。10) 退出函数,执行退出功能。五、关键功能算法和绘制函数流程图整体流程图:开 始主 函 数 菜 单Swith退 出删除信息排序查询工号查询录入功能输出浏览Y继续结 束open函数算法思想:开 始查找磁盘上的文件“bkdat”成功否否用for语句实现把文件的所有内容输入到emp数组中结 束close函数主要数算法简图:开始建立(查找)磁盘文件“bkdat”成功否用for语句实现把emp数组的所有内容储存在文件中结束inputEmpInfo 函数主要数学算法简图:开 始输入各个员工的信息继续否结束reorder( )函数流程图:开 始 从文件中读入数据swith按年龄排序按工资排序按性别排序结束开 始show( )函数的流程图:O执行pen()函数输出每个员工的信息员工号为0结 束deleteEmp( )函数的流程图:开 始执行open()函数输入需要删除的员工号码是否找到把该员工后面的每一个员工信息陆续前提执行close()函数把新的员工信息输出到文件中保存起来结 束findByEmpName( )函数的流程图:开 始执行open()函数从文件中读入数据输入要查询的员工号码是否存在匹配输出该员工各项数据结 束六、运行结果说明:主菜单:输入界面:排序界面查询界面:删除界面:输入界面:备注:该系统是一个人性化的系统,只要稍微有点计算机知识的就能操作,每一小步都有系统提示,该系统为全英文系统。该系统可以在TuborC 2.0 和 C+ 等编译系统中同时运行,兼容性很强。系统有简单,实用,易操作,界面清晰易懂等优点。说明:首次打开系统必须输入一部分员工信息,如果没有员工信息文件,除了输入功能以外,其它的功能将自动禁止,显示“can not do it! Because of no file of information.” 按任意键退出程序。输入时,按照提示陆续输入每个员工的单个信息,输入完毕,选择“1”,程序将自动回到菜单选择界面。其它的功能模块都在执行程序时有相应的提示,非常容易操作。7、 简要总结及自我评价通过这次实习,让我初步有了编写系统的能力,我对很多的函数有了新的认识,也学会了运用多种函数,我也明白了编写软件的基本过程,和基本方法。编写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用法。特别是文件的开启和关闭,读与写。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了很多的困难。在软件一次一次的调试失败下,曾经想过要放弃。我最后还是让自己坚持了下来,毫不畏惧困难,在同学的帮助与讲解下我总算是顺利的完成了软件的设计。在程序的编写过程中我发现我自己有很多的知识漏洞和缺陷,需要进一步努力学习来完善自己。在这几天的编写过程中我对c语言有了更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习。此次课程设计不仅给了我很多很好的经验,也然我体会到了失败时的焦急和难受,也体会到了成功时的兴奋与喜悦。致谢:在此我向在此次课程设计时对我伸出援助之手的张老师,还有帮助我的同学们。缺少了这些也许我的程序就无法调试完成。谢谢老师和同学们的帮助与讲解。 学生: (附件)源程序:#include #include #include typedef struct Empk int EmpNum; /* staff number */ char EmpName12; /* name*/ int Sex; /*sex 1- woman 2- man*/ int Old; /* old*/ int Cult; /*education background 1-specilist 2-doctor 3-others*/ int Salary; /*salary*/ char Address12; /* address*/ int Tell; /*telephone number*/Emp;Emp emp100;void open() int i; FILE *fp; if(fp=fopen(wyl,rb+)=NULL) printf(can not do it! Because of no file of informationn); exit(0); for(i=0;i100;i+) if(fread(&empi,sizeof(Emp),1,fp)=0) printf(Fail to outputn); exit(0); fclose(fp);void close() int i; FILE *fp; if(fp=fopen(wyl,wr+)=NULL) printf(can not do it!n); exit(0); for(i=0;i100;i+) fwrite(&empi,sizeof(Emp),1,fp); fclose(fp);void inputEmpInfo() int i,k; for(i=0;i100;i+) printf(Please enter the staffs :nnumber:); scanf(%d,&empi.EmpNum); printf(nname:); scanf(%s,empi.EmpName); printf(nsex : 1- woman 2- man:); scanf(%d,&empi.Sex); printf(nold:); scanf(%d,&empi.Old); printf(nEducation background:1-specialist 2-doctor 3-others); scanf(%d,&empi.Cult); printf(nsalary:); scanf(%d,&empi.Salary); printf(naddress:); scanf(%s,empi.Address); printf(ntellphone:); scanf(%d,&empi.Tell); printf(continue?(1.yes 2.no); scanf(%d,&k); if(k=2) break; close();void reorder()int i,s,j,k,l;Emp temp;open();printf(nChoose which category would you want to usen1-sex n2-salary(from maximum to minimum) n3-old (from maximum to minimum) n ( enter the corresponding nember) n);scanf(%d,&i);switch(i) case 1:printf(nchoose which sex do you want to inquire? 1-woman 2 -man );scanf(%d,&s);for(j=0;empj.EmpNum!=0;j+) if(empj.Sex=s) printf( number:%dn,empj.EmpNum); printf(name:%s, empj.EmpName); printf(nsex 1- woman 2- man:%d, empj.Sex); printf(nold:%d, empj.Old); printf(neducation background:%dttt 1-specialist 2-doctor 3-others ,empj.Cult); printf(nsalary:%d, empj.Salary); printf(naddress:%s, empj.Address); printf(ntelephone nember :%d, empj.Tell); break;case 2: for(k=0;empk.EmpNum!=0;j+ ) for(l=k;empl.EmpNum!=0;l+) if(empl.Salaryempl+1.Salary) temp=empl;empl=empl+1;empl+1=temp; printf( number:%dn,empk.EmpNum); printf(name:%s,empk.EmpName); printf(nsex 1- woman 2- man:%d,empk.Sex); printf(nold:%d,empk.Old); printf(neducation background:%dttt 1-specialist 2-doctor 3-others ,empk.Cult); printf(nsalary:%d,empk.Salary); printf(nadress:%s,empk.Address); printf(ntelephone nember :%d,empk.Tell); break;case 3: for(k=0;empk.EmpNum!=0;j+ ) for(l=k;empl.EmpNum!=0;l+) if(empl.Oldempl+1.Old) temp=empl;empl=empl+1;empl+1=temp; printf( number:%dn,empk.EmpNum);printf(name:%s,empk.EmpName);printf(nsex 1- woman 2- man:%d,empk.Sex);printf(nold:%d,empk.Old);printf(neducation background:%dttt 1-specialist 2-doctor 3-others,empk.Cult);printf(nsalary:%d,empk.Salary);printf(naddress:%s,empk.Address);printf(ntelephone nember :%d,empk.Tell); break; void show()int j;open();printf(n-informations of sraffs-n);for(j=0;empj.EmpNum!=0;j+) printf(number:%dn,empj.EmpNum); printf(name:%s,empj.EmpName); printf(nsex 1- woman 2- man:%d,empj.Sex); printf(nold:%d,empj.Old); printf(neducation background:%d 1-specialist 2-doctor 3-others ,empj.Cult); printf(nsalary:%d,empj.Salary); printf(nadress:%s,empj.Address); printf(ntelephone nember :%d,empj.Tell); void deleteEmp() int j,k,m=1,d,i=0; open(); printf(Enter the number whose date you want to delete:n); scanf(%d,&d); for(j=0;empj.EmpNum!=0;j+) if(empj.EmpNum=d) for(k=j;empj.EmpNum!=0;k+) empk=empk+1; i+; if(i=0) printf(The staffs informations manage systerm has no date of the number your entered!n); close(); printf(succeeed to deleten);void findByEmpName()int j,i,k=0;open();printf(Please enter the number :n);scanf(%d,&i);for(j=0;empj.EmpNum!=0;j+) if(empj.EmpNum=i) printf(n-information of your want -n); printf(number:%dn,empj.EmpNum); printf(name:%s,empj.EmpName); printf(nsex 1- woman 2- man:%d,empj.Sex); printf(nold:%d,empj.Old); printf(neducation background:%dtttt 1-specialist 2-doctor 3-others ,empj.Cult); printf(nsalary:%d,empj.Salary); printf(nadress:%s,empj.Address); printf(ntelephone number:%d,empj.Tell); k+; if(k=0) printf(nHave no date of the number!n);void menu()printf(n-n); printf(n Wellcome to the staff manage styterm n); printf(n-n); printf(Please choose number for what are you want to do:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论