c++课程设计报告书Word格式文档下载.doc
- 文档编号:14562339
- 上传时间:2022-10-23
- 格式:DOC
- 页数:20
- 大小:86.50KB
c++课程设计报告书Word格式文档下载.doc
《c++课程设计报告书Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《c++课程设计报告书Word格式文档下载.doc(20页珍藏版)》请在冰豆网上搜索。
2.1实现功能
系统主要包括企业系统管理人员对企业职工信息的增、删、查、改等功能和普通职工对职工信息的查看功能。
用户只需在进入操作界面后选择相应的登陆身份就可以进行相应的操作。
2.2概要设计(涉及类的框图)
用户身份验证类
Jusrition
职工信息类
Employee
职工数据类
Database
主程序
main
设置帐号、密码
setData
判断权限操作
judge
职工基础信息定义
职工基础信息设置
职工基础信息的增加、删除、显示
构造Database()函数
系统的主界面输出
由主界面进入子界面或退出
增、删、全删、查、改、显示职工信息
voidempdata()
职工维护
2.3界面设计
界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。
结构设计StructureDesign
结构设计也称概念设计(ConceptualDesign),是界面设计的骨架。
该人事管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1操作、0返回。
选择1操作又会进入登陆界面,其目录体系包括1系统管理员、2职工。
选择1系统管理员会进入管理员操作界面,其目录体系包括1增加2更改3删除4查找5显示6全删7帮助0退出,选择2会进入职工操作界面,其目录包括1查找2退出,然后选择相应的操作进行操作。
这些都充分体现了结构化的界面设计理念。
交互设计InteractiveDesign
交互设计的目的是使产品让用户明白、清楚,且能简单使用。
任何产品功能的实现都是通过人和机器的交互来完成的。
该人事管理系统中包含1)清楚的错误提示,误操作后,系统提供有针对性的提示。
例如管理员输入的帐号或密码错误时,系统会给出相应的提示,以指导管理员进行正确的操作。
以及增、删、查、改等功能实现中的提示信息。
2)使用用户的语言,而非技术的语言。
3)方便退出。
4)导航功能。
随时转移功能,很容易从一个功能跳到另外一个功能。
例如操作者所需各服务间功能转换。
人的因素被作为设计的核心体现出来。
视觉设计VisualDesign
该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。
第3章系统实现
3.1涉及知识点
类封装、面向对象程序设计、字符串的应用、条件语句、循环语句的使用、库函数(屏幕清零函数)的应用、过程化设计的思想等。
源代码
#include<
iostream.h>
iomanip.h>
string.h>
fstream.h>
#include<
map>
usingstd:
:
map;
constintMaxr=100;
classJusrition //身份验证类
{
private:
charzh[11];
//用户帐号
charmm[21];
//用户密码
intmi;
public:
voidsetData(chara[],charb[])
{
strcpy(zh,a);
strcpy(mm,b);
}
intjudge() //用户权限判断函数
{
ints,t,i=1;
do
cout<
<
setw(20)<
"
请输入帐号:
;
cin>
>
zh;
请输入密码:
mm;
s=strcmp(zh,"
abc"
);
t=strcmp(mm,"
1234"
if(s||t)
您输入的信息错误,请重新输入!
\n"
else
return0;
i++;
}while(i);
};
classEmployee//职工类
inttag;
//删除标记
intno;
//职工编号
charname[20];
//职工姓名
charzw[20];
//职务
intsalary;
//职工工资
charcellphone[20];
//职工电话
charaddress[50];
//家庭住址
Employee(){}
char*getname(){returnname;
}//获取名字
intgettag(){returntag;
}//获取标记
intgetno(){returnno;
}//获取编号
intgetsalary(){returnsalary;
}
char*getaddress(){returnaddress;
char*getcellphone(){returncellphone;
voidsetzw(charq[])//设置职务
{
strcpy(zw,q);
}
voidsetname(charna[])//设置名字
strcpy(name,na);
voidsetaddress(chara[])
{strcpy(address,a);
voidsetcellphone(charc[])
{strcpy(cellphone,c);
voidgetsalary(intsa){salary=sa;
voiddelna(){tag=1;
删除成功!
endl;
}//删除
voidaddemp(intn,intsa,char*na,char*q,char*a,char*c)//增加
{
tag=0;
no=n;
salary=sa;
strcpy(zw,q);
strcpy(address,a);
strcpy(cellphone,c);
voiddisp()//显示职工信息
setw(5)<
no<
setw(8)<
name<
salary<
setw(10)<
zw<
setw(15)
cellphone<
setw(15)<
address<
classDatabase//职工数据类
inttop;
Employeeread[Maxr];
Jusritionuser;
//用户权限对象定义
Database()//将职工信息从employee.txt读取到read[]中
Employees;
top=-1;
fstreamfile("
employee.txt"
ios:
in);
while
(1)
{
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
}
file.close();
voidclear()//删除所有
intaddemp(intn,intsa,char*na,char*q,char*a,char*c)//增加职工
Employee*p=query(n);
if(p==NULL)
read[top].addemp(n,sa,na,q,a,c);
return1;
Employee*query(intempid)
for(inti=0;
i<
=top;
i++)
if(read[i].getno()==empid&
&
read[i].gettag()==0)
return&
read[i];
returnNULL;
Employee*query1(charempna[20])
if((read[i].getname()==empna)&
Employee*query2(charempa[50])
{for(inti=0;
if(read[i].getaddress()==empa&
Employee*query3(charempc[20])
if(read[i].getcellphone()==empc&
voiddisp()//职工信息显示
if(read[i].gettag()==0)
read[i].disp();
voidempdata();
~Database()//将read[]中的信息读入到employee.txt中
out);
//文件操作
if(read[i].gettag()==0)
file.write((char*)&
read[i],sizeof(read[i]));
voidDatabase:
empdata()//职工维护
intchoice=1;
intm=1;
intb=1;
intk;
charrname[20];
charraddress[50],rcellphone[20];
intempid;
intemps
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 报告书