C语言课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机程序设计(C语言)
课程设计报告
题目:职工管理系统学院:计算机科学与工程学院专业:电子信息工程
班级:XXX
姓名:XXX
指导教师:韩志明
设计日期:2015年7月7日
一.选题背景
综合运用所学程序设计的知识,完成问题问题分析、模块设计、代码编写、程序调试和运行等训练任务。
通过课程设计,初步锻炼运用所学知识来解决实际问题的能力,计算机具有强大的运算和处理信息能力,所以我想到了用其做职工信息管理系统。
二.设计思想
对于本程序而言,首先建立了一个结构体类型employee,其中包含了8个成员———number(人数)、name[0](姓名)、sex(性别)、age(年龄)、xueli[0](学历)、wage(职工号)、addr[0](家庭住址)、tel[0](联系方式)。接着我在主函数里面定义了一些函数,包括:menu()菜单函数、input()输入函数、save(int)存储函数、display()预览函数、del()删除函数、add()添加函数、search() search_num()s earch_xueli() search_tel()查询函数、modify()修改函数。
在这些函数之中大都运用了for语句、if语句、do while 语句、switch 语句、fread和fwrite语句进行互相嵌套完成。
三.主要解决问题方法及技术关键
解决问题方法:利用指针调用文件方式并对文件进行读写操作,使用多循环语句进行嵌套,来实现本程序的各种功能。
技术关键:
1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。
2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。
3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。
4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。
5.删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。
6.添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。
7.按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的void search_num()函数来实现。
8.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。
9.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的void search_tel函数来实现。
10.修改模块:可以修改需要修改的职工的相关信息,通过自己定义的void modify()函数来实现。
11.退出系统模块:退出职工信息管理系统,通过头文件windows.h 中的exit(0)函数来实现。
四.流程图
总流程图
菜单
开始
根据菜单输入n 的值选择程序
保存
结束
是否继续进行
N
Y
5 添加职工信息
6 修改职工信息 2 浏览职工信息 3 查询职工信息 4 删除职工信息
7 退出
1 录入职工信息
保存文件函数
开始
输入人数、姓名、性别、年龄、职工号、学历、工资、住址、联系方式
修改输入格式(scanf )
输出创建完毕
保存并跳入下一程序
开始
(fp=fopen("employee_list","wb"))==NULL
cannot open file 并返回
y
将内存中职工的信息输出到磁盘文件中去
n
n
fwrite(&em[i],sizeof(struct employee),1,fp)!=1
file write error
n
y
fclose(fp)并进行下一程序
开始
(fp=fopen("employee_l ist","rb"))==NULL
y
cannot open file 并返回
n
fread(&em[i],sizeof(struct employee),1,fp)
i++
feof(fp)==0
n
fclose(fp)并进行下一个程序
y
i=0
调出导入函数
m 为总人数
i 输入人数、姓名、性别、年龄、职工号、学历、工资、住址、联系方式 浏览 y n 删除(添加)函数 开始 调用导入函数 输出原来的职工信 调用浏览函数 输入要删除的职工的姓名 检测此人 已找到此人,原始记录为 输入人数、姓名、性别、年龄、职工号、学历、工资、住址、联系方式 确实要删除此人信息 请按1,不删除请按0 y 1 删除查无此人 n 保存并进行下一程 序 查询函数 开始 调用导入函数 输入职工号 查无此人 n 检测此人 y 已找到此人,原始记录为 六. 程序清单 #include #include #include #define N 100 struct employee { int num; char name[20]; char sex; int age; char xueli[30]; int wage; char addr[30]; char tel[20]; }em[100];4 /*定义一个结构体*/ void menu(); void input(); void save(int); void display(); void del();