




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京化工大学北方学院课程设计报告课程名称 C语言课程设计 专业、班级 信工0903班 学 号 090201077 姓 名 李波 指导教师 邵兰洁 设计时间 2012.9.3-2012.10.12 2012年 10 月 15 日一、引言(简要说明设计题目的目的、意义、内容、主要任务等)1.课程设计目的 本程序旨在训练基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。本程序涉及结构体、数组、指针、文件等方面的知识。通过本程序的训练,使读者能对C语言的文件操作有一个更深刻的了解,掌握利用数组存储结构实现教师工资管理系统,为进一步开发出高质量信息管理系统打下坚实的基础
2、。(1)巩固和加强C语言程序设计课程的理论知识。(2)掌握语言的基本概念、语法、语义和数据类型的使用特点。(3)掌握语言程序设计的方法及编程技巧,能正确使用语言编写程序。(4)进一步理解和运用结构化程设计的思想和方法;学会利用流程图表示算法。(5)掌握调试程序的基本方法及上机操作方法。(6)掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。课程设计的思想和方法还可以作为毕业论文时的参考资料。(7)通过查阅手册和文献资料,培养自己独立分析问题和解决问题的能力。为自己做毕业设计打好基础。(8)初步掌握开发一个小型实用系统的基本方法:结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实际需
3、要。通过激发学习兴趣,调动自己主动学习的积极性,并根据实际编程要求,训练自己实际分析问题的能力及编程能力,并养成良好的编程习惯。(9)培养自己的创新能力和创新思维。可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。(10)培养自己良好的程序设计风格。在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。自己在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。2.课程设计题目教师工资管理系统每个教师的信息为:教师号、姓名、工资月份、基本工资、津贴、补贴、岗贴、房贴、交通费、房租、储蓄、会费。(1教师信息处理 输入教师信息插入(修改)教师信息: 删除教师信息:
4、 浏览教师信息: (2教师数据处理按教师号录入基本工资、津贴、岗贴、补贴、房贴、交通费、房租、储蓄、会费。教师实发工资、应发工资、合计扣款计算。 提示:计算规则如题目。教师数据管理 提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件。教师数据查询: 提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 教师综合信息输出 提示:输出教师信息到屏幕。二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅
5、、结构严谨,符合各学科、专业的有关要求。)1.功能描述根据需求描述,本人按照结构化程序设计的原则将整个系统划分若干个功能模块。 系统各子模块的设计如下:(1)输入教师信息模块在主菜单中运用结构体teacher,输入教师信息,首先建立链表,将用户输入的学生信息存储到链表中,输入完成后提示用户时候继续输入,如果用户输入“Y”或“y”,则再次调用,实现继续输入学生信息的操作。如果用户输入“N”或“n”,则返回主菜单界面。(2)添加教师信息模块 在主菜单中调用teacher *insert(,然后按照提示依次输入教师信息,然后再调用void print()函数讲所有的教师信息记录打印出来。然后再返回主
6、菜单界面。(3)删除教师信息模块在主菜单中调用del(函数,以删除教师信息,首先按学号查询教师信息,如果没有找到教师信息,给出提示信息。如果查找到该教师信息,给出改教师的全部信息,如果查找到,则删除该教师信息,给出删除成功的提示信息。然后返回主菜单界面。(4)浏览教师信息模块 在主菜单中调用void print(函数来显示教师信息,先判断链表是否为空。如果链表不为空时,逐条显示链表中教师的信息,显示调用teacher *next(函数按照教师号的大小来显示教师的信息,然后返回主菜单界面。(5)保存教师信息模块 在主菜单中调用void save(函数来保存教师信息到teacher_list这个文
7、件中。并给出“保存成功”的提示信息。然后返回主菜单界面。 (6)查询教师信息模块 在主菜单中选择6的时候进行教师信息的查询,调用void query(函数,按教师号查询信息。提示用户输入要查找的教师号,然后调用void query(函数,查找成功,最后打印出教师的信息。然后返回主菜单界面。(7)修改教师信息模块 在主菜单中调用void edit(函数。按教师号查找教师信息,如果找到教师信息,调用void edit(函数提示用户输入新的教师信息,完成修改的操作。操作结束后提示用户修改成功。然后返回主菜单界面。 (8加载教师信息模块 在主菜单中调用void load(函数。如果存在teacher_
8、list文件并不为空,打开文件,找到教师信息。如果存在teacher_list文件并为空,给出提示,“cannot open file”。然后返回主菜单界面。 (9退出系统模块将链表中的数据全部释放掉,防止内存泄露,退出系统。2.功能模块设计2.1删除记录模块删除记录模块流程图如图1所示。图1删除记录模块流程图/*删除模块*/PAY *del(short sel;long num;char name20,choose;head=open(;if(head=NULLreturn NULL;elsedodoprintf(n选择删除方式:n;printf(tt1.按教师编号删除n;printf(tt
9、2.按姓名删除n;scanf(%d,&sel;getchar(;while(sel!=1&sel!=2;switch(selcase 1:printf(输入要删除的教师编号:;scanf(%ld,#break;case 2:printf(输入要删除的姓名:;gets(name;break;p1=head;if(p1-num=num|strcmp(p1-name,name=0head=p1-next;printf(删除信息成功!;elsewhile(p1-next!=NULL&(p1-num!=num&(strcmp(p1-name,name!=0p2=p1;p1=p1-next;if(p1-n
10、um=num|strcmp(p1-name,name=0p2-next=p1-next;free(p1;printf(n删除信息成功!n;elseprintf(n没有该信息!n;printf(是否继续?是(Y) 否(N)n;choose=getch(;while(choose=Y|choose=y;printf(任意键返回,并存盘;getch(;return head;2.2 查询教师信息函数query(函数原型:void query(struct teacher *p 功能描述:将链表teacher中的head指向p,然后让用户输入教师号no,依次在链表中需找p,如果教师号不对,则指针往后面
11、拨动一下,使p=p-next;知道找到相对应的正确的教师号。然后打印出教师的基本信息。 查询教师信息函数流程图如图2 所示。图2查询教师信息流程图/*查找模块*/void search(short sel;long num;char name20,choose;head=open(;if(head=NULLreturn;elsedodoprintf(n选择查找方式:n;printf(tt1.按教师编号查找n;printf(tt2.按姓名查找n;scanf(%d,&sel;getchar(;while(sel!=1&sel!=2;switch(selcase 1:printf(输入要查的教师编号
12、:;scanf(%ld,#break;case 2:printf(输入要查的姓名:;gets(name;break;p1=head;while(p1-next!=NULL&(p1-num!=num&(strcmp(p1-name,name!=0 p1=p1-next;if(p1-num=num|strcmp(p1-name,name=0printf(您要查找的信息如下:n;printf(TITLE;printf(DATA;elseprintf(没有该信息!n;printf(是否继续?是(Y) 否(N)n;choose=getch(;while(choose=Y|choose=y;printf(
13、任意键返回;getch(;2.3 修改教师信息函数edit()函数原型:void edit(struct teacher *p 功能描述:首先让用户输入希望修改的教师的教师号a, 然后在链表中一条一条查找看p-num是否等于a,如果找到,则让用户再次输入教师的具体信息,输入完毕跳出,转向主菜单界面。如果没有找到,则令p=p-next。直到查询完所有的教师记录。 函数流程图如图3所示。图3修改教师信息函数流程图/*修改模块*/PAY *revise(short sel;long num;char name20,choose;head=open(;if(head=NULLreturn NULL;e
14、lsedodoprintf(n查找要修改的对象:n;printf(tt1.按教师编号查找n;printf(tt2.按姓名查找n;scanf(%d,&sel;getchar(;while(sel!=1&sel!=2;switch(selcase 1:printf(输入要查的教师编号:;scanf(%ld,#break;case 2:printf(输入要查的姓名:;gets(name;break;p1=head;while(p1-next!=NULL&(p1-num!=num&(strcmp(p1-name,name!=0 p1=p1-next;if(p1-num=num|strcmp(p1-na
15、me,name=0printf(您要修改的原始信息如下:n;printf(TITLE;printf(DATA;printf(n将上述信息改为如下信息:n;printf( 教师编号:;scanf(%d,&p1-num;getchar(;printf( 姓名:;gets(p1-name;printf( 工资月份:;scanf(%d,&p1-month;printf( 基本工资,津贴,岗贴,补贴,房贴,交通费:n; scanf(%f,%f,%f,%f,%f,%f,&p1-jb,&p1-ji,&p1-gt,&p1-bt,&p1-ft,&p1-jt;printf( 房租,储蓄,会费:n;scanf(%f
16、,%f,%f,%f,&p1-fz,&p1-cx,&p1-hf;p1-should_pay=p1-jb+p1-ji+p1-gt+p1-bt+p1-ft+p1-jt;if(p1-should_paygr=0;else if(p1-should_pay=800&p1-should_paygr=(p1-should_pay-800*5/100;else if(p1-should_pay=2000&p1-should_paygr=(p1-should_pay-2000*1/10+60;elsep1-gr=(p1-should_pay-5000*2/10+60+300;p1-rebate=p1-fz+p1
17、-cx+p1-hf+ p1-gr;p1-actual_pay=p1-should_pay-p1-rebate;elseprintf(你要修改的信息不存在!n;printf(是否继续?是(Y) 否(N)n;choose=getch(;while(choose=Y|choose=y;printf(任意键返回,并存盘;getch(;return head; 3.运行结果3.1系统主界面用户刚进入系统时,如图4所示。 主菜单界面: 图4主菜单界面用户根据自己的需求输入自己的选择。3.2输入界面用户在主菜单界面的时候输入1,输入界面如图5所示。 图5输入界面3.3保存教师信息保存信息成功后界面如图6所示
18、。图6 保存教师信息界面3.4添加教师信息界面在主菜单中进入2添加教师信息,然后依次插入教师的所有信息,最后打印链表里的记录,添加教师信息如图7所示。图7添加教师信息界面3.5查找并修改教师信息界面首先将之前输入进去的教师信息进行保存,然后退出系统,再打开系统,查找要修改的教师信息,然后进行教师数据的修改。查找并修改教师信息如图8和图9所示。图8 查找教师信息界面图9 修改教师信息界面3.6删除教师信息首先选择4-删除工资信息,然后根据提示选择要删除的信息。删除教师信息如图10所示。图10删除教师信息界面3.7查找教师工资信息首先选择5-查找工资信息,然后选择查找的方式进行查找,查找教师信息如图11所示。图11 查找教师工资信息界面3.8分类信息查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数字内容创作者考试试卷及答案
- 2025年小学数学期末考试题及答案
- 2025年物业管理与服务行业能力考试卷及答案
- 2025年数据分析与处理技能测试题及答案
- 2025年兽医学专业核心知识考试题及答案
- 2025年汽车工程技术专业考试题及答案
- 2025年跨文化交际能力评估试卷及答案
- 2025年跨境电商业务管理考试试卷及答案
- 2025年健康管理师考试试卷及答案指导
- 2025年环境工程技术人员考试题及答案
- 香港证券及期货从业资格考试温习手册版HK
- 2025年中考物理知识点归纳(挖空版)
- 2024年安徽省初中学业水平考试生物试题含答案
- 2024年浙江省中考英语试题卷(含答案解析)
- 2024年演出经纪人考试必背1000题及完整答案(各地真题)
- 团员组织关系转接介绍信(样表)
- GB/T 18926-2008包装容器木构件
- 汉语拼音音节表带声调
- 假发行业英语术语整理
- 中国银行营业网点基础服务礼仪规范
- 一份很详细的模具报价单
评论
0/150
提交评论