没有合适的资源?快使用搜索试试~ 我知道了~
C语言职工信息管理系统课程设计.doc
5星 · 超过95%的资源 1 下载量 127 浏览量
2022-11-29
05:27:07
上传
评论 1
收藏 411KB DOC 举报
温馨提示
试读
38页
C语言职工信息管理系统课程设计.doc
资源推荐
资源详情
资源评论
.
.
. .jz.
XX 医药学院
信息管理与信息系统专业
《C 程序设计》课程设计报告
题目:
职工信息管理系统
班级:
学号:
XX:
成绩:
.
.
. .jz.
前言
在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问
题的基本方法,熟悉 C 程序开发的全过程。本任务是根据给定的数据和程序,应用单向链
表处理一个小班学生的信息。通过整个程序开发的过程,提高综合应用 C 语言的能力、编
程和调试能力,为学习软件专业课程创建较扎实的理论基础和实践基础。
一、系统功能和原始数据
1、系统功能
A. 建立学生信息表,录入 10 名学生的信息,并将结果保存在文件 student1.txt 中
B. 显示所有学生信息
C. 给定某学生的学号,删除该学生的信息
D. 添加一名学生的信息,将其插入到相应位置,使整个学生信息表按学号有序
E. 给定某学生的学号,修改该学生的信息
F. 按 XX 查询学生信息
G. 按入学成绩对学生的信息进行排序
H. 计算并显示学生入学平均成绩,显示入学成绩最高分和最低分的学生信息
I. 将最后的学生信息存入文件 student2.txt 中
说明:
1. 学生信息数据项:学号、XX、性别、年龄、院系、入学成绩
2. 录入学生信息时按学号由小到大的顺序录入
3. 系统功能使用结构数组和单向链表两种方法实现
工资管理系统功能模块图
输出记录模块
工资管理系统
输入记录模块
查询记录模块
更新记录模块
统计记录模块
键
盘
出
入
文
件
读
入
按
姓
名
查
询
显
示
所
有
信
息
删
除
记
录
修
改
记
录
排
序
模
块
插
入
记
录
统计
员工
数和
工资
输
出
到
屏
幕
输
出
到
文
件
.
.
. .jz.
2.原始数据
工号
XX
性别
部门
职位
工资
100
米砂
女
公管学院
学生
500
101
米砾
男
公管学院
学生
500
102
罗斯
女
公管学院
学生
500
103
X 满
男
公管学院
学生
500
104
林磊
男
公管学院
学生
500
开始
以可读写的方式打开
一个数据文件
将此文件的内容读出,
并存入一个新的结构
体类型的数组中
调用 menu()菜单函数
进入 while(1)主循环
输入 0~9 中的一数值,
选择相应操作
输入是否为 0
判断键值,调用相应函数,
完成相应功能
是否已对修改
进行了存盘
调用 save()函数,进行写
数据文件操作
结束
.
.
. .jz.
3.数据结构
本程序定义了结构体 emplyee,用于存放职工的基本信息和工资信息。
typedef struct employee /*标记为 employee*/
{
char num[10];
char name[15];
char sex;
char
char
int gz;
}ZGGZ
其各字段的值的含义如下。
num[10]: 保存职工编号
name [15]:保存职工 XX
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)
105
胡水
女
公管学院
学生
500
106
王源
女
公管学院
学生
500
107
李君
男
公管学院
学生
500
108
X 清
女
公管学院
学生
500
109
万羽
女
公管学院
学生
500
.
.
. .jz.
Stringinput()函数用于输入字符串,并进行字符串长度验证(长度<lens),t 用于保存输入
的字符串,因为是以指针形式传递的,所以 t 相当于该函数的返回值。notice 用于保存
printf()中输出的信息。
6)、Locate()
函数原型: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 中按职工编号或 XX 查找满足条件的记录,并显示出来。
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 <stdio.h>
#include <stdlib.h>
#include <string.h>
struct employee
{
char num[10];
char name[15];
char sex[5];
char department[30];
剩余37页未读,继续阅读
智慧安全方案
- 粉丝: 3623
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mmexport1714832730470.jpg
- 第8次课作业.md
- 过客软件园_1.1.apk
- boboav_night.apk
- 235486247769308自带键盘安卓海贼.apk
- 672536945416276wap.stuzn.com_1000_1137350andme_signed.apk
- 737836185360652wap.stuzn.com_1000_1642030hzw_n73d.apk
- JavaWeb阶段综合项目的接口文档
- 003 登录rsa+token 登录rsa+token(需改善 私钥不应该硬编码在类中、密码应该存储为哈希值)
- 992475461755466幼稚园春游功能版.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页