1系统框图和用户使用手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 系统框图和用户使用手册1.1 结构框架图
下图是系统结构框架图,表明了这个系统的主要用途。
图 1.1 系统结构框架图
1.2 用户使用手册
1.2.1 用户须知
该系统是职工工资管理系统,它是用来对职工的个人资料的存储以及工资的管理。该系统包含了职工的姓名、性别、职工号、基本工资、职务工资、补助、总工资。其中的操作有职工信息的录入、添加、显示、删除、修改、总工资排序等。(注意:输入的字母不分大小写)
1.2.2 使用说明
1)在程序启动之后,首先显示出的是管理员的个人资料,然后按任意键继续,您可根据自己的需要来进行对职工工资的管理。
2)键入1:创建职工信息,您根据提示来创建职工信息。输完后,键入1则保存当前输入的信息;输入0则返回主菜单。在输入1的情况下,如果说您需要继续输入,请按y;否则输入0返回主菜单。
3)键入2:添加职工信息。如果文件里没数据或者不存在文件,键入1:创建;键入0:返回。如果已经创建了信息,则系统会输出原来的信息,并提示您输入想插入职工信息的编号,大小为1-职工的总人数。继续输入,键入1:保存;键入0:返回继续添加按y,返回按n。
4)键入3:显示当前文件中的信息。按任意键返回,按0退出系统。
5)键入4:显示出职工总工资排序表。按任意键返回,按0退出系统。
6)键入5:进入职工信息查询界面, 按1:输入职工号;按2:输入姓名。然后系统会输出相对应的信息或提示。最后按任意键返回,按0退出系统。
7)键入 6:删除信息。输入职工号,屏幕会显示出他的基本信息。按1:删除,按0:退出系统。然后按任意键返回。
8)键入7:修改信息。输入要修改的职工号,再输入相关信息。最后按任意键返回,按0退出系统
2.要求与系统设计
2.1 要求
1)巩固和加深学生对C++语言基本知识的理解,提高综合运用所学课程知识的能力。
2)培养学生的实际操作能力。
3)通过实际课程设计,初步掌握简单软件的分析方法和设计方法。
4)了解与课程有关的工程技术规范,能正确解释和分析实验结果。
5)分清各个函数的功能,总体设计应该画流程图,学会创建链表和类。2.2 系统设计
2.2.1 职工信息的设计
职工的信息包括:姓名、职工号、性别、基本工资、职务工资、补助、总工资。其中姓名和性别需要定义成char类型,职工号定义成整型(int),其余的定义为整型(double)。定义一个结构体worker用来存储职工信息。其代码如下:typedef struct Worker //定义一个职工信息的结构体
{
int LenName; //标识表示姓名的字符串的长度
char *Name; //职工姓名
long Number; //职工号
int Age; //职工年龄
char Sex; //职工性别
double Basepay; //职工的基本工资
double Bonus; //职工奖金
double total; //总工资
}worker;
第一行中定义了结构体,其内包括职工姓名、职工号、职工年龄、职工性别、职工的基本工资、奖金、总工资等信息。
2.1.2 系统功能的设计
定义结构体来实现信息的各个操作, 它的数据成员为结构体worker类型的指针和变量,其代码如下:
void Input(worker* p);//录入职工工资信息
void EnterFile(worker* p,ifstream* in);//以二进制方式录入文件
void OutFile(worker* p);//以二进制方式输出文件
void Output(worker* p); //输出所有职工工资记录
void Shuru(); //输入职工信息
void Add(); //添加职工信息
void Show(); //显示职工信息
void Sort(); //按职工工资进行降序排序
void Search(); //职工信息查询
void SearchNumber(); //以职工号查询职工工资记录
void SearchName(); //以职工姓名查询职工工资记录
void Delete(); //删除指定职工工资记录
void Modify(); //修改指定工号职工工资记录
void Menu(); //主菜单显示
void menu1(); //子菜单
void print(); //界面输入
Input(worker* p)表示从键盘到内存, EnterFile(worker* p,ifstream* in)表示从内存到硬盘, Output(worker* p)表示从硬盘到内存,OutFile(worker* p)表示从内存到屏幕。
其它成员函数分别是输入Shuru(),添加Add(),显示Show(),按职工工资进行降序排序Sort(),查询函数SearchNumber()职工号查找、SearchName()姓名查找,删除Delete(),修改Modify()。
3. 各个模块的程序流程图
3.1 信息录入设计
图 3.1 信息录入流程图
3.2 信息添加设计
图中输出记录是输出文件中已有的信息。读取文件时,调用了函数Add()。
图 3.2 信息添加流程图
3.3 总工资排序设计
这个函数也需要从问件中读取信息,然后将所有数据存储在数组中,此时用到了排序的成员函数Sort(),排序时采用了冒泡排序法,这是一种很常见的排序方法,总工资排序(按从高到低),冒泡排序法简单点讲:第一个元素和第二个