湖北医药学院
信息管理与信息系统专业
《C程序设计》课程设计报告
题目: 班级: 学号: 姓名: 成绩:
职工信息管理系统
前言
在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程。本任务是根据给定的数据和程序,应用单向链表处理一个小班学生的信息。通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为学习软件专业课程创建较扎实的理论基础和实践基础。
一、系统功能和原始数据
1、系统功能
A. 建立学生信息表,录入10名学生的信息,并将结果保存在文件student1.txt中 B. 显示所有学生信息
C. 给定某学生的学号,删除该学生的信息
D. 添加一名学生的信息,将其插入到相应位置,使整个学生信息表按学号有序 E. 给定某学生的学号,修改该学生的信息 F. 按姓名查询学生信息
G. 按入学成绩对学生的信息进行排序
H. 计算并显示学生入学平均成绩,显示入学成绩最高分和最低分的学生信息 I. 将最后的学生信息存入文件student2.txt中 说明:
1. 学生信息数据项:学号、姓名、性别、年龄、院系、入学成绩 2. 录入学生信息时按学号由小到大的顺序录入 3. 系统功能使用结构数组和单向链表两种方法实现
工资管理系统输入记录模块查询记录模块更新记录模块统计记录模块输出记录模块文件读入键盘出入显示所有信息按姓名查询修改记录删除记录插入记录排序模块统计员工数和工资输出到文件输出到屏幕
工资管理系统功能模块图
开始 以可读写的方式打开一个数据文件 将此文件的内容读出,并存入一个新的结构体类型的数组中 调用menu()菜单函数 进入while(1)主循环 输入0~9中的一数值,选择相应操作 输入是否为0 判断键值,调用相应函数,完成相应功能 是否已对修改进行了存盘 调用save()函数,进行写数据文件操作 结束
2.原始数据
工号 100 101 102 103 104 姓名 米砂 米砾 罗斯 张满 林磊 女 男 女 男 男 性别 部门 公管学院 公管学院 公管学院 公管学院 公管学院 职位 学生 学生 学生 学生 学生 500 500 500 500 500 工资 105 106 107 108 109 胡水 王源 李君 张清 万羽 女 女 男 女 女 公管学院 公管学院 公管学院 公管学院 公管学院 学生 学生 学生 学生 学生 500 500 500 500 500 3.数据结构
本程序定义了结构体emplyee,用于存放职工的基本信息和工资信息。 typedef struct employee /*标记为employee*/ {
char num[10]; char name[15]; char sex; char char int gz; }ZGGZ
其各字段的值的含义如下。 num[10]: 保存职工编号 name [15]:保存职工姓名 sex:保存职工性别 :保存职工部门 :保存职工职称 gz :保存职工工资
二、程序设计
1、建立职工信息结构体
(1)函数原型、功能和形参说明 1)、printheader()
函数原型:void printheader()
printheader()函数用于在以表格形式显示记录时,打印输出表头信息。 2)、printdata()
函数原型:void printdata(ZGGZ pp)
printdata()函数用于以表格显示的方式,打印输出单个数组元素pp中的记录信息。 3)、Disp()
函数原型:void Disp(ZGGZ tp[],int n)
Disp()函数用于显示tp数组中存储的n条记录,内容为emplyee结构中定义的内容。 4)、numberinput()
函数原型:float numberinput(char *notice)
numberinput()函数用于输入数值型数据,notice用于保存printf()中输出的提示信息。该函数返回用户输入的浮点类型数据值。 5)、Stringinput()
函数原型:void Stringinput(char *t,int lens,char *notice)
Stringinput()函数用于输入字符串,并进行字符串长度验证(长度 函数原型:int Locate(ZGGZ tp[],int n,char findmess[],char nameornum[]) Locate()函数用于定位数组中符合要求的元素,并返回该数组元素的下标值。参数findmess[]保存要查找的具体内容,nameornum[]保存按什么字段在数组tp中查找。 7)、Add() 函数原型:int Add(ZGGZ tp[],int n) Add()函数用于在数组tp中增加工资记录元素,并返回数组中的当前记录数。 8)、Qur() 函数原型:void Qur(ZGGZ tp[],int n) Qur()函数用于在数组tp中按职工编号或姓名查找满足条件的记录,并显示出来。 9)、Del() 函数原型:int Del(ZGGZ tp[],int n) Del()函数用于先在数组tp中找到满足条件的记录,然后删除该记录。 10)、Modify() 函数原型:void Modify(ZGGZ tp[],int n) Modify()函数用于在数组tp中修改记录元素。 11)、Insert() 函数原型:int Insert(ZGGZ tp[],int n) Insert()函数用于在数组tp中插入记录,并返回数组中的当前记录数。 12)、Tongji() 函数原型:void Tongji(ZGGZ tp[],int n) Tongji()函数用于在数组tp中完成记录的统计工作,统计该公司职工工资的整体分布情况。 13)、Sort() 函数原型:void Sort(ZGGZ tp[],int n) Sort()函数用于在数组tp中完成利用冒泡排序算法实现数组的按实发工资字段的降序排序。 14)、save() 函数原型:void Save(ZGGZ tp[],int n) Save()函数用于将保存职工工资的数组tp中的n个元素写入磁盘的数据文件中。 15)、主函数main() Main()是整个工资管理系统控制部分 (2)、程序清单 #inclu #include struct employee { char num[10]; char name[15]; char sex[5]; char department[30]; 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育C语言职工信息管理系统课程设计 全文阅读和word下载服务。
相关推荐: