c++课设代码.docx

上传人:b****5 文档编号:5150891 上传时间:2022-12-13 格式:DOCX 页数:48 大小:27.83KB
下载 相关 举报
c++课设代码.docx_第1页
第1页 / 共48页
c++课设代码.docx_第2页
第2页 / 共48页
c++课设代码.docx_第3页
第3页 / 共48页
c++课设代码.docx_第4页
第4页 / 共48页
c++课设代码.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

c++课设代码.docx

《c++课设代码.docx》由会员分享,可在线阅读,更多相关《c++课设代码.docx(48页珍藏版)》请在冰豆网上搜索。

c++课设代码.docx

c++课设代码

#include

#include

#include

#include

constintTMAX=50;

usingnamespacestd;

classPerson

{

protected:

intnum;

stringname;

charsex;

intage;

public:

Person(intn=0,stringnm="",chars='f',inta=0)

{

num=n;

name=nm;

sex=s;

age=a;

}

virtualvoidInput()

{

cout<

"<

cout<

";

cin>>num;

cout<<"姓名:

";

cin>>name;

cout<<"性别(男(m)女(f)):

";

cin>>sex;

while(sex!

='m'&&sex!

='f')

{

cout<

请重新输入!

"<

cin>>sex;

}

cout<<"年龄:

";

cin>>age;

}

virtualvoidOutput()

{

cout<

}

voidSetname()

{

cin>>name;

}

};

classTea_Manage;

classTeacher:

virtualpublicPerson

{

protected:

intdepart;

stringspec;

stringtitle1;

public:

Teacher(intn=0,stringnm="",chars='m',inta=0,intdep=0,stringsp="",stringt1=""):

Person(n,nm,s,a)

{

depart=dep;

spec=sp;

title1=t1;

}

voidInput1()

{

Input();

cout<<"系别:

(1.机械系2.电子系3.材料系4.建工系5.计算机系6.经管系7.财会系8.文法系9.外语系)"<

cout<<"请选择系别:

";

cin>>depart;

cout<<"专业:

";

cin>>spec;

cout<<"职称:

";

cin>>title1;

}

voidOutput1()

{

Output();

cout<

switch(depart)

{

case1:

cout<<"机械系";break;

case2:

cout<<"电子系";break;

case3:

cout<<"材料系";break;

case4:

cout<<"建工系";break;

case5:

cout<<"计算机系";break;

case6:

cout<<"经管系";break;

case7:

cout<<"财会系";break;

case8:

cout<<"文法系";break;

case9:

cout<<"外语系";break;

}

cout<

}

friendTea_Manage;//方便调用私有成员

};

classTea_Manage

{

TeacherTea[TMAX];//TMAX为常量,为数组中可存储的教师记录的最大数;

inttop;//top表示当前系统中存储的记录个数;

public:

Tea_Manage(){top=0;}//初始时记录的个数为0,所以设置top=0;

voidAdd();//实现该类记录的添加;

voidDisplay();//实现该类记录的提示词输出;

voidShow();//实现该类所有记录的显示;

voidSearch();//实现该类记录的查询;

voidEdit();//实现该类记录的修改;

voidDelete();//实现该类记录的删除;

voidTotal();//实现该类记录的统计;

voidSave();//将该类记录保存到文件;

voidRead();//可从文件中将记录读取到该类的数组中;

voidNum_Search()//然后按照相应的查询方式,对Tea数组中的top条记录进行查询;

{

intn;

inti;

intflag=0;

cout<

";

cin>>n;

for(i=0;i

{

if(n==Tea[i].num)

{

cout<

"<

//如果找到了相应的记录,则显示相应的记录的信息即可。

Display();

Tea[i].Output1();

flag=1;

}

}

if(flag==0)

cout<

"<

}

voidName_Search()

{

intflag;

Teachert;

cout<

";

cin>>t.name;

flag=0;

for(inti=0;i

if(t.name==Tea[i].name)

{

cout<

"<

Display();

Tea[i].Output1();

flag=1;

}

if(flag==0)

cout<

"<

}

};

voidTea_Manage:

:

Add()

{

inti;

intflag=0;//判断执行哪一个IF语句

Teachert;

t.Input1();

for(i=0;i

{

if(t.num==Tea[i].num)//判断新添加的人员的编号在已有的记录中是否重复

{

flag=1;

cout<

"<

//如果该记录的编号已存在,提示用户该编号的人员已存在!

t.Input1();//提示输入新添加的人员的信息

}

}

if(flag==0)

{

Tea[top]=t;

top=top+1;//如果该记录的编号不存在,则将其信息存入数组中,并修改top的值;

cout<

"<

”;

}

if(top>=TMAX)

{

cout<

"<

}//如果当前数组的空间已满,提示用户不能再添加;

}

voidTea_Manage:

:

Display()

{

cout<

cout<

<<"年龄"<

cout<<"-------------------------------------------------------------------------------"<

}

voidTea_Manage:

:

Show()

{

cout<

"<

//对输出进行提示,然后输出当前数组中已存储的记录的信息;

if(top==0)

cout<

"<

//如果当前系统中没有存储记录,则直接提示信息

else

{

Display();

for(inti=0;i

Tea[i].Output1();

}

}

voidTea_Manage:

:

Total()

{

inttj;

tj=top;

cout<

"<

Show();

}

voidTea_Manage:

:

Search()

{

intchoice;

if(top==0)

cout<

"<

//如果当前系统中没有存储记录,则直接提示信息

else

{

cout<

cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<

cout<<"||||"<

cout<<"||1=>编号查询2=>姓名查询0=>退出||"<

cout<<"||||"<

cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<

cout<

";

cin>>choice;//选择查询方式,按编号或按姓名

switch(choice)

{

case1:

Num_Search();break;

case2:

Name_Search();break;

case0:

cout<<"\n您已安全退出."<

default:

cout<<"\n没有此选项.请重选."<

}

}

}

voidTea_Manage:

:

Edit()

{

intflag=0;

if(top==0)

{

cout<

"<

return;//如果当前系统中没有存储记录,则直接提示信息,并返回;

}

intchoice=1;

inttemp=0;

intnum1,num2,j;

cout<

";

cin>>num1;

for(inti=0;i

{

if(num1==Tea[i].num)

{

while(choice)

{

j=i;

cout<

";

cin>>num2;

temp=0;

for(inti=0;i

if(num2==Tea[i].num)

{

cout<

不能修改!

"<

choice=0;

temp=1;

}

if(temp==0)

{

cout<

"<

Tea[j].Input1();

choice=0;

cout<

"<

}

}

flag=1;

}

}

if(flag==0)

cout<

"<

//cout<

"<

//Tea[k].Input1();

//如果找到了要修改的记录,则提示进行修改,修改完成后提示“修改成功!

}

voidTea_Manage:

:

Delete()

{

chara;

if(top==0)

{

cout<

"<

return;//如果当前系统中没有存储记录,则直接提示信息,并返回;

}

intn;

cout<

";

cin>>n;

cout<

cout<<"(是(Y或y)否(N或n)):

";

cin>>a;

if(a=='Y'||a=='y')

{

intflag=0;

for(inti=0;i

{

if(n==Tea[i].num)

{

flag=1;

Tea[i]=Tea[i+1];

top=top-1;

//如果确认要删除该记录,则将该记录之后的记录依次向前移动,之后将top的值减一;

for(intj=i;j

{

Tea[j]=Tea[j+1];

flag=1;

}

cout<

"<

}

}

if(flag==0)

{

cout<

不能删除!

"<

return;

}

}

}

voidTea_Manage:

:

Save()

{

ofstreamoutfile;

outfile.open("Teacher.txt",ios:

:

out);

if(!

outfile)

{

cout<

"<

return;

}

for(inti=0;i

{

outfile<

<<""<

//保存的功能是将数组中前top条记录写入到文件中

}

cout<

"<

outfile.close();

}

voidTea_Manage:

:

Read()

{

inti=0;

int&t=top;

t=0;

ifstreaminfile;

infile.open("Teacher.txt",ios:

:

in);

if(!

infile)

{

cout<

"<

return;

}

while(infile>>Tea[i].num>>Tea[i].name>>Tea[i].sex>>Tea[i].age

>>Tea[i].depart>>Tea[i].spec>>Tea[i].title1)

//该函数将文件中的记录依次读入到当前的数组中

{

i++;

t++;

}

cout<

"<

infile.close();

}

classSta_Manage;

classStaff:

virtualpublicPerson

{

protected:

stringzhengzhi;

stringtitle2;

public:

Staff(intn=0,stringnm="",chars='m',inta=0,stringzz="",stringt2=""):

Person(n,nm,s,a)

{

zhengzhi=zz;

title2=t2;

}

voidInput2()

{

Input();

cout<<"政治面貌:

";

cin>>zhengzhi;

cout<<"职称:

";

cin>>title2;

}

voidOutput2()

{

Output();

cout<

}

friendSta_Manage;

};

classSta_Manage

{

StaffSta[TMAX];//TMAX为常量,为数组中可存储的教师记录的最大数;

inttop;//top表示当前系统中存储的记录个数;

public:

Sta_Manage(){top=0;}//初始时记录的个数为0,所以设置top=0;

voidAdd();//实现该类记录的添加;

voidDisplay();//实现该类记录的提示词输出;

voidShow();//实现该类所有记录的显示;

voidSearch();//实现该类记录的查询;

voidEdit();//实现该类记录的修改;

voidDelete();//实现该类记录的删除;

voidTotal();//实现该类记录的统计;

voidSave();//将该类记录保存到文件;

voidRead();//可从文件中将记录读取到该类的数组中;

voidNum_Search()//然后按照相应的查询方式,对Tea数组中的top条记录进行查询;

{

intn;

inti;

intflag=0;

cout<

";

cin>>n;

for(i=0;i

{

if(n==Sta[i].num)

{

cout<

"<

//如果找到了相应的记录,则显示相应的记录的信息即可。

Display();

Sta[i].Output2();

flag=1;

}

}

if(flag==0)

cout<

"<

}

voidName_Search()

{

intflag;

Staffs;

cout<

";

cin>>s.name;

flag=0;

for(inti=0;i

if(s.name==Sta[i].name)

{

cout<

"<

Display();

Sta[i].Output2();

flag=1;

}

if(flag==0)

cout<

"<

}

};

voidSta_Manage:

:

Add()

{

inti;

intflag=0;//判断执行哪一个IF语句

Staffs;

s.Input2();

for(i=0;i

{

if(s.num==Sta[i].num)//判断新添加的人员的编号在已有的记录中是否重复

{

flag=1;

cout<

"<

//如果该记录的编号已存在,提示用户该编号的人员已存在!

s.Input2();//提示输入新添加的人员的信息

}

}

if(flag==0)

{

Sta[top]=s;

top=top+1;//如果该记录的编号不存在,则将其信息存入数组中,并修改top的值;

cout<

"<

”;

}

if(top>=TMAX)

{

cout<

"<

}//如果当前数组的空间已满,提示用户不能再添加;

}

voidSta_Manage:

:

Display()

{

cout<

<<"年龄"<

cout<<"--------------------------------------------------------"<

}

voidSta_Manage:

:

Show()

{

cout<

"<

//对输出进行提示,然后输出当前数组中已存储的记录的信息;

if(top==0)

cout<

"<

//如果当前系统中没有存储记录,则直接提示信息

else

{

Display();

for(inti=0;i

Sta[i].Output2();

}

}

voidSta_Manage:

:

Total()

{

inttj;

tj=top;

cout<

"<

Show();

}

voidSta_Manage:

:

Search()

{

intchoice;

if(top==0)

cout<

"<

//如果当前系统中没有存储记录,则直接提示信息

else

{

cout<

cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<

cout<<"||||"<

cout<<"||1=>编号查询2=>姓名查询0=>退出||"<

cout<<"||||"<

cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

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

当前位置:首页 > 高中教育 > 理化生

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

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