课程设计报告

 

课程名称    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

。。。。。。

附录:源程序

相关推荐