课程设计
课程名称 C++课程设计
题目名称 公司人事管理系统
学生学院 自动化
专业班级 网络工程一班
学 号 3110001347
学生姓名 卢会军
指导教师 张小波
20##年10月 6日
广东工业大学课程设计任务书
一、课程设计的内容
1、项目介绍:公司人事管理系统。
2、功能介绍:
(a)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
(b)程序对所有人员有提升级别的功能
(e)能按姓名或者编号寻找、删除、更 新、显示各类人员的信息
公司人事管理系统的基本框架,界面业已完成,具体功能尚需完善。
3、系统实现概述:
顶层:
第一层:
第二层:
第三层:
4、关键技术:(函数)
void MainWindow::open() //定义open函数
{
QString path=QFileDialog::getOpenFileName(this,tr("Open")); //QFileDialog是Qt中用于文件打开和保存的对话框
if(path.length()==0)
{
QMessageBox::information(this,tr("Path"),tr("You didn't select any files."));
}
else
{
QMessageBox::information(this,tr("Path"),tr("You selected"));
}
}
void MainWindow::add_show()
{
add1.resize(400,50);
add1.show();
}
void MainWindow::find_show()
{
find1.resize(300,50);
find1.show();
}
void MainWindow::change_show()
{
change1.resize(400,50);
change1.show();
}
void MainWindow::table_show()
{
//表格的设置
centralWidget = new QWidget(this);
QHBoxLayout *horizontalLayout = new QHBoxLayout(centralWidget);
tableWidget = new QTableWidget(10,4,centralWidget);
horizontalLayout->addWidget(tableWidget);
this->setCentralWidget(centralWidget);
QStringList header;
header<<"Name"<<"Position"<<"Salary"<<"Description"; //设定行标题
tableWidget->setHorizontalHeaderLabels(header); //把行标题放进表格
tableWidget->setItem(0,0,new QTableWidgetItem("One"));
tableWidget->setItem(1,0,new QTableWidgetItem("Two"));
tableWidget->setItem(2,0,new QTableWidgetItem("Three"));
tableWidget->setItem(3,0,new QTableWidgetItem("Four"));
tableWidget->setItem(0,1,new QTableWidgetItem("Manager"));
tableWidget->setItem(1,1,new QTableWidgetItem("Part-time technical staff"));
tableWidget->setItem(2,1,new QTableWidgetItem("Sales Manager"));
tableWidget->setItem(3,1,new QTableWidgetItem("Part-time salesman"));
tableWidget->setItem(0,2,new QTableWidgetItem("8000"));
tableWidget->setItem(1,2,new QTableWidgetItem("7000"));
tableWidget->setItem(2,2,new QTableWidgetItem("8000"));
tableWidget->setItem(3,2,new QTableWidgetItem("7000"));
tableWidget->setColumnWidth(1,145); //设置第2列的列宽
tableWidget->setColumnWidth(3,450); //设置第4列的列宽
tableWidget->setItem(0,3,new QTableWidgetItem("Fixed monthly salary"));
tableWidget->setItem(1,3,new QTableWidgetItem("Receive a monthly salary by the number of hours worked"));
tableWidget->setItem(2,3,new QTableWidgetItem("Commission sales, according to the salesman month"));
tableWidget->setItem(3,3,new QTableWidgetItem("Both get a fixed monthly salary and receive sales commission"));
tableWidget->setEditTriggers(QTableWidget::NoEditTriggers); //设置表格内容不能直接编辑
connect(tableWidget,SIGNAL(cellPressed(int,int)),this,SLOT(delete_enable(int,int)));
}
void MainWindow::resizeEvent(QResizeEvent *) //主页图片的大小设置
{
int w,h;
w = width();
h = height();
label->setGeometry(9,9,w-18,h-130);
}
void MainWindow::homepage_show()
{
centralWidget = new QWidget(this);
label=new QLabel;
label->setStyleSheet("border-image: url(:/cpms.jpg)"); //设置主页图片
QGridLayout *horizontalLayout = new QGridLayout(centralWidget);
horizontalLayout->addWidget(label);
this->setCentralWidget(centralWidget);
}
void MainWindow::row_del()
{
tableWidget->removeRow(tableWidget->currentRow());
}
void MainWindow::delete_enable(int row,int col)
{
if(tableWidget->item(row,col))
Delete->setEnabled(true);
else
Delete->setEnabled(false);
}
5、进一步设想:尚未链接数据库。链接数据库后就能存储需要储存的数据,成为一个真正的公司人事管理系统。
二、课程设计的要求与数据
利用面向对象的编程思想以及C++的编程方法完成系统的设计
三、课程设计应完成的工作
完成设计的具体内容:
某小公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。实现:
(a)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
(b)程序对所有人员有提升级别的功能
(c)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成
(d)销售经理既拿固定月薪也领取销售提成。
(e)能按姓名或者编号寻找、删除、更新、显示各类人员的信息
四、课程设计进程安排
五、应收集的资料及主要参考文献
C++ GUI Qt4 编程(第二版)
Qt教程(百度电子书)、Qt自学之路(百度电子书)。
发出任务书日期: 年 月 日 指导教师签名:
计划完成日期: 年 月 日 基层教学单位责任人签章:
主管院长签章:
课程设计报告
题 目
课 程 名 称 面向对象程序设计课程设计
院 部 名 称
专 业
班 级
学 生 姓 名
学 号
课程设计地点
课程设计学时 80学时
指 导 教 师 李景仙
金陵科技学院教务处制
一、课程设计的目的和要求
此处至少300字以上.
2、系统需求分析
例如:
编写一个学籍信息管理程序,以一个班级为例。学籍信息的组成部分为:学号、姓名、性别、出生日期、政治面貌和家庭住址等。
此学籍信息管理主要利用类和单链表实现,完成的功能主要有如下五大功能模块组成。
(1)增加学生信息模块
该模块主要由单链表和类来完成,比较简单,在菜单栏里选择1,进入增加界面。根据提示信息,输入相应的学生信息。
(2)删除学生信息模块
该模块完成根据学号删除指定学生信息,它分两部分完成。第一步,根据输入的学号调用search_number(),判断该学生是否存在。第二步,若不存在,输出No student exist!,若存在,删除该学生全部信息。
(3)修改学生信息模块
该模块完成根据学号修改指定学生信息,它也分两部分完成。第一步,根据输入的学号调用search_number(),判断该学生是否存在。第二步,若不存在,输出No student exist!,若存在,修改该学生信息。
(4)查询学生信息模块
该模块比较复杂,里面又分了四个小模块,分别是根据学号查询,根据姓名查询,根据出生日期查询,根据家庭住址查询。
由主菜单进入查询界面后,再根据查询菜单,选择自己所需要的内容。
(5)显示学生信息模块
由主菜单进入显示界面,显示已经输入的全部学生信息。
三、总体设计
此处介绍出于什么思考、原因,得出什么样的总体设计结构,并将总体结构框架图画出来。
并简要介绍所设计类的结构,简要介绍类中各成员函数的功能(文字介绍)。
4、详细设计
对总体设计中各模块功能作文字介绍,对各功能模块中各函数功能做详细介绍,并附相应的一段代码。(注意代码只要显示关键语句即可)。
五、测试、调试过程
1 此处介绍课题完成的过程中所遇到的问题,并说明自己的解决方法。
2 每个功能的完成结果,将界面或者屏幕显示结果记录下来。
6、结论与体会
此处至少300字。
七、参考文献
格式按照下面例子:
[1](美)戴特尔(Deitel,H.M.).C++大学基础教程(第五版)[M].北京:电子工业出版社,2007.6
[2] 谭浩强.C++程序设计[M]. 北京:清华大学出版社,2006
。。。。。。
附录:源程序
1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是…
一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3…
中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名10003…
信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年…
扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题…
C课程设计报告题目小学算术运算测试设计者刘星刘俊良凌锋专业班级计算机网络0901班学号343337指导教师任长安所属系部计算机与信…
课程设计报告课程名称设计题目专业班级学号姓名赵家祥年月日目录一编制说明3一本施工组织设计的编制依据3二拟使用国家标准规范清单3三拟…
贪吃蛇游戏C程序设计报告目录一设计要求2二设计的作用目的2三课题分析21贪吃蛇游戏功能分析22游戏界面分析33设计思路分析3四设计…
信息科学与技术学院课班设计报告课程名称面向对象程序设计姓名XXXXXXXXXX级126班学号12263716指导教师钱苏斌XXXX…