C语言课程设计:职工工资管理系统与链表操作

需积分: 48 78 下载量 195 浏览量 更新于2024-10-30 15 收藏 11KB TXT 举报
“C语言课程设计-职工工资管理系统,利用链表操作实现,具有良好的操作界面设计,涵盖了增删查改等基本功能。” 本资源提供了一个使用C语言编写的职工工资管理系统的课程设计项目,主要涉及链表数据结构以及员工信息的管理。系统包括以下几个关键知识点: 1. **链表操作**:链表是C语言中常用的一种数据结构,用于存储动态数据。在这个项目中,链表被用来存储职工的信息,包括姓名、语文成绩、数学成绩和总成绩。链表中的每个节点由结构体`struct student`定义,包含成员变量和指向下一个节点的指针。 2. **结构体定义**:`struct student`结构体定义了职工信息的字段,包括一个10个字符长度的姓名(`char name[10]`),两个整型变量分别表示语文(`int Chi`)和数学(`int Math`)成绩,以及一个整型变量表示总成绩(`int sum`)。此外,结构体还有一个指向下一个结构体的指针`struct student* next`,用于连接链表。 3. **内存分配与释放**:系统使用`malloc()`函数动态分配内存来创建链表节点,当不再需要这些节点时,还需要使用`free()`函数释放内存,以避免内存泄漏。 4. **用户交互**:系统通过`printf()`和`scanf()`函数与用户进行交互,接收用户的输入,如添加新职工、查询信息、更新或删除记录等。 5. **数据处理**:系统实现了计算总成绩的功能,以及根据成绩进行分类和调整工资的逻辑。例如,如果总成绩超过1500,则基础工资增加5%,在2000分以上则增加10%,若低于1500分则减少5%。 6. **文件操作**:系统能够将数据持久化存储到文件中,以便于在程序运行过程中保存和加载数据。这涉及到文件的打开、读写和关闭操作。 7. **错误处理**:系统对用户输入进行了错误检查,例如检查姓名长度是否符合要求,成绩是否为0等,确保数据的正确性。 8. **代码结构**:代码中使用了宏定义(如`#define NULL 0`)来简化代码,并定义了一些流程控制标签(如`ZgotoX;`,`Z1gotoN;`)以实现特定的控制流程。 整个项目不仅提供了实现一个基本的职工工资管理系统的实例,还展示了如何在C语言中有效地运用链表、结构体、内存管理和文件操作等核心概念。这对于学习C语言和数据结构的学生来说是一个很好的实践项目。
1673 浏览量
XXXXXXX大 学 课程设计说明书 名称 计算机语言C课程设计 —— 职工信息管理系统设计 2011 年 6月20 日至 2011年6 月26 日 共1 周 院 系 . 班 级 . 姓 名 . 学 号 . 系 主 任 . 教研室主任 . 指导教师 . 目 录 一、课程设计的目的与要求 3 1.1目的 3 1.2 要求 3 二、题目说明 4 2.1程序开发背景 4 2.2开发工具介绍 4 三、总体设计 5 3.1总体思想 5 3.2软件模块结构图 5 3.3系统流程图 6 3.3.1主函数 6 3.3.2显示函数 7 3.3.3录入函数 7 3.3.4查询函数 8 3.3.5删除函数 9 3.3.6排序函数 10 四、详细设计和系统实施 11 4.1数据结构设计 11 4.1.1定义数组 11 4.1.2定义结构体 11 4.1.3函数功能描述 11 4.2界面设计 12 4.2.1用户登录界面 12 4.2.2 主界面 13 4.2.3显示界面 15 4.2.4录入界面 16 4.2.5信息查询界面 17 4.2.6删除界面 19 五、遇到的问题及解决办法 20 六、课程设计总结 21 七、参考文献 22 附录(源程序代码) 23 一、课程设计的目的与要求 1.1目的 1.掌握C语言编程的基础知识较熟练的编写C语言应用程序。 2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能 力。 3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很 大的提高,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的 推动作用。 1.2 要求 1.要求利用C语言面向过程的编程思想来完成系统的设计; 2.突出C语言的函数特征,以多个函数实现每一个子功能; 3.画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。 二、题目说明 1.职工信息管理系统设计,使之包括职工号、、性别、年龄、学历、工资、住址、等( 职工号不重复)。 2.使这个管理系统具有以下功能:可以使系统以菜单方式工作、能够录入、查询、删除 、排序职工的信息。 3.可以按学历、按工号查询职工信息。使查询职工信息变得方便、简单。 2.1程序开发背景 现在随着社会的进步和人民生活水平的逐渐提升,大学生数量越来越多,相应的所需 要处理的的信息也越来越复杂,而凭借人力不可能准确及时地处理所有信息,因此,编 写此程序是极为必要的。但由于各个学校的情况不同,所以难以编写一个通用的成绩管 理程序。此程序是根据本校情况和老师指导所编写,用以解决教师对学生成绩的添加、 修改、删除以及学生对其成绩的查询等工作。 2.2开发工具介绍 Visual C++ Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。 虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C++6.0为平台。 Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境 。 Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 Visual C++它大概可以分成三个主要的部分: 1. Developer Studio。2. MFC。3. Platform SDK。[1] 三、总体设计 3.1总体思想 本系统主要的设计思想是实现对职工信息的录入、删除、排序、查询等主要功能。职工 信息以文件的形式存储。系统的人机接口采用简单的字符界面进行交互。系统的设计方 法是结构化设计方法,采用C语言进行开发。软件开发平台采用Visual C++6.0,主要考虑在VC中可以使用中文,用户交互界面设计比较美观清晰。 3.2软件模块结构图 根据需求分析结果,职工信息管理系统可以分为显示员工资料、录入员工资料、员工 信息查询、删除员工信息、员工信息排序、退出信息系统。如图3-1所示。 图3-1 3.3系统流程图 3.3.1主函数 3.3.2显示函数 3.3.3录入函数 3.3.4查询函数 3.3.5删除函数 3.3.6排序函数 四、详细设计和系统实施 4.1数据结构设