用C++实现的一个人事管理实验报告

合集下载

C#公司员工管理系统实训报告

C#公司员工管理系统实训报告

〈〈网络协议编程设计C#»实训课程项目报告公司管理系统,自己做的,除了数据库不能发其他源代码都有(实训设计)一、实训题目:公司员工管理系统二、实训意义:通过此次实训,让我们进一步了解c#应用程序开发的过程,同时也让我们对前面所学的知识付出实践,达到熟练掌握、综合性应用的目的。

三、实训内容:1、项目分析:1) 员工信息管理2) 员工考勤管理2、项目设计首先,我们必须建立一个登录系统和八个子系统。

登录系统:用户在登陆后可以进行权限操作管理。

员工信息管理系统:对员工信息进行查询、修改、添加、删除。

员工考勤管理系统:对员工考勤信息进行查询、修改、添加、删除。

使用SQL SERVER20QS立YGGI>据库,其中包括:用户表员工信息表员工考勤表四、项目的实现1、使用SQL200命I建YGG!>据库。

2、分别在SQL2005勺YGG数据库下创建admin表、employee_info 表、attendance 表,其代表用户表、员工信息表、员工考勤表。

1) 用户信息表:CREATE TABLE [dbo] . [admin]([name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL,[pwd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL) ON [PRIMARY]GO2) 员工信息表CREATE TABLE [dbo] . [employee_info]([userid] [int] NOT NULL,[name] [char] ( 10) COLLATE Chinese_PRC_CI_AS NOT NULL,[sex] [char] ( 10) COLLATE Chinese_PRC_CI_AS NOT NULL,[workyear] [varchar] ( 2) COLLATE Chinese_PRC_CI_AS NULL,[phone] [varchar] ( 50) COLLATE Chinese_PRC_CI_AS NULL,[addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL,CONSTRAINT [PK_employee info]PRIMARY KEY CLUSTERED ( [userid])WITH ( IGNORE_DUP_KEY = OFF) ON [PRIMARY])ON [PRIMARY] GO2)员工考勤表CREATE TABLE [dbo][userid] [int] [leave] [int] [travel] [int] [absent] [int] CONSTRAINT [PK_attendance]([userid] ASC)WITH ( IGNORE_DUP_KEY = OFF) ON [PRIMARY])ON [PRIMARY]3、使用C#1行窗口设计(源代码) 1)登录系统:ASC.[attendance] NOT NULL, NULL, NULL, NULL,PRIMARY KEY CLUSTEREDSqlConnection dbConnection = newSqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );SqlDataReader dataReader;string sqlString = "SELECT name,pwd FROM admin;";string loginPassWord = "";dbConnection.Open();SqlCommanddbCommand = new SqlCommand(sqlString, dbConnection);dataReader = dbCommand.ExecuteReader();try(if (dataReader.HasRows)(dataReader.Read();LoginName = dataReader[ "name"].ToString();loginPassWord = dataReader[ "pwd" ].ToString();}}catch ( Exception e1)(MessageBoxShow(e1.Message,"登陆出错");}dataReader.Close();if (LoginName == textBox1.Text && loginPassWord == textBox2.Text) ( this .Hide();Main frm1 = new Main();frm1.ShowDialog();}else(MessageBoxShow("请输入正确的用户名或者密码!","登陆出错");LoginName = null ;}}2)员工信息查询系统:①查询:private void btnDemand_Click( object sender, EventArgs e) (conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );if (rdbid.Checked == true ) (sda = new SqlDataAdapter ("select * from employee_info whereuserid='" +textChecked.Text.Trim()+ ""' , conn);ds = new DataSet ();sda.Fill(ds, "employee_info");)if (rdbname.Checked == true )(sda = new SqlDataAdapter ("select * from employee_info where name='" + textChecked.Text.Trim() + ""' , conn);ds = new DataSet ();sda.Fill(ds, "employee_info");)else()dataGridViewl.DataSource = ds.Tables[0];3)员工考勤管理系统:①查询:private void btnDemand1_Click( object sender, EventArgs e)(conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("select * from attendance where userid='" + textChecked1.Text.Trim() + ""' , conn);ds = new DataSet ();sda.Fill(ds, "attendance");dataGridView2.DataSource = ds.Tables[0];)②修改:private void btnDemand2_Click( object sender, EventArgs e)(conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("update attendance set leave=" + textleave.Text.Trim() + ",travel=" + texttravel.Text.Trim() + ", absent=" + textabsent.Text.Trim() +where userid='" + textChecked1.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance");)4) 新窗体:①添加窗体:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsApplication1{public partial class insert : Form{public insert(){InitializeComponent();}private void insert_Load( object sender, EventArgs e) {}SqlDataAdapter sda;SqlConnection conn;DataSet ds;private void btnDemand5_Click( object sender, EventArgs e){conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "insert into employee_info values( " +textuserid1.Text.Trim() + ",'" + textname1.Text.Trim() + + textworkyear1.Text.Trim() + "," + textphone1.Text.Trim() conn);ds = new DataSet ();sda.Fill(ds, "attendance" );} "' ,'" + textsex1.Text.Trim() + "' "+ "')" + “'“+ textaddr1.Text.Trim()private void btnresult2_Click( object sender, EventArgs e) {conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "select * from employee_info" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );dataGridView1.DataSource = ds.Tables[0];)②修改窗体:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsApplication1{public partial class Update : Form{public Update(){InitializeComponent();)private void Update_Load( object sender, EventArgs e){)private void dataGridView1_CellContentClick( object sender, DataGridViewCellEventArgs e) {)SqlDataAdapter sda;SqlConnection conn;DataSet ds;private void btnDemand3_Click( object sender, EventArgs e){conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "select * from employee_info where userid='" + textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );dataGridView1.DataSource = ds.Tables[0];private void btnDemand4_Click( object sender, EventArgs e)(conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "update employee_info set name='" + textname.Text.Trim() + "' ,sex='" + textsex.Text.Trim() + "', workyear=" + textworkyear.Text.Trim() + ”,phone=" + textphone.Text.Trim() + ",addr='" + textaddr.Text.Trim() + "' where userid='" + textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );}private void btnresult1_Click( object sender, EventArgs e)(conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "select * from employee_info where userid='" + textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );dataGridView1.DataSource = ds.Tables[0];}}}③删除窗体:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace WindowsApplication1(public partial class delete : Form(public delete()(InitializeComponent();}private void delete_Load( object sender, EventArgs e) private voiddataGridView1_CellContentClick( object sender, DataGridViewCellEventArgse){)SqlDataAdapter sda;SqlConnection conn;DataSet ds;private void btnDemand6_Click( object sender, EventArgs e){conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "select * from employee_info where userid='" + textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );dataGridView1.DataSource = ds.Tables[0];)private void btnDemand7_Click( object sender, EventArgs e){conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "delete from employee_info where userid='" + textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );)private void btnDemand8_Click( object sender, EventArgs e){conn = new SqlConnection ( "server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ( "select * from employee_info " , conn);ds = new DataSet ();sda.Fill(ds, "attendance" );dataGridView1.DataSource = ds.Tables[0];)))5) 员工信息管理系统:①修改:(Update frm2 = new Update();frm2.ShowDialog();private void btnDemand3_Click( object sender, EventArgs e) (conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("select * from employee_info where userid='" + t extChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance");dataGridViewl.DataSource = ds.Tables[0];}private void btnDemand4_Click( object sender, EventArgs e)(conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("update employee_info set name='" + textname.Text.Trim()+ "' ,sex='" + textsex.Text.Trim() + "',workyear=" + textworkyear.Text.Trim() +",phone=" + textphone.Text.Trim() + ",addr='" + textaddr.Text.Trim() + "' whereuserid='" + textChecked2.Text.Trim() + "'",conn);ds = new DataSet ();sda.Fill(ds, "attendance");private void btninsert_Click( object sender, EventArgs e) (insert frm2 = new insert ();frm2.ShowDialog();}private void btnDemand5_Click( object sender, EventArgs e) (conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("insert into employee_info values(" + textuserid1.Text.Trim() + ",'" + textname1.Text.Trim() + ”,”,+textsex1.Text.Trim() + "'," + textworkyear1.Text.Trim() + "" +textphone1.Text.Trim() + ",'" + textaddr1.Text.Trim() + "')",conn);ds = new DataSet ();sda.Fill(ds, attendance");private void button5_Click( object sender, EventArgs e) (delete frm2 = new delete ();frm2.ShowDialog();}private void btnDemand7_Click( object sender, EventArgs e)(conn = new SqlConnection ("server=.;database=YGGL;uid=sa;pwd=" );sda = new SqlDataAdapter ("delete from employee_info where userid='" +textChecked2.Text.Trim() + "'" , conn);ds = new DataSet ();sda.Fill(ds, "attendance");}五、小组成员分工陈子宇:数据库的建立与连接、员工信息管理中修改、添加、删除模块耶宝国:登陆界面、界面美化、员工信息查询与考勤管理的修改模块。

C公司员工管理系统实训报告

C公司员工管理系统实训报告

河南理工大学计算机科学与技术学院课程设计2015 —2016学年第二学期课程名称程序设计课程设计题目公司员工管理系统学生姓名田树浩学号 411520040111专业班级计软1501指导老师毛钧2016年7月3号一、实训题目:公司员工管理系统二、实训意义:通过此次实训,让我们进一步了解应用程序开发的过程,同时也让我们对前面所学的知识付出实践,达到熟练掌握、综合性应用的目的。

三、实训内容:1、项目分析:1) 员工信息管理2) 员工考勤管理2、项目设计首先,我们必须建立一个登录系统和八个子系统。

登录系统:用户在登陆后可以进行权限操作管理。

员工信息管理系统:对员工信息进行查询、修改、添加、删除。

员工考勤管理系统:对员工考勤信息进行查询、修改、添加、删除。

使用 2010建立数据库,其中包括:用户表员工信息表员工考勤表四、项目的实现1、使用 2010创建数据库。

2、分别在 2010的数据库下创建表、表、表,其代表用户表、员工信息表、员工考勤表。

1) 用户信息表:[].[]([] [](50),[] [](50)) []2) 员工信息表[].[]([] [] ,[] [](10),[] [](10),[] [](2),[] [](50),[] [](50),[ ]([])(=) []) []2) 员工考勤表[].[]([] [] ,[] [] ,[] [] ,[] [] ,[]([])(=) []) []3、使用语言进行窗口设计(源代码)1)登录系统:1( , e){= ("");;= " ;";= "";();= (, );= ();{(){();= [""]();= [""]();}}( e1){(e1, "登陆出错"); }();( 1 2){();1 = Main();1();}{("请输入正确的用户名或者密码!", "登陆出错"); = ;}}2)员工信息查询系统:①查询:( , e){= ("");( ){= (" * '"()+"'", );= ();(,"");}( ){= (" * '" + () + "'", ); = ();(, "");}{}1 = [0];}3)员工考勤管理系统:①查询:1( , e){= ("");= (" * '" + 1() + "'", );= ();(, "");2 = [0];}2( , e){= ("");= (" " + () + " " + () + ", " + () + " '" + 1() + "' ", );= ();(, "");}4)新窗体:①添加窗体:;;;;;;;;1{:{(){();}( , e){};;;5( , e){= ("");= (" ( " + 1() + ",'" + 1() + "' ,'" + 1() + "', " + 1() + "," + 1() + ",'" + 1() + "')", );= ();(, "");2( , e){= ("");= (" * " , ); = ();(, "");1 = [0];}}}②修改窗体:;;;;;;;;1{:{(){();}( , e){}1( , e){};;;3( , e){= ("");= (" * '" + 2() + "'", );= ();(, "");1 = [0];}4( , e){= ("");= (" '" + () + "' '" + () + "', " + () + "" + () + "'" + () + "' '" + 2() + "' ", );= ();(, "");}1( , e){= ("");= (" * '" + 2() + "'", );= ();(, "");1 = [0];}}}③删除窗体:;;;;;;;;1{:{(){();}( , e){}1( , e){};;;6( , e){= ("");= (" * '" + 2() + "'", ); = ();(, "");1 = [0];}7( , e){= ("");= (" '" + 2() + "'", ); = ();(, "");}8( , e){= ("");= (" * ", );= ();(, "");1 = [0];}}}5)员工信息管理系统:①修改:( , e){2 = ();2();}3( , e){= ("");= (" * '" + t 2() + "'", );= ();(, "");1 = [0];}4( , e){= ("");= (" '" + () + "' '" + () + "', " + () + "" + () + "'" + () + "' '" + 2() + "' ", );= ();(, "");}②添加:( , e){2 = ();2();}5( , e){= ("");= (" ( " + 1() + ",'" + 1() + "' ,'" + 1() + "', " + 1() + "," + 1() + ",'" + 1() + "')", );= ();(, "");}③删除:5( , e){2 = ();2();}7( , e){= ("");= (" '" + 2() + "'", );= ();(, "");}五、总结与心得经过两个星期的实训,让我学到了很多关于的知识。

人事档案管理系统_c语言

人事档案管理系统_c语言

人事档案管理系统_c语言人事档案管理系统是一种用于管理和维护组织内员工档案的软件系统。

随着企业的发展和人力资源管理的进步,人事档案管理系统已经成为企业管理不可或缺的一部分。

本文将介绍一个C语言实现的人事档案管理系统,包括系统设计和功能。

一、系统设计1.系统结构人事档案管理系统主要由以下几个组成部分:• 用户界面模块:用于管理和维护档案等信息与操作。

• 数据库模块:用于存储和管理各类档案资料等数据。

• 后台模块:用于管理人事档案管理系统的整体运作和处理。

2.系统功能设计人事档案管理系统主要功能包括以下几个方面:(1)用户登录,实现用户身份验证和权限管理;(2)新增、编辑、删除、查询员工等记录,实现简单员工档案的管理。

(3)工资信息管理,包括薪资发放、薪资统计等功能。

(4)请假管理,包括请假类型、请假时间、请假理由等。

(5)培训管理,包括员工培训计划、培训内容、培训结果等方面的管理。

(6)人事报表生成与查询,包括人事统计分析、人力资源计划等多个方面的管理。

二、C语言实现1.系统架构首先,需要确定系统的核心模块和需求,例如文件管理、用户管理、员工管理、考勤管理等。

然后,可以使用C语言中的结构体和函数对这些核心模块进行设计和实现。

2.模块设计(1)文件管理文件管理模块用于管理人事档案管理系统的数据文件,包括打开、创建、保存、修改、删除等功能。

由于数据是非常重要的,所以应该对其进行备份和恢复操作。

(2)用户管理用户管理模块用于管理人事档案管理系统的用户信息,包括用户的姓名、密码、权限等。

通过用户管理模块,可以对不同的用户进行身份验证和权限管理。

(3)员工管理员工管理模块用于管理和维护员工的档案信息,包括员工姓名、工号、部门、职位、工资、请假信息等。

通过员工管理模块,可以方便地查询和管理员工的信息。

(4)考勤管理考勤管理模块用于管理员工的考勤信息,包括上班打卡、下班打卡等。

通过考勤管理模块,可以方便地查询和管理员工的请假、加班、旷工等信息。

企业人事管理系统实验报告

企业人事管理系统实验报告

面向对象程序设计课程设计报告企业人事管理系统目录一、软件需求分析二、总体方案设计三、详细设计四、程序的调试与运行结果说明五、课程设计总结六、附录一、软件需求分析一、需求分析1、实现人员信息的增、删、改操作,并实现按姓名、工号进行查询功能,按照部门、工资统计、排序功能能够实现人员的部门间的调动功能2、源文件采用多文件的工程结构3、数据存储采用多文件形式4、标准的C++输入输出二、操作手册运行程序后,按1键进入系统,要实现多种操作只需按照功能菜单上的提示输入相应的数字选择即可二、总体方案设计一、系统总共能模块二、定义的函数及说明void deldate() //删除指定的单个员工的资料void adperson() //将输入的资料赋值给相映的数据void pprintn() //输出所有员工的资料people *query() //将系统中的编号与输入的编号比较people *qu() //将系统中的姓名与输入的姓名比void disp() //输出所有员工的资料void disp2() //输出指定的单个员工的资料void peopledata(); //主要功能实现函数void main() //主函数void jiemian1() //界面1,进入程序时输出void jiemian3() //界面3,程序结束后输出qiye() //qiye类的构造函数三、详细设计以下为我完成的具体功能函数及函数的详细分析和所用算法:1、void deldate()函数该函数是删除指定的单个员工的资料,以后在其他程序模块如删除、修改等都需要调用void deldate(){kg=1;}2、void adperson()函数该函是数将输入的资料赋值给相映的数据void people::addperson(int b,int a,long int t,char *na,char *dizhi,char *zhiwei){kg=0;bh=b;strcpy(name,na);strcpy(adr,dizhi);strcpy(duty,zhiwei);ID_num=a;salary=t;}3、void pprintn()函数该函数是输出所有员工的资料的函数在如查询、修改等功能模块中通过调用该函数可实现显示所有员工资料的功能void pprintn(){if(Getkg()==0)cout<<setw(10)<<bh<<setw(10)<<name<<setw(10)<<ID_num<<setw(10)<<duty< <setw(15)<<salary<<setw(15)<<adr<<endl;}4、people *query()函数该函数实现的是将系统中的编号与输入的编号比较功能在新增、删除和修改模块中调用该函数可实现判断该员工是否已经存在而在查询模块在调用该函数可实现在已存在的记录中查找该成员的作用people *query(int personid){for(int i=0;i<=top;i++){if(man[i].GetNo()==personid&&man[i].Getkg()==0){return &man[i];in=i;}}return NULL;}5、people *qu()函数该函数实现的是将系统中的姓名与输入的姓名比较功能在新增、删除和修改模块中调用该函数可实现判断该员工是否已经存在而在查询模块在调用该函数可实现在已存在的记录中查找该成员的作用people *qw(char na[]){for(int i=0;i<=top;i++){if(strcmp(man[i].GetName(),na)==0&&man[i].Getkg()==0){return &man[i];in=i;}}return NULL;}5、void disp()函数该函数在新增模块中使用,该函数通过循环判断输出所有员工资料void disp(){for(int i=0;i<=top;i++){if(man[i].Getkg()==0)if(i%5==0)cout<<endl;man[i].pprintn();}}6、void disp2()函数输出指定的单个员工的资料void disp2(){cout<<endl;man[in].pprintn();}7、void peopledata();函数该函数为菜单函数,通过此函数进行相应的操作,首先按1键进入功能菜单界面,然后进行6种选择,6——退出;1——新增职工的信息(1、新建;2、增加);2——显示员工信息;3——查找员工信息(1、按姓名;2、按编号);4——修改员工信息(1、按姓名;2、按编号);5——删除员工信息(1、逐个删除2、全部删除);void qiye::peopledata()//对qiye类的成员函数peopledata的类外声名{char choice='0';char ch,peoplen[20],addr[40],dutyt[30];int worherbh;int m;int k;people *w;while(choice!='6'){cout<<endl<<endl;cout<<" ★★菜单★★"<<endl;cout<<endl;cout<<" 1:新增"<<endl;cout<<" 2:显示"<<endl;cout<<" 3:查找"<<endl;cout<<" 4:修改"<<endl;cout<<" 5:删除"<<endl;cout<<" 6:退出"<<endl;cout<<endl<<"请输入选择:";loop_0:cin>>choice;if(choice=='6'){//clear();break;}switch(choice){case '1':char ch1;system("cls");cout<<endl<<'\t'<<"★欢迎进入新增系统!★"<<endl<<endl;cout<<"1.新建"<<endl<<endl;cout<<"2.增加"<<endl<<endl;cout<<endl<<"请输入选择:";loop_1:cin>>ch1;if(ch1=='1'){char chi;cout<<"<新建将删除原有记录>确定新建?(Y/N)"<<endl;loop_1i:cin>>chi;switch(chi){case 'Y'|'y':clear();break;case 'N'|'n':goto loop_1b;default:cout<<"输入错误,请重新输入!"<<endl;goto loop_1i;}}if(ch1!='1'&&ch1!='2'){cout<<"输入错误,请重新输入!"<<endl;goto loop_1;}do{do{cout<<endl<<"请输入员工编号:"<<endl;cin>>worherbh;w=query(worherbh);if(w!=NULL)cout<<"错误:该编号资料已存在,请重新输入。

工资管理C程序实验报告.doc

工资管理C程序实验报告.doc

《程序设计实践》报告一、题目第五部分小型管理程序第1题工资管理a.程序功能简介:一个员工工资程序:有新建、存储、显示、修改和删除功能。

b.设计要求:(1)完善帮助信息,帮助信息没有把操作的所有命令列出。

(2)一进入程序首先显示所有命令。

(3)使用n键新建一个数据项并询问是否要存储,按y键存储,其他键取消存储。

(4)显示、修改和删除数据项时大小写通用。

(5)将所有的函数与相应的数据项封装到类中,并改写主程序。

题目难度:B二、问题分析及求解基本思路看到这个题目,第一个想法就是分析一下这个程序里面会有哪些数据元素,需要哪些功能函数,对于要选择数据类型的话,首先想到的肯定是类,这样才能把那些例如名字,工资金额等这些不同类型的数据打包封装在一起,然后对的接口就是一些定义,调用的函数。

这样程序会看上去更有调理,易懂。

然后就要想需要定义哪些类,从最简单的入手,第一个肯定要定义个CSalary类,用来存储职工名字和工资,然后再在里面定义一些构造函数,析构函数,返回姓名和工资的函数,比较姓名用来查找。

然后为了不让CSalary类太过复杂庞大,就想到再定义一个CNode的节点类,把CSalary类包含进去,然后可用于输入,输出,赋值等。

但如果光这两个类的话显然太弱了,因为会发现如果你要同时录入多个人工资信息时就会很麻烦,因为它只能保存一个人信息,所以想要录入多人信息,就还得再定义个链表类CList,里面包含了节点类CNode的成员(即把CList申明为CNode的友元类),然后在CList类中就可以进行对节点的插入,删除,输出等功能。

三个类大致定义好了,接下来就是对成员函数的定义,这个问题不大。

为了加强程序的文件输入输出功能我用了输入输出流函数,这个是看书上模仿做的。

三、问题求解的整体框架结构定义三个类:第一个CSalary类用来存储姓名、工资等内容第二个节点类用来输入、输出、赋值等内容第三个链表类,将节点类看做里面的数据成员,用来插入,删除,输出节点然后定义一个输入输出流函数,在执行时首先将工资从文件中读出再进行管理,在程序结束时将工资数据保存在原文件中四、主要算法1、第一个数据类中,用来存储职工姓名和工资Class CSalary{姓名;工资;Public:构造函数;char *GetName()返回姓名;double GetSal()返回工资;int Compare(char name[])比较姓名,供查找用;void show()用于显示姓名和工资;void ch(double a)初始化工资;}第二个节点类,包含数据类的成员,该类涉及节点输入,输出,赋值等Class CNode{CSalary *pData;定义指向数据类的指针CNode *pNext;指向下一结点指针;public:构造函数;拷贝构造函数;void InputData()输入数据的函数;void ShowNode()显示数据的函数;CSalary *GetData() 返回下一个节点;friend class CList定义一个友元类;}第三个为链表类,将节点视为类中的数据成员,涉及节点的插入,删除,输出等操作class CList{Protected:CNode *pHead;Public:构造函数;V oid DeleteList()删除整个链表;析构函数;V oid DeleteNode()删除指定节点,返回节点的指针;V oid ShowList() 输出整个链表;V oid Insert(CNode *)插入一个节点内容;}显示、修改、删除数据时大小写通用:2、定义一个函数,通过调用库函数strupr,全部转换为大写。

C++课程设计报告-人事管理系统

C++课程设计报告-人事管理系统
4•“系统封面构成”模块:
(1)系统时钟:在在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,系统
封面会自动释放
(2)功能实现:进入主界面与退出系统。
6.
图模块框架图
7.系统数据分析
所有数据存放到access数据库文件下,由ado连接,通过程序按照要求显 示给用户。找到用户需要的数据。
二、系统设计
{
DataModule3->ADOQuery1->Next();
StatusBar1->Panels->Items[0]->Text="数据指向下一个";
}
void __fastcall TFmain::SpeedButton4Click (TObject *Sender)
{
DataModule3->ADOQuery1->Last();
}
void __fastcall TFmain::N9Click (T Object *Sender)
{
//帮助内容
ShowMessage("\
大家好,虽然只是一个简单的程序但是也要写帮助。\n\
简单的操作如下:\n\
一、打开程序。\n\
二、可以进行数据的添加、删除、浏览、查找\n\
三、关闭。\n\
Action=caNone;
}
void__fastcall TFmain::N10Click (T Object *Sender)
{
AboutBox->ShowModal() ; //显示关于对话框
}
void __fastcall TFmain::Button4Click (T Object *Sender)

C++项目报告之高校人事管理系统

C++课程项目设计说明书项目名称:高校人事管理系统目录...................................................................... 错误!未定义书签。

1 项目(高校人事管理系统)需求分析 (1)1.1项目目标 (1)1.2系统主要功能概述 (1)1.3可行性分析 (1)1.4项目运行环境 (2)2 项目(高校人事管理系统)设计 (3)2.1概要设计 (3)2.2详细设计 (3)2.3项目命名约定 (5)2.4项目分工表 (5)2.5项目进度表 (5)3 项目(高校人事管理系统)功能介绍 (6)4 项目(高校人事管理系统)功能测试 (6)5 项目使用说明 (6)6项目(系统)总结 (7)7 程序源代码 (7)1 项目(高校人事管理系统)需求分析1.1 项目目标1.开发一个高校人事管理系统,修改以前该系统的不足,提高系统的运作效率。

1.2 系统主要功能概述1.高校人事管理系统模块(系统流程图)1.3可行性分析1.系统/技术可行性:windows安装了VC+6.0即可运行。

2.使用可行性采用简单的GUI界面,用户经过短期培训即可方便使用系统。

1.4 项目运行环境2 项目(高校人事管理系统)设计2.1 概要设计设计一个person和school的类,再结合main函数实现搞笑人事管理系统的功能,大致模块如下:2.2 详细设计2.3 项目命名约定类名:大写字母开头如:School类属性:采用匈牙利命名法(即第一个字母小写并表明数据类型)如:int 变量:采用匈牙利命名法(即第一个字母小写并表明数据类型)如:c2.4项目分工表2.5项目进度表3 项目(高校人事管理系统)功能介绍添加功能:实现对新成员的添加。

删除功能:对离校成员信息的清楚。

修改功能:对于在校人员信息的变更加以补充和消减,创建最新信息!查询功能:实现对在校人员信息的提取。

数据存盘与装入功能:对以上信息的变更加以存储,实现下一次信息的调用。

人事管理系统C++课程设计报告

编号:B04931053学号:201240450137课程设计教学院计算机学院课程名称面向对象程序设计课程设计题目人事档案管理系统专业软件工程班级12软件工程姓名包先跃同组人员吕鹏飞、林科辰、龙浪、陈精良指导教师谢晋2013 年12 月15 日(完成时间)目录一概述 (2)二总体方案设计 (3)三详细设计 (3)程序流程图 (7)四程序的调试与运行结果说明 (8)4.1调试方法 (8)4.2运行的主要功能界面及分析 (9)4.3测试中的问题 (12)五课程设计总结 (13)5.1程序的效果描述 (13)5.2优点与不足 (13)5.3个人体会 (13)参考文献 (14)附录: (14)一概述1.课程设计的目的1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。

2.培养综合运用所学知识独立完成课题的能力。

3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。

4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。

2.课程设计的要求1.需求分析:①能够输入职工的综合情况的输入、修改以及删除;②能够实现对职工信息的浏览;③能够实现对职工进行查询;④设计系统封面并由计时器控制;2.系统性能要求:①系统安全、可靠;②功能齐全;③操作方便、界面友好;④易于维护和扩充。

3.系统的功能分析: 资料维护:系统维护包括对各种表记录的修改、删除、添加等操作。

4.资料维护:对数据表中的信息进行浏览。

系统查询:可以按职工编号、姓名等相关信息进行详细或模糊查询。

报表统计:包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。

其它操作:系统封面、计时器控制与人性化提示信息。

系统功能模块人事管理系统有:数据查找与浏览、数据修改、报表显示和系统封面构成。

5.功能的实现:1“数据查找与浏览”模块:(1)数据查找:对职工的编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段进行精确或模糊查找。

C#公司员工管理系统实训报告

1、项目分析: 1) 员工信息管理 2) 员工考勤管理 2、项目设计 首先,我们必须建立一个登录系统和八个子系统。 登录系统:用户在登陆后可以进行权限操作管理。 员工信息管理系统:对员工信息进行查询、修改、添加、删除。 员工考勤管理系统:对员工考勤信息进行查询、修改、添加、删除。 使用 SQL SERVER2005 建立 YGGL 数据库,其中包括: 用户表 员工信息表 员工考勤表
Байду номын сангаас
}
3)员工考勤管理系统:
①查询:
private void btnDemand1_Click(object sender, EventArgs e) { conn = new SqlConnection("server=.;database=YGGL;uid=sa;pwd="); sda = new SqlDataAdapter("select * from attendance where userid='" + textChecked1.Text.Trim() + "'", conn); ds = new DataSet(); sda.Fill(ds, "attendance"); dataGridView2.DataSource = ds.Tables[0]; }
} } catch (Exception e1) { MessageBox.Show(e1.Message, "登陆出错"); } dataReader.Close(); if (LoginName == textBox1.Text && loginPassWord == textBox2.Text) { this.Hide(); Main frm1 = new Main(); frm1.ShowDialog(); } else { MessageBox.Show("请输入正确的用户名或者密码!", "登陆出错"); LoginName = null; } }

c语言课程设计之人事管理系统

C语言课程设计之人事管理系统简介人事管理系统是一种用于管理组织内人员信息和管理人力资源的系统。

在本文档中,我们将介绍一个使用C语言编写的简单人事管理系统。

该系统可以实现员工信息的添加、删除、修改和查询,以及一些基本的人事管理功能。

功能模块1. 员工信息管理模块•添加员工信息:包括姓名、工号、职位、部门等基本信息。

•删除员工信息:根据工号删除指定员工的信息。

•修改员工信息:根据工号修改指定员工的信息。

•查询员工信息:可以根据姓名、工号等条件查询员工的信息。

2. 薪资管理模块•发放工资:根据员工的工作时长、加班情况等计算工资并发放。

•调整薪资:可以根据员工表现调整薪资水平。

3. 考勤管理模块•打卡记录:记录员工的上下班打卡情况。

•考勤统计:统计员工的出勤情况,包括迟到、早退、旷工等信息。

系统设计1. 数据结构•员工信息结构体:包括姓名、工号、职位、部门等信息。

•薪资结构体:包括基本工资、加班工资等信息。

•考勤记录结构体:包括打卡时间、出勤情况等信息。

2. 功能实现•员工信息管理:使用链表或数组存储员工信息,实现增删改查操作。

•薪资管理:根据员工的工作情况计算薪资并更新薪资信息。

•考勤管理:记录员工的打卡信息并统计考勤情况。

系统实现1. 界面设计•采用控制台界面,通过菜单选择实现各项功能。

•显示员工信息列表、薪资管理界面和考勤记录界面。

2. 代码实现•使用C语言实现各个功能模块,包括管理员工信息、计算薪资、记录考勤等。

•采用函数封装、模块化设计,提高代码的可读性和可维护性。

测试与验证1. 单元测试•对每个功能模块进行单元测试,确保功能的正确性。

•模拟各种情况,包括正常情况和异常情况。

2. 系统测试•综合测试所有功能模块,验证系统的完整性和稳定性。

•模拟真实使用情况,检查系统的性能和可靠性。

总结通过本文档的介绍,我们了解了一个简单的C语言编写的人事管理系统的设计思路和实现方法。

人事管理系统是组织管理中的重要系统之一,对于提高工作效率和管理人力资源具有重要意义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人事管理
一 实验目的
(1) 掌握类的声明和使用。
(2) 掌握对象的使用。
(3) 复习使用具有不同访问属性成员的访问方式。
(4) 学习类的组合使用方法。
(5) 使用构造函数、析构函数、成员函数进行程设计。
二 实验任务
设计一个用于人事管理的People(人员)类。考虑到通用性,
只抽出所用人员都具有的属性:number(编号)、sex(性别)、
birthday(出生日期)。其中“出生日期”声明为一个“日期”
类内嵌子对象。成员函数实现对人员信息的录用和显示。要
求包括:构造函数和析构函数、拷贝析构函数、类联成员函
数、组合。
三 实验步骤
此实验首先需要声明两个类,一个是定义Date类,另外一个
是定义People类。Date所做的工作就是对出生年月的处理,
其中包括年(year)、月(month)、日(day)等私有数据成员,声
明成员函数b1(2000,1,1);用来输出提示信息。如:class Date
{
public:
Date(int year,int month,int day)
{
y=year;m=month;d=day;
}
int getYear(){return y;}
int getMonth(){return m;}
int getDay(){return d;}
private:
int y,m,d;
};
People所做的是对所有人事管理人员的信息处理,其中就包
括:number(编号)、sex(性别)、birthday(出生日期)。由
于出生日期已被Date类函数所处理,所以只需在主函数中声
明的成员函数b1(2000,1,1)调用使用就可以,People类建造方
式与Date所类似,
又由于在程序中对象容易消失,因此需要建造对People的析
构函数。
“People(int n,char s,Date b); ~People(){ } ”
而对于整个People类函数来说,Date类函数只是完成了其中
的一个工作,因此Date类函数只是People类函数一个内嵌
子函数,“People::People(int n,char s,Date b):birthday(b)”。在
主函数中声明成名函数“Date b1(2000,1,1);People
p1(20101907,'W',b1);p1.show();”用来输出提示信息,在将P1
的内容送到P2,用“p2.show();”再次输出。如:
源程序://lab4-3
#include
using namespace std;
class Date
{
public:
Date(int year,int month,int day){
y=year;m=month;d=day;}
int getYear() {return y;}
int getMonth() {return m;}
int getDay() {return d;}
private:
int y,m,d;};
class People
{
public:
People(int n,char s,Date b); ~People(){ }
People(People &p);
void show()
{
cout<<"编号:"<cout<<"出生日期:"<<private:
int number; char sex; Date birthday;
};
People::People(int n,char s,Date b):birthday(b)
{ number=n; sex=s;}
People::People(People &p):birthday(p.birthday)
{ number=p.number; sex=p.sex;}
void main()
{ Date b1(2000,1,1); People p1(20101907,'W',b1); p1.show();
People p2(p1); p2.show(); }

相关文档
最新文档