教师工资管理系统..doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教师工资管理系统.

目 录 一、课程设计目的要求与分析……………………………………2 1.1课程设计目的和要求………………………………………2 1.2课程设计题目分析…………………………………………2 二、课程设计内容…………………………………………………2 2.1总体设计……………………………………………………3 2.2详细设计……………………………………………………5 三、程序调试与测试………………………………………………8 3.1程序调试……………………………………………………8 3.2程序测试……………………………………………………9 四、教师详细数据处理……………………………………………10 五、设计心得与总结………………………………………………14 六、建议与评阅意见………………………………………………15 七、源程序代码……………………………………………………16 课程设计目的: 巩固和加强《C语言程序设计》课程的理论知识。 掌握C语言的基本概念,语法,语义和数据类型的使用特点。 掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。 使学生掌握调试程序的基本方法及上机操作方法。 通过查询手册和文献资料,培养学生独立分析问题和解决问题的能力。 培养学生的创新能力和创新思维。 培养学生良好的程序设计风格,进一步理解和用运。 课程设计要求: 进一步理解和用运结构化程序设计的思想和方法。 初步掌握开发一个小型实用系统的基本方法。 设计题目分析 1.1题目简介: 《教师工资管理系统》,每个教师的信息为:姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、应发工资、房租、水电费、所得税、公积金、合计扣款、实发工资。应发工资=基本工资+津贴;合计扣款=房租+水电费+所得税+公积金;实发工资=应发工资-合计扣款。 2.2设计要求: A.根据问题的描述,设计数据存储方式 B.分析系统功能,划分功能模块,确定各模块函数名称 C.利用所学的C语言知识设计比较容易读懂和执行的程序 D.设计好的程序易于执行和修改 3.课程设计内容 3.1总体设计: A.教师信息处理 #includestdio.h #includestdlib.h //常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi() atol() rand() srand() exit() #includeconio.h//控制台输入输出的简写,其中定义了通过控制台进行数据输入和数据输出的函数,用户通过按键产生对应的操作,比如getch()函数 #define LEN sizeof(struct teacher) struct teacher *creat();//建立动态链表 struct teacher struct teacher *getPosition(); struct teacher { int num; char name[10]; char sex[8]; char unit[10]; char address[10]; long telnum; float salary_1; float allowance; float salary_2; float tax; float water_fee; float rent; float grant; float total_fee; float actual_salary; struct teacher *next; }; 建立动态链表,定义一个有关教师信息的结构体,确立与之相关的变量,如:教师姓名、教师性别、工作单位、房租、水电费、个人所得税、公积金等。 B.输入教师信息 通过建立的教师信息的结构体来实现教师信息的输入,这样既可以实现大批量的输入,而且使输入的信息更节省空间。 C.插入(修改)教师信息 这是针对链表的插入,是将一个结点插到一个已经有的链表中。为了能做到正确插入,所以我们要解决的问题就是怎样找到插入的位置,和怎样实现插入。先用指针变量p0指向待插入的结点,p1指向第一个结点。将p0-num与p1-num相比较,如果p0-nump1-num,则待插入的结点不应该在p1所指的结点之前。此时将p1后移,并使p2指向刚才p1所指的结点。再将p1-num与p0-num比,如果仍然是p0-num大,则应使p1继续后移,直到p0-num≤p1-num为止。这时将p0所指的结点插到p1所指的结点之前。但是如果p1所指的已经是表尾结点,则p1就不应后移了。如果p0-num比所有结点的num都大,则应该将p0所指的结点插到链表末尾。如果插入位置既不是第一个

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档