课程设计报告

时间:2024.3.31

 

课程名称    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掌握迪杰斯特拉以及Prim等基本算法思想4掌握if语句及switch语句的运用方...

课程设计报告

中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名1000301232廖壁波指导老师20xx年12月13日中国计量学院信息工程学院课程设计报...

课程设计报告模板

信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年月目录目录1设计任务12需求分析121基础功能122扩展功能13系统概要设计13...

课程设计报告

扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题问题描述若要在扬州大学的八个居民区A区B区C区D区E区F区G区H区之间架设自来水...

课程设计报告

系统软件课程设计时钟中断与进程调度学号姓名指导教师11070319许明秀金雪云20xx年12月一报告摘要进程调度是操作系统十分重要的一个部分在操作系统的设计过程中进程调度和时钟中断形成了密不可分的关系系统时钟定...

课程设计报告

计算机高级语言课程设计报告班级学号姓名蔡路日期学生成绩管理系统19xx3120xx100031020xx年1月18日一课程设计题目与要求实习题目学生成绩管理系统实习内容C语言面向对象的分析与设计基本要求学生成绩...

JAVA_课程设计报告

JAVA程序设计课程设计报告设计题目学院名称专业班级姓名学号1目录一需求分析3二概要设计3三详细设计331数据库设计332模块及窗体设计3321数据库模块设计3322用户登录识别模块5323用户信息管理模块61...

软件课程设计报告

中南民族大学软件课程设计报告电子信息工程09级题目学生吴雪学号指导教师王锦程电子工程0907100220xx年4月25日简易网络聊天系统摘要计算机网络通信技术已经深入我们的生活并给我们即使通信带来了很大的方随着...

软件课程设计报告

任务书北京信息科技大学计算机软件基础课程设计题目从某个源点到其余各顶点的最短路径学院专业学生姓名班级学号指导老师起止时间任务书1摘要摘要本次课程设计的问题假设西安北京沈阳武汉4个城市构成小型交通网4个城市表示图...

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

Java课程设计报告模板

Java程序设计课程设计报告20xx20xx年度第1学期Hannio塔专业学生姓名班级学号指导教师完成日期计算机科学技术网络工程马千里B计算机1021010704213徐森20xx年1月8日Hannoi塔目录目...

课程设计报告(33篇)