计算机本科c++课程设计题目及要求文档格式.docx

上传人:b****5 文档编号:20283188 上传时间:2023-01-21 格式:DOCX 页数:70 大小:101.30KB
下载 相关 举报
计算机本科c++课程设计题目及要求文档格式.docx_第1页
第1页 / 共70页
计算机本科c++课程设计题目及要求文档格式.docx_第2页
第2页 / 共70页
计算机本科c++课程设计题目及要求文档格式.docx_第3页
第3页 / 共70页
计算机本科c++课程设计题目及要求文档格式.docx_第4页
第4页 / 共70页
计算机本科c++课程设计题目及要求文档格式.docx_第5页
第5页 / 共70页
点击查看更多>>
下载资源
资源描述

计算机本科c++课程设计题目及要求文档格式.docx

《计算机本科c++课程设计题目及要求文档格式.docx》由会员分享,可在线阅读,更多相关《计算机本科c++课程设计题目及要求文档格式.docx(70页珍藏版)》请在冰豆网上搜索。

计算机本科c++课程设计题目及要求文档格式.docx

某小型企业出与这种目的制作了这个人事管理系统

二、程序的主要功能

1、添加功能:

添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址,家庭电话号码,部门,薪水,性别,职务、

2、删除功能:

能够对一个职员的信息进行删除按姓名进行删除、

3、除全部职员信息:

能够对于全部职员的信息进行删除!

4、显示功能:

显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日、!

5、查找功能:

根据你键入的职员姓名,显示其详细信息!

6、修改功能:

对职员的信息进行修改。

三、程序运行平台

具体操作如下:

首先进入VC++6.0,打开原代码person.cpp,然后进入原程序,接着选择Options下的Linker,选择Libraries,弹出一个对话框,再选择Graphicslibrary,然后确认即可!

四、系统总框架图

五、程序类的说明

∙Date类的声明

classDate

{

public:

Date();

//Date类的构造函数

voidset();

//Date类的设置函数

friendistream&

operator>

>

(istream&

in,Date&

da);

//重载“》”

friendostream&

operator<

<

(ostream&

out,Dated);

//重载“《”

voidoperator=(Dated);

重载“=”

private:

intyear;

//年

intmonth;

//月

intday;

//日

};

∙people类的声明

classpeople

people();

//people类的构造函数

friendostream&

out,peoplep);

//重载“〈〈”

friendistream&

in,people&

p);

voidoperator=(peoplep);

//重载“=”

voidset();

//people类的设置函数

char*getname();

//获得姓名

char*getsex();

//获得性别

char*getid();

//获得id

char*gettelephone();

//获得电话号码

Dategetbirthday();

//获得生日

char*getnumber();

//获得工作证号

voidsetname(char*);

//设置姓名

voidsetsex(char*);

//设置性别

voidsetid(char*);

//设置id

voidsetnumber(char*);

//设置工作证号

voidsetaddress(char*);

//设置家庭地址

voidsettelephone(char*);

//设置电话号码

voidsetbirthday(Date);

//设置出生日期

voidsetsalary(char*);

//设置薪水

voidsetpost(char*);

//设置职务

voidsetdepartment(char*);

//设置工作部门

protected:

charname[20];

//姓名

charsex[5];

//性别

charid[20];

//身份证号

chartelephone[10];

//电话号码

Datebirthday;

//出生日期

charnumber[20];

//工作证号

charaddress[100];

//家庭地址

charsalary[10];

//薪水

charpost[20];

//职务

chardepartment[30];

//工作部门

people*next;

//下一个节点

people*previous;

//上一个节点

classpeoplelist:

publicpeople

peoplelist();

//peoplelist类的构造函数

//peoplelist类的设置函数

voidadd();

//添加函数

voiddisplay();

//显示函数

voidfind();

//查找函数

voiddeleteAll();

//清空函数

voidsave();

//写入文件

voidload();

//读进内存

voidmodify();

//修改函数

voidremove();

//删除函数

private:

people*start;

//链表头

people*end;

//链表尾

六、模块分析

1.添加模块

系统将提示用户输入新添加的职员的信息,插入在链表中

2.显示模块

显示模块将输出所有职员的主要资料。

3.修改模块

首先由用户输入要修改的职员的姓名,然后系统用修改函数查找,显示该名职员的资料,然后系统提示用户输入需要修改的项目和新的资料。

4.查找模块

首先由用户输入要查找的职员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。

5.删除模块

首先由用户输入要删除的单个职员姓名,然后调用删除函数,删除该名职员的资料。

6.清空模块

系统将会把所有职员的资料全部删除,将链表清空。

七、比较有特色的函数

voidpeoplelist:

:

remove()

textmode(C80);

textbackground(BLUE);

clrscr();

gotoxy(10,10);

cout<

"

pleaseinputthenameofthestudnetyouwanttoremove:

;

charn[20];

cin>

n;

people*temp;

temp=start;

while(temp)

{

if(strcmp(temp->

getname(),n)==0)

break;

}

if(temp==NULL)

gotoxy(20,10);

cout<

thestudentnamedosenotexist!

endl;

else

if(temp->

previous)//删除的节点不是第一个

{

temp->

previous->

next=temp->

next;

if(temp->

next)//删除的节点不是最后一个

temp->

next->

previous=temp->

previous;

else

end=temp->

}

else//删除的节点是第一个

{

temp->

previous=NULL;

start=temp->

}

start=end=NULL;

//删除节点是最后一个,链表只有一个节点

gotoxy(30,10);

removesucceed!

getch();

}

八、存在的不足与对策

由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。

这些不足请老师多多谅解。

今后设计者会更多的学习编程技巧,不断的提高程序设计水平。

九、程序源代码

#include"

iostream.h"

string.h"

stdlib.h"

stdio.h"

fstream.h"

conio.h"

graphics.h"

dos.h"

process.h"

#defineTURE1

#defineFALSE0

#defineKB_S_N_DOWN80

#defineKB_S_N_UP72

#defineKB_S_N_ENTER28

#defineKB_S_N_D32

#defineKB_S_N_Q16

#defineKB_S_N_M50

#defineKB_S_N_A30

#defineKB_S_N_F33

#defineKB_S_N_R19

#defineKB_S_N_E18

voidWelcome();

intget_key();

intgetitem(int);

voidlight_bar();

voidbox(intx,inty,intwi,inthi,charbkcolor,charcolor);

introw,item_num=7;

unsignedsize;

void*buf;

/////////////////////////////////////////////

voidbox(intx,inty,intwi,inthi,charbkcolor,charcolor)

textbackground(bkcolor);

textcolor(color);

inti;

gotoxy(x,y);

putch(0xda);

for(i=1;

i<

wi;

i++)

putch(0xc4);

putch(0xbf);

hi;

gotoxy(x,i+y);

putch(0xb3);

gotoxy(x+wi,i+y);

gotoxy(x,y+hi);

putch(0xc0);

i++)putch(0xc4);

putch(0xd9);

voidWelcome()

intgraphdriver=VGA;

intgraphmode=VGAHI;

initgraph(&

graphdriver,&

graphmode,"

d:

\\bc\\bgi"

);

intseed=1858;

intdotx,doty,h,w,color,maxcolor;

maxcolor=getmaxcolor();

w=getmaxx();

h=getmaxy();

srand(seed);

for(inti=0;

250;

dotx=i+random(w-1);

doty=i+random(h-1);

color=random(maxcolor);

setcolor(color);

putpixel(dotx,doty,color);

circle(dotx+1,doty+1,1);

settextstyle(TRIPLEX_FONT,HORIZ_DIR,6);

outtextxy(30,150,"

Welcometothesystem"

closegraph();

/////////////////////////////////////////////////

intgetitem(introw)

intkey,done;

done=FALSE;

do

key=get_key();

switch(key)

caseKB_S_N_DOWN:

putimage(543,91+row*25,buf,XOR_PUT);

if(row==item_num-1)

row=0;

row++;

putimage(543,91+row*25,buf,XOR_PUT);

caseKB_S_N_UP:

if(row==0)

row=item_num-1;

row--;

caseKB_S_N_D:

if(row!

=0)

done=TURE;

break;

caseKB_S_N_A:

=1)

row=1;

caseKB_S_N_F:

=2)

row=2;

caseKB_S_N_M:

=3)

row=3;

caseKB_S_N_R:

=4)

row=4;

caseKB_S_N_E:

if(row!

=5)

row=5;

caseKB_S_N_Q:

=6)

row=6;

caseKB_S_N_ENTER:

default:

}while(!

done);

returnrow;

///////////////////////////////////////////////////

intget_key()

unionREGSrg;

rg.h.ah=0;

int86(0x16,&

rg,&

rg);

returnrg.h.ah;

///////////////////////////////////////////////

voidlight_bar()

putimage(543,91,buf,XOR_PUT);

setcolor(WHITE);

///////////////////////////////////////

///////////////////////////////////////////

Date:

Date()

year=month=day=0;

/////////////////////////////////////////////////////

istream&

da)

A:

inty,m,d;

in>

y>

m>

d;

if(y>

2002)

error!

gotoA;

da.year=y;

if(m>

12||m<

1)

da.month=m;

staticintdaysmonth[13]={0,31,28,31,30,

31,30,31,31,30,

31,30,31};

if(m!

if(d>

daysmonth[m]||d<

gotoA;

da.day=d;

if((y%100==0)||y%4==0&

&

y%100!

if(d<

0||d>

29)

cout<

gotoA;

da.day=d;

28)

returnin;

ostream&

out,Dated)

out<

d.year<

'

/'

d.month<

d.day<

returnout;

/////////////////////////////////

voidDate:

operator=(Dated)

year=d.year;

month=d.month;

day=d.day;

voidchange();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1