简单学生信息管理系统C++范文

时间:2019-05-13 18:14:48下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《简单学生信息管理系统C++范文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《简单学生信息管理系统C++范文》。

第一篇:简单学生信息管理系统C++范文

#include

#include

using namespace std;

int i=0;

void layout()

{

cout<<“欢迎使用学生信息系统”<

cout<<“请选择功能序号:”<

cout<<“0.输入学生信息”<

cout<<“1.计算平均分并排序”<

cout<<“2.统计学科平均分”<

cout<<“3.统计班级平均分”<

cout<<“4.按学号修改学生信息”<

cout<<“5.根据学号查询学生信息”<

cout<<“---------万恶的分割线----------”<

}

class student

{

private:

int num;

string name;

double score1,score2;

public:

double c;

int banji;

string sex;

student(){}

void set_student(int bj,int n,string nam,string s,double les1,double les2){

banji=bj;

num=n;

name=nam;

sex=s;

score1=les1;

score2=les2;

}

int get_score1()

{

return score1;

}

int get_score2()

{

return score2;

}

int get_num()

{

return num;

}

void show()

{

c=(score1+score2)/2;

cout<

}

}stu[20];

void show_1()

{

cout<<“班级:t学号t姓名t性别t学科一t学科二t平均分”<

}

//学生信息输入//

void INPUT()

{

int j=0;

int x;

do{int banji;int num;string name;string sex;double score1,score2;

cout<<“请输入学生信息:”<

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cin>>banji>>num>>name>>sex>>score1>>score2;

stu[i].set_student(banji,num,name,sex,score1,score2);

i++;

cout<<“是否继续输入学生信息?是:请输入0/否:请输入1”<

cin>>x;

}while(x==0);

show_1();

for(j=0;j

{

stu[j].show();

}

}

//计算平均分并排序//

void Paixu()

{student stu1;

for(p=0;p<=i-1;p++)

{

k=p;

for(j=p+1;j

if(stu[j].c

{k=j;

stu1=stu[k];stu[k]=stu[p];stu[p]=stu1;

}

}

show_1();

for(j=0;j

{

stu[j].show();

}

}

//统计学科平均分//

void xueke()

{

double q1;

double sum1;

int p1;

for(p1=0;p1<=i;p1++)

{

sum1=sum1+stu[p1].get_score1();

}

q1=sum1/i;

cout<<“学科一平均成绩:”<

double q2;

double sum2;

int p2;

for(p2=0;p2<=i;p2++)

{

sum2=sum2+stu[p2].get_score2();

}

q2=sum2/i;

cout<<“学科二平均成绩:”<

}

//统计班级平均分//

void banji()

double q1,q2;

double sum1,sum2;

int p,m;

m=0;

sum1=0;sum2=0;

for(p=0;p<=i;p++)

{

a[p]=stu[p].banji;

}

for(m=0;m<=i;m++)

{int t=1;

sum1=stu[m].get_score1();

sum2=stu[m].get_score2();

for(p=m+1;p<=i;p++)

{

if((a[m]==a[p])&&a[p]!=0)

{

sum1=sum1+stu[p].get_score1();

sum2=sum2+stu[p].get_score2();

a[p]=0;

t++;

}

}

if(a[m]!=0){

q1=sum1/t;

q2=sum2/t;

cout<<“电信”<

cout<<“学科二平均成绩:”<

}

}

}

//按学号查询学生信息//

void chaxun()

{int x;

cout<<“请输入学号:”;

cin>>x;

int p;

for(p=0;p<=i;p++)

{

if(x==stu[p].get_num())

{

show_1();

stu[p].show();

}

}

}

//按学号修改学生信息//

void xiugai()

{

int j;

int x;

cout<<“请输入需修改学号:”;

cin>>x;

int p;

for(p=0;p<=i;p++)

{

if(x==stu[p].get_num())

{

int banji;int num;string name;string sex;double score1,score2;

cout<<“请输入学生信息:”<

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cin>>banji>>num>>name>>sex>>score1>>score2;

stu[p].set_student(banji,num,name,sex,score1,score2);

show_1();

for(j=0;j

{

stu[j].show();

}

}

}

}

int main()

{layout();

int flag;

int n;

for(n=0;n<=100;n++)

{

cin>>flag;

switch(flag){

case 0:

cout<<“输入范例:”;

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cout<<“1 1109 朱伟 男 100 98”<

cout<<“---------万恶的分割线----------”<

INPUT();

break;

case 1:

Paixu();

break;

case 2:

xueke();

break;

case 3:

banji();

break;

case 4:

chaxun();

break;

case 5:

xiugai();

break;

case 6:

n=100;

}cout<<“再见!谢谢使用本系统!”;break;default:cout<<“请重新输入功能序号:”;break;}}

第二篇:C++课程设计学生信息管理系统

C++程序设计实践教学环节任务书

一、题目:学生信息管理系统

二、目的与要求

1.目的:

(1)掌握面向对象程序设计的基本思路和方法;

(2)了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块

组装与整体调试的全过程;

(3)进一步熟悉C++中类的概念、类的封装、继承的实现方式;(4)学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会简单的调试技巧和方法。逐步熟悉面向对象程序设计的方法,养成良好的编程习惯。

2.要求基本要求:

(1)要求利用C++面向对象的编程思想来完成系统的设计;(2)进行简单界面设计,能够实现友好的交互;(3)具有清晰的程序流程图和数据结构的详细定义;(4)熟练掌握C++对文件的各种操作。

三、信息描述

有关该系统基本信息的描述(如:学号、姓名、系别、班级和各科成绩等)。

四、功能描述

1.添加、删除

系统将提示用户输入新添加学生的信息;由用户输入要删除的学生的学号,然后调用删除函数,删除该名学生的资料。2.查找

首先由用户输入要查找的学生的学号,系统用查找函数查找,然后系统就调用输出函数。

3.修改

首先由用户输入要修改的学生的学号,然后系统用修改函数查找,显示该名学生的资料,然后系统提示用户输入需要修改的项目和新的资料。4.界面要求

开始登录管理界面、主要提示菜单界面(提示用户执行何种操作)等。

五、解决方案

1.分析程序的功能要求,划分程序功能模块。2.画出系统流程图。

3.代码的编写、程序的功能调试。4.完成系统总结报告以及使用说明书

六、进度安排

此次课程设计时间为一周或两周,分四个阶段完成:

1.分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确

设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。

2.编码调试阶段:根据设计分析方案编写代码,然后调试该代码,实现

课题要求的功能。

3.总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需

求分析、总体设计、详细设计、编码、测试的步骤和内容。4.考核阶段。

七、撰写课程设计报告或课程设计总结

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

八、参考资料

《C++语言程序设计教程》

网上相关资料(....略)

第三篇:c++学校人员信息管理系统

1.C++课程设计题目:《学校人员信息管理系统》

用c++设计一个大学教师和学生管理程序,教师包括编号(a),姓名(c),职称(d)和教研室数据(b)的数据输入输出;大学生包括编号(m),姓名(s),性别(t),班号(n),英语(e),高等数学(f)和数据结构(g)三门课程成绩输入输出和计算机平均分(ave);研究生包括编号,姓名,性别,班号,指导教师和研究方法数据输入输出;博士后数据的输入输出;博士后既是教师也是研究生.(用派生,继承的方法可以做)2.功能如下图所示:

学生成绩管理系统主函数主菜单录入学生信息保存信息到文件浏览学生信息按姓名或学号查询信息删除信息退出系统 3.部分代码 #include #include #include“persons.h” #include“student.h” #include“teacher.h” #include“empoyee.h” #include“chainList.h” #include void fileRead(chainList *list,ifstream &ff);//把文件从硬盘上读入内存 void fileWrite(chainList *list,ofstream &ff);//写入硬盘

int compareStr(char*str1,char*str2);//名字作为关键字,这个函数就用来比较 void addList(chainList *list);//同名的话,覆盖,或者改为新名字加入 void

deleteNode(chainList *node);//根据名字删除

void editList(chainList *list,char *name);//要编辑的人名和新的资料

chainList *searchList(chainList *list,char*name);//只提供名字查询(其他以后加入)//返回前一个节点的指针

void orderList(chainList *list);//按名字排序

void orderListByAge(chainList *list);//按年龄降序排列

void orderListBySex(chainList *list);//按照性别排列,女士优先 void printStaticInfo(chainList*list);void printList(chainList *list);int main(){cout<<“tYou are welcome to the management system!”<>sn;char fileName[30];chainList headNode(0,NULL);chainList *head=&headNode;if(sn=='l'){ifstream file;

cout<<“File's name:”<

cin>>fileName;

file.open(fileName);if(!file)//为何输入不存在地文件后,机子变得很慢,而且没有结果出来?

{cout<<“File not found!System exit.”<

return 1;

}

// cout<<“test”<

fileRead(head,file);//读入文件到链表

file.close();} printStaticInfo(head);char ctn;

do {cout<<“main menu:”<>ctn;switch(ctn){ case '0':break;case '1':

addList(head);

break;case '2':

cout<<“Please input the person's name to be deleted:”<

char nm[20];

cin>>nm;

chainList *pdel;

pdel=searchList(head,nm);

char sure;//Make sure whether you want to delete the data

sure='n';

if(!pdel->next)

{

cout<<“The person you input cann't be found”<

}

else{

cout<<“The persons infor follows:”<

pdel->next->pl->print();

cout<<“Are you sure to delete it?Press y or n”<

cin>>sure;

if(sure=='y')

{

deleteNode(pdel);

cout<

} } break;case '3': cout<<“Please input the person's name:”<>nm1;chainList *pp;

pp=searchList(head,nm1);

if(pp->next)

{

cout<<“The person's infor follows:”<

pp->next->pl->print();

cout<<“Now ,please edit the infors.”<

editList(head,nm1);

}

else

cout<<“The person can't be found!”<

break;

case '4':

cout<<“Please input the person's name:”<

char name[30];

cin>>name;

chainList *p;

p=searchList(head,name);

if(p->next)

{

p->next->pl->print();

}

else

cout<<“The person can't be found!”<

break;

case '5':

cout<<“You want to order the list by:”<

cout<<“1.name 2.age

3.sex(lady first)”<

char ch;

cin>>ch;

switch(ch)

{

case '1':

cout<<“You choose to order the list by name.The result are as follows:”<

orderList(head);

printStaticInfo(head);

break;

case '2':

cout<<“You choose to order the list by age.The result are as follows:”<

orderListByAge(head);

printStaticInfo(head);

break;

case '3':

cout<<“You choose to order the list by sex.The result are as follows:”<

orderListBySex(head);

printStaticInfo(head);

break;

default:

cout<<“Wrong choice!”<

}

break;

case '6':

printStaticInfo(head);

break;

default:

cout<<“Wrong choice!”<

}

}while(ctn!='0');cout<<“Do you want to save the file?No,press n.Else,any other key.”<>save;if(save!='n'){

cout<<“Please input the file's name:”<

cin>>fileName;

ofstream fin;

fin.open(fileName);//如果文件已经存在,询问是否覆盖。如何知道是否存在 if(!fin)

{

cout<<“Can't open output file.n”;

return 1;

}

fileWrite(head,fin);

fin.close();

cout<<“File has been successfully saved!”<

void fileRead(chainList *list,ifstream &ff){ chainList*p=list;int tp;

} char nm[20];int ag;char sx;int slr;int grd;

int e;int m;int g;int average;char schl[20];char sb[20];int teaYear;int aa=1;persons*psn;//插入人员指针

ff>>tp;while(tp){ ff>>ag;

ff>>nm;

ff>>sx;

switch(tp){

case 1: ff>>grd;ff>>schl;

psn=new student(ag,nm,sx,grd,schl,e,m,g,average);

break;case 2:

ff>>sb;

ff>>teaYear;

psn=new teacher(ag,nm,sx,sb,teaYear);

break;case 3:

ff>>slr;

psn=new empoyee(ag,nm,sx,slr);

break;}

} chainList*s=new chainList(tp,psn);p->next=s;p=s;ff>>tp;void fileWrite(chainList *list,ofstream &ff){ chainList*p=list->next;while(p){

ff<

typeOfPn<<“ ”<

pl->age<<“ ”<

pl->name<<“ ”<

pl->sex<<“ ”;

switch(p->typeOfPn)

{

case 1:

ff<<((student*)p->pl)->grade<<“ ”<<((student*)p->pl)->school<

break;

case 2:

ff<<((teacher*)p->pl)->subject<<“ ”<<((teacher*)p->pl)->yearsOfT<

break;

case 3:

ff<<((empoyee*)p->pl)->salary<

break;

} p=p->next;} int aa=0;ff<

int i=0;while((p1[i]==p2[i])&&p1[i]&&p2[i])

i++;if(p1[i]==p2[i]){

return 0;} else { if(p1[i]>p2[i])

return 1;

else

return-1;} }

void addList(chainList *list)//添加节点 {

char tp;int type;do{ cout<<“The person whose info you want to input is:”<

2.a teacher 3.a common employee”<>tp;//为什么一输入字符就死循环??

char nm[20];int ag;char sx;int slr;int grd;char schl[20];

int e;int m;

int g;int average;char sb[20];int teaYear;int aa=1;persons*psn;//插入人员指针

switch(tp){ case '0':aa=0;

type=0;

break;case '1':

type=1;

cout<<“name:”<

cin>>nm;

cout<<“age:”<

cin>>ag;

cout<<“male or female?m or f?”<

cin>>sx;

cout<<“The student's grade”<

cin>>grd;

cout<<“From which school:”<

cin>>schl;

cout<<“the score of english:”<

cin>>e;

cout<<“the score of math:”<

cin>>m;

cout<<“the score of sjjg:”<

cin>>g;

cout<<“average:”<

psn=new student(ag,nm,sx,grd,schl,e,m,g,average);

break;

case '2':type=2;

cout<<“name:”<

cin>>nm;

cout<<“age:”<

cin>>ag;

cout<<“male or female?m or f?”<

cin>>sx;

cout<<“subject field:”<

cin>>sb;

cout<<“Years as a teacher:”<

cin>>teaYear;

psn=new teacher(ag,nm,sx,sb,teaYear);

break;

case '3':type=3;

cout<<“name:”<

cin>>nm;

cout<<“age:”<

cin>>ag;

cout<<“male or female?m or f?”<

cin>>sx;

cout<<“The employee's salary:”<

cin>>slr;

psn=new empoyee(ag,nm,sx,slr);

break;

default:type=6;

aa=0;

cout<<“Wrong choice!”<

}

chainList*p=list;//新节点在p所指的节点之前插入,if(aa)

{

int com;

if(p->next)

{

com=compareStr(nm,p->next->pl->name);

cout<

}

while(p->next&&com>0)//比p节点小或者p为空退出

{

p=p->next;

if(p->next)

com=compareStr(nm,p->next->pl->name);

}

chainList *s=new chainList(type,psn);

s->next=p->next;

p->next=s;

}

}while(type);

} void deleteNode(chainList *node){

chainList*ptemp=node->next;

node->next=ptemp->next;

delete ptemp;} void editList(chainList *list,char *name)//删除,添加就是编辑。缺点:不想删除的也被删除了。{ chainList *pde;pde=searchList(list,name);

char tp;int type;do{

cout<<“The person whose info you want to input is:”<

cout<<“1.a student

2.a teacher 3.a common employee”<

cout<<“0.Return to main menu.”<

cin>>tp;//为什么一输入字符就死循环??

char nm[20];

int ag;

char sx;

int slr;

int grd;

char schl[20];

int e;

int m;

int g;

int average;

char sb[20];

int teaYear;

int aa=1;

persons*psn;//插入人员指针

if(tp==1||tp==2||tp==3)

deleteNode(pde);switch(tp){ case '0':aa=0;type=0;break;case '1': type=1;cout<<“name:”<>nm;cout<<“age:”<>ag;cout<<“male or female?m or f?”<>sx;cout<<“The student's grade”<>grd;cout<<“From which school:”<>schl;cout<<“the score of english:”<>e;cout<<“the score of math:”<>m;cout<<“the score of sjjg:”<>g;psn=new student(ag,nm,sx,grd,schl,e,m,g,average);break;case '2':type=2;cout<<“name:”<>nm;cout<<“age:”<>ag;cout<<“male or female?m or f?”<>sx;cout<<“subject field:”<>sb;cout<<“Years as a teacher:”<>teaYear;psn=new teacher(ag,nm,sx,sb,teaYear);break;case '3':type=3;cout<<“name:”<>nm;

cout<<“age:”<

cin>>ag;

cout<<“male or female?m or f?”<

cin>>sx;

cout<<“The employee's salary:”<

cin>>slr;

psn=new empoyee(ag,nm,sx,slr);

break;

default:type=6;

aa=0;

cout<<“Wrong choice!”<

}

chainList*p=list;//新节点在p所指的节点之前插入,if(aa)

{

int com;

if(p->next)

{

com=compareStr(nm,p->next->pl->name);

cout<

}

while(p->next&&com>0)//比p节点小或者p为空退出

{

p=p->next;

if(p->next)

com=compareStr(nm,p->next->pl->name);

}

chainList *s=new chainList(type,psn);

s->next=p->next;

p->next=s;

}

}while(type);

} chainList *searchList(chainList *list,char*name)//查找函数 { chainList *p=list;int com;if(p->next)

com=compareStr(name,p->next->pl->name);

while(p->next&&com)//com为0值(即名字相同)或者p->next为空退出

{ p=p->next;if(p->next)com=compareStr(name,p->next->pl->name);} return p;} void orderList(chainList *list){ chainList *p,*q;p=list;q=p->next;while(q->next&&p){

while((p->next!=q->next)&&p->next)//如果相等,则什么也不做

{

int i=compareStr(q->next->pl->name,p->next->pl->name);

i=-i;

if(i>0)//字母顺序小的插在前面

{

chainList*s;

s=q->next;

q->next=s->next;

s->next=p->next;

p->next=s;

p=s;

break;

}

if(i==0)//字母顺序相同的插到后面

{

chainList*ss;

ss=q->next;

q->next=ss->next;

p=p->next;//让p永远指向插入位置前一个位置。

ss->next=p->next;

p->next=ss;

p=ss;

break;

}

p=p->next;

}

p=list;//让p重新指向头节点。

if(q->next)

q=q->next;//q前进一步。

} }

void orderListByAge(chainList *list){ chainList*p,*q;p=list;q=p->next;while(q->next&&p){

while(p->next!=q->next)//如果相等,则什么也不做

{

int i=q->next->pl->age-p->next->pl->age;

if(i>0)//年龄大的插到用于比较的节点前面

{

chainList*s;

s=q->next;

q->next=s->next;

s->next=p->next;

p->next=s;

p=s;

break;

}

if(i==0)//年龄相同的插到后面

{

chainList*ss;

ss=q->next;

q->next=ss->next;

p=p->next;//让p永远指向插入位置前一个位置。

ss->next=p->next;

p->next=ss;

p=ss;

break;

}

p=p->next;

}

p=list;//让p重新指向头节点。

if(q->next)

q=q->next;//q前进一步。

} } void orderListBySex(chainList *list)//按性别排序,插入排序 { chainList*p,*q;p=q=list;

while(q->next){

if(q->next->pl->sex=='f')

{

chainList*s;

s=q->next;

q->next=s->next;//删除,然后插到前面

s->next=p->next;

p->next=s;

p=s;

}

q=q->next;} }

void printStaticInfo(chainList*list){ int count,countS,countT,countE,countMale,countFemale;count=countS=countT=countE=countMale=countFemale=0;chainList*p=list->next;while(p){

p->pl->print();

count++;

if(p->pl->sex=='m')

countMale++;

else

countFemale++;

switch(p->typeOfPn)

{

case 1:

countS++;

break;

} case 2:

countT++;

break;case 3:

countE++;

break;} p=p->next;

} cout<<“********************************************”<

部分截图

1.信息的输入

2.浏览学生信息

开始N开始YNY输出所有信息返回主菜单录入信息保存信息返回主菜单打开文件文件中有无信息结束3.按姓名或学号查询信息

4.删除信息

开始NY输入姓名或学号开始NY输入姓名或学号N

打开文件打开文件Y输出信息(name==sign)||(number==sign))Y删除信息(name==sign)||(number==sign))N返回主菜单返回主菜单

心得体会:

通过本次课程设计懂得了,学习计算机语言知识,要不断实践,不断学习新的内容,特别是课堂中没有涉及的内容要自主的去学习并学会运用。在今后的学习中我要加强自主学习的能力,加强动手能力。通过一星期的C++语言程序设计课程设计,我们从中受益匪浅,并且对C++语言程序设计这一门课程有了更深一步的认识。在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。虽然我们对这些C++语言知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。发现问题,提出问题,解决问题使我们从不足之处出发,寻找新的方向。在课程设计中,我设计了一个学生信息管理系统,它基本足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对人员管理更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对学生信息的输入和存取、读取,对学生相关信息的删除等,并且可以按学号查询学生的相关信息等的功能。但软件中仍然存在一些不足,例如在输入有关学生的数据时名字没有限定,插入新的学生信息的程序还有待完善,菜单不美观等。我一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用这样的机会充实自己,并希望这样的机会能被更好更多地提供。

第四篇:C++课程设计 教职工信息管理系统源代码

教职工信息管理系统源码

#include #include #include #include

#define maxsize 100 fstream iofile;//文件指针

class Time //时间类 {

public:

int year;

int month;

int day;};

class Telem //个人信息 {

public:

char name[20];

char sex[10];

Time birthtime;//组合Time类

char num[20];

char wage[20];

Time worktime;

int year;

char department[20];

friend istream& operator>>(istream& input,Telem& T);

friend ostream& operator<<(ostream& output,Telem& T);

friend int operator-(Time & t1,Time & t2);};

class People:virtual public Telem //雇员类 {

public:

People();

virtual void AddF()=0;//添加

virtual void Addall()=0;

virtual void Add()=0;

virtual void Display();//输出数组的内容

virtual void Displaypart(char p[]);

virtual void Findname(char n[]);

virtual void Findyear(int);

virtual void Del(char n[])=0;

virtual void Del(int);protected:

Telem data[maxsize];

Time now;

int length;};

class Teacher:virtual public People //派生虚基类 {

public:

virtual void AddF();

virtual void Addall();

virtual void Add();

virtual void Display();

virtual void Del(int i);

virtual void Del(char n[]);};

class worker:virtual public People //派生虚基类 {

public:

virtual void AddF();

virtual void Addall();

virtual void Add();

virtual void Display();

virtual void Del(int i);

virtual void Del(char n[]);};

People::People()//系统自动生成的构造函数 {

length=0;

now.year=2010;

now.month=7;

now.day=6;}

void People::Display()//引用 {

int i;

for(i=0;i

cout<

void People::Displaypart(char p[])//引用数组

{

int i,c;

for(i=0;i

if(strcmp(data[i].wage,p)==0)

{

cout<<“输出选择姓名1 性别2 编号3 工资4 出生日期5 工作时间6 年龄7 系别8 退出选择9”<

while(cin>>c)

{

switch(c)

{

case 1: cout<<“姓名:”<

case 2: cout<<“性别:”<

case 3: cout<<“编号:”<

case 4: cout<<“工资:”<

case 5: cout<<“出生日期:”<

case 6: cout<<“工作时间:”<

case 7: cout<<“年龄:”<

case 8: cout<<“系别:”<

case 9: goto loop;

default:cout<<“操作错误......”<

}

}

loop:;

} }

void People::Findname(char n[])//引用 {

int i;

for(i=0;i

if(strcmp(data[i].name,n)==0)//对象引用

cout<

void People::Findyear(int y){

int i;

for(i=0;i

if(data[i].year==y)

cout<

void People::Del(int i){

int j;

if(i<1||i>length)

cout<<“不存在第”<

for(j=i;j

data[j-1]=data[j];

length--;}

void worker::AddF(){

int flag=0;

iofile.open(“worker_information.txt”,ios::in|ios::binary);//文件的打开与关闭

while(iofile.seekg(ios::cur))

{

iofile.seekg(length*sizeof(data[length]),ios::beg);

iofile.read((char*)&data[length],sizeof(data[length]));//文件的随机访问

length++;

if(length==maxsize)

{

flag=1;

goto loop;

}

}

People::Del(length);

cout<<“添加人员信息成功......”<

loop:

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void worker::Addall(){

char ans;

int flag=0;

iofile.open(“worker_information.txt”,ios::out|ios::binary);

do

{

cin>>data[length];

data[length].year=now-data[length].birthtime;

iofile.write((char*)&data[length],sizeof(data[length]));

cout<<“添加人员信息成功......”<

length++;

if(length==maxsize)

{

flag=1;

goto loop;

}

cout<<“contine(Y|N)?”;

cin>>ans;

}while('y'==ans||'Y'==ans);loop:

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void worker::Add(){

int flag=0;

iofile.open(“worker_information.txt”,ios::app|ios::out|ios::binary);

if(length==maxsize)

{

flag=1;

goto loop;

}

cin>>data[length];

data[length].year=now-data[length].birthtime;

iofile.write((char*)&data[length],sizeof(data[length]));

cout<<“添加人员信息成功......”<

length++;

loop:

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void worker::Display(){

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

if(0==length)

cout<<“无......”<

int i;

for(i=0;i

cout<

int i,j,k;

for(i=0;i

if(strcmp(data[i].name,n)==0){

k=i+1;break;}

if(k<1)

cout<<“不存在姓名”<

for(j=k;j

data[j-1]=data[j];

length--;

cout<<“删除人员信息成功......”<

void worker::Del(int i){

int j;

if(i<1||i>length)

cout<<“不存在第”<

for(j=i;j

data[j-1]=data[j];

length--;

cout<<“删除成功......”<

}

void Teacher::AddF(){

int flag=0;

iofile.open(“Teacher_information.txt”,ios::in|ios::binary);

while(iofile.seekg(sizeof(data[length]),ios::cur))

{

if(iofile.seekg(length*sizeof(data[length]),ios::beg))

iofile.read((char*)&data[length],sizeof(data[length]));

else

break;

length++;

if(length==maxsize)

{

flag=1;

goto loop;

}

}

People::Del(length);

cout<<“添加人员信息成功......”<

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void Teacher::Addall(){

char ans;

int flag=0;

iofile.open(“Teacher_information.txt”,ios::in|ios::out|ios::binary);

do

{

cin>>data[length];

data[length].year=now-data[length].birthtime;

iofile.write((char*)&data[length],sizeof(data[length]));

cout<<“添加人员信息成功......”<

length++;

if(length==maxsize)

{

flag=1;

goto loop;

}

cout<<“contine(Y|N)?”;

cin>>ans;

}while('y'==ans||'Y'==ans);loop:

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void Teacher::Add(){

int flag=0;

iofile.open(“Teacher_information.txt”,ios::app|ios::out|ios::binary);

if(length==maxsize)

{

flag=1;

goto loop;

}

cin>>data[length];

data[length].year=now-data[length].birthtime;

iofile.write((char*)&data[length],sizeof(data[length]));

cout<<“添加人员信息成功......”<

length++;loop:

if(1==flag)

cout<<“人员信息储存空间已满......”<

iofile.close();}

void Teacher::Display(){

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆教师信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

if(0==length)

cout<<“无......”<

int i;

for(i=0;i

cout<

void Teacher::Del(char n[]){

int i,j,k;

for(i=0;i

if(strcmp(data[i].name,n)==0)

{

k=i+1;break;

}

if(k<1)cout<<“不存在姓名”<

for(j=k;j

data[j-1]=data[j];

length--;

cout<<“删除人员信息成功......”<

void Teacher::Del(int i){

int j;

if(i<1||i>length)

cout<<“不存在第”<

for(j=i;j

data[j-1]=data[j];

length--;

cout<<“删除成功......”<

istream& operator>>(istream& input,Telem& T){

int y,m,d;

cout<<“请输入姓名(以*结尾):”<

input.getline(T.name,20,'*');

cout<<“请输入性别(以*结尾 男或女):”<

input.getline(T.sex,10,'*');

cout<<“编号(以*结尾):”<

input.getline(T.num,20,'*');

cout<<“工资(以*结尾):”<

input.getline(T.wage,20,'*');

cout<<“请输入出生日期:”<

input>>y>>m>>d;

T.birthtime.year=(y>=1900&&y<=2100)?y:1900;

T.birthtime.month=(m>=1&&m<=12)?m:1;

T.birthtime.day=(d>=1&&d<=31)?d:1;

cout<<“请输入系别(以*结尾):”<

input.getline(T.department,20,'*');

cout<<“参加工作时间:”<

input>>y>>m>>d;

T.worktime.year=(y>=1900&&y<=2100)?y:1900;

T.worktime.month=(m>=1&&m<=12)?m:1;

T.worktime.day=(d>=1&&d<=31)?d:1;

return input;}

ostream& operator<<(ostream& output,Telem& T){

cout<<“姓名:”;

output<

cout<<“性别:”;

output<

cout<<“编号:”;

output<

cout<<“工资:”;

output<

cout<<“出生日期:”;

output<

cout<<“系别:”;

output<

cout<<“参加工作时间:”;

output<

cout<<“年龄:”;

output<

return output;}

int operator-(Time & t1,Time & t2){

return t1.year-t2.year;}

void Showmenu(){

cout<

cout<<“

欢 迎 进 入 教 职 工 信 息 管 理 系 统”<

cout<<“

2010 年7月7日发布”<<“

版权所有: swa”<

cout<<“

★ ☆ ★ ☆ ★ ☆ ★ ☆ ★人员信息管理系统★ ☆ ★ ☆ ★ ☆ ★ ☆ ★”<

cout<<“

1-从键盘录入全部人员记录

☆ ”<

cout<<“

☆ 2-增加一位人员记录

★”<

cout<<“

3-显示全部人员记录

☆”<

cout<<“

☆ 4-按系别输出人员信息(可选)★ ”<

cout<<“

5-按姓名或年龄检索所有信息☆ ”<

cout<<“

☆ 6-显示菜单目录

★ ”<

cout<<“

7-结束程序运行

☆ ”<

cout<<“

★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

int main(){

Teacher tea;

worker stu;

People *pt=&tea;

People *ps=&stu;

int c=0,k=0,l=0,i=0;

char nam[20],part[20];Showmenu();

for(;;)

{

cout<<“请根据菜单执行相应操作: ”;

cin>>c;

switch(c)

{

case 1:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★录入全部人员记录 ★ ☆ ★ ☆ ★ ☆ ★”<

cout<<“ ★ ☆ ★ ☆ ★从键盘输入教师信息 ☆ ★ ☆ ★ ☆”<

pt->Addall();

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆从键盘输入工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

ps->Addall();

break;

}

case 2:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆从键盘增加一位人员记录 ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆教师操作请按1 工人操作请按2 ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

cin>>k;

if(1==k)

pt->Add();

else if(2==k)

ps->Add();

else

cout<<“操作错误...”<

break;

}

case 3:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆显示全部人员记录 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

pt->Display();

ps->Display();

break;

}

case 4:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆按部门输出人员信息(可选)★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

cout<<“ ★ ☆ ★ ☆ ★ ☆教师操作请按1 工人操作请按2 ★ ☆ ★ ☆ ★ ☆”<

cin>>k;

if(1==k)

{

cout<<“请输入要输出人员的系别(以*结尾):”<

pt->Displaypart(part);

}

else if(2==k)

{

cout<<“请输入要输出人员的系别(以*结尾):”<

ps->Displaypart(part);

}

else

cout<<“操作错误......”<

break;

}

case 5:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★按姓名或年龄检索所有信息 ★ ☆ ★ ☆ ★ ☆ ★”<

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★按姓名查找1 按年龄查找2 ★ ☆ ★ ☆ ★ ☆ ★”<

cin>>k;

if(1==k)

{

cout<<“按姓名查找1 按年龄查找2”<>l;

if(1==l)

{

cout<<“请输入要查找人员的姓名(以*结尾):”<

pt->Findname(nam);

}

else if(2==l)

{

cout<<“请输入要查找人的年龄:”<>i;

pt->Findyear(i);

}

else

cout<<“操作错误......”<

}

else if(2==k)

{

cout<<“按姓名查找1 按年龄查找2”<>l;

if(1==l)

{

cout<<“请输入要查找人员的姓名(以*结尾):”<

ps->Findname(nam);

}

else if(2==l)

{

cout<<“请输入要查找人的年龄:”<>i;

ps->Findyear(i);

}

else

cout<<“操作错误......”<

}

else

cout<<“操作错误......”<

break;

}

case 6:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆显示菜单目录 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

Showmenu();

break;

}

case 7:

{

cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆结束程序运行 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”<

exit(0);

}

default:cout<<“操作错误......”<

}

}

return 0;}

第五篇:C++大作业_职工信息管理系统源代码

#include #include #include using namespace std;

const N=5000;// 定义系统可录入的职工最大数值

string Ename[N];long Enum[N];char Esex[N];int Eage[N];

char Emarriage[N];int Edepart[N];int Eposition[N];int Edegree[N];int Eworktime[N];float Epay[N];

class Employee {

public:

string Employeename;

long Employeenum;

char Employeesex;

int Employeeage;

char Employeemarriage;

int Employeedepart;

int Employeeposition;

int Employeedegree;

int Employeeworktime;

float Employeepay;

static long EmployeeMaxNum;

static float EmployeeBasePay;

void NewInfo();

void ShowInfo();

void showall();

void showdepart(int depart);

void showdegree(int degree);

void showage(int min,int max);

void shownum(long number);

void RefreshInfo();

void DeleteInfo();

float Pay(int Employeegrade);

static int MaxNum();};

class DBOperate {

public:

string Employeename;

long Employeenum;

char Employeesex;

int Employeeage;

char Employeemarriage;

int Employeedepart;

int Employeeposition;

int Employeedegree;

int Employeeworktime;

float Employeepay;

static long EmployeeMaxNum;

static float EmployeeBasePay;

void WriteIn(int iflag);

void ReadOut();

void RefreshMaxNum(int iflag);//iflg=1 or-1 or 0 };

long Employee::EmployeeMaxNum = 1000;float Employee::EmployeeBasePay = 1500;

int Employee::MaxNum()//返回系统已经存储的人数

{

int MN = 0;

ifstream myf;

myf.open(“EmployeeMaxNum.txt”);

myf>>MN;

cout<

myf.close();

return MN;}

void Employee::NewInfo()//添加新职工函数

{

cout<<“新职工姓名: ”;

cin>>Employee::Employeename;

Employee::Employeenum = EmployeeMaxNum + Employee::MaxNum()+1;

cout<<“新职工性别(F为女性,M为男性): ”;

cin>>Employee::Employeesex;

cout<<“新职工年龄: ”;

cin>>Employee::Employeeage;

cout<<“新职工婚姻状况(Y为已婚,N为未婚): ”;

cin>>Employee::Employeemarriage;

cout<<“新职工学历,请输入相应学历的序号: ”<

cout<<“ [1:小学 2:初中 3:高中 4:本科 5:硕士 6:博士] ”;

cin>>Employee::Employeedegree;

while(Employee::Employeedegree!=1&&Employee::Employeedegree!=2&&Employee::Employeedegree!=3&&Employee::Employeedegree!=4&&Employee::Employeedegree!=5&&Employee::Employeedegree!=6)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:小学 2:初中 3:高中 4:本科 5:硕士 6:博士] ”;

cin>>Employee::Employeedegree;

}

cout<<“新职工所在部门,请输入相应部门的序号:”<

cout<<“ [1:董事会 2:销售部 3:人事部 4:客服中心 5:财务部 6:技术研发部 7:安全监察部] ”;

cin>>Employee::Employeedepart;

while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5&&Employee::Employeedepart!=6&&Employee::Employeedepart!=7)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:董事会 2:销售部 3:人事部 4:客服中心 5:财务部 6:技术研发部 7:安全监察部] ”;

cin>>Employee::Employeedepart;

}

cout<<“新职工职位, 请输入相应职位的序号: ”<

cout<<“ [1:临时职工 2: 正式职工 3:部门经理 4:主任 5:董事长] ”;

cin>>Employee::Employeeposition;

while(Employee::Employeeposition!=1&&Employee::Employeeposition!=2&&Employee::Employeeposition!=3&&Employee::Employeeposition!=4&&Employee::Employeeposition!=5)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:临时职员 2: 正式职员 3:部门经理 4:主任 5:董事长] ”;

cin>>Employee::Employeeposition;

}

cout<<“新职工的工作时长(不需要输入单位): ”;

cin>>Employee::Employeeworktime;

Employee::Employeepay = Employee::Pay(Employee::Employeeposition);

DBOperate dbo;

dbo.ReadOut();

int MaxNum = Employee::MaxNum();

Enum[MaxNum] = Employee::Employeenum;

Ename[MaxNum] = Employee::Employeename;

Esex[MaxNum] = Employee::Employeesex;

Eage[MaxNum] = Employee::Employeeage;

Emarriage[MaxNum] = Employee::Employeemarriage;

Edegree[MaxNum] = Employee::Employeedegree;

Edepart[MaxNum] = Employee::Employeedepart;

Eposition[MaxNum] = Employee::Employeeposition;

Eworktime[MaxNum] = Employee::Employeeworktime;

Epay[MaxNum] = Employee::Employeepay;

dbo.WriteIn(1);

cout<<“ 添加新成员成功!”<

void Employee::ShowInfo()//程序主体 数据输出函数

{

int choice1,choice2,min,max;

long searchnum;

Employee e;

cout<<“*******************************************”<

cout<<“-----------1.输出全体职工信息--------------”<

cout<<“-----------2.按职工部门输出----------------”<

cout<<“-----------3.按职工学历输出----------------”<

cout<<“-----------4.按职工年龄输出----------------”<

cout<<“-----------5.按职工编号输出----------------”<

cout<<“*******************************************”<

cout<<“ 请选择查询方式:”;

cin>>choice1;

switch(choice1)

{

case 1: showall();break;

case 2: cout<<“请输入要查询职工的部门编号[1:董事会 2:销售部 3:人事部 4:客服中心 5:财务部 6:技术研发部 7:安全监察部] ”;

cin>>choice2;

e.showdepart(choice2);break;

case 3: cout<<“请输入要查询职工的学历编号: [1:小学 2:初中 3:高中 4:本科 5:硕士 6:博士] ”;

cin>>choice2;

e.showdegree(choice2);break;

case 4: cout<<“请输入要查询的年龄范围: ”;

cout<<“最小值: ”;

cin>>min;

cout<<“最大值: ”;

cin>>max;

e.showage(min,max);break;

case 5: cout<<“请输入要查询的职工编号: ”;

cin>>searchnum;

e.shownum(searchnum);break;

default: cout<<“出错啦!”<

} }

void Employee::showall()//全体职工输出函数

{ int i;

long number;

for(i=0;i

{

number = Enum[i];

shownum(number);

} }

void Employee::showdepart(int depart)//按职工所在部门输出函数

{

int i;

switch(depart)

{

case 1: cout<<“董事会的成员有: ”<

case 2: cout<<“销售部的成员有: ”<

case 3: cout<<“人事部的成员有: ”<

case 4: cout<<“客服中心的成员有: ”<

case 5: cout<<“财务部的成员有: ”<

case 6: cout<<“技术研发部的成员有: ”<

case 7: cout<<“安全监察部的成员有: ”<

default: cout<<“输入错误!>”<

}

for(i=0;i

{

if(Edepart[i] == depart)

{

long number = Enum[i];

shownum(number);

}

else continue;

} }

void Employee::showdegree(int degree)//按职工学历输出函数

{

int i;

switch(degree)

{

case 1:cout<<“初中学历的员工有:”<

case 2:cout<<“初中学历的员工有:”<

case 3:cout<<“高中学历的员工有:”<

case 4:cout<<“本科学历的员工有:”<

case 5:cout<<“硕士学位的员工有:”<

case 6:cout<<“博士学位的员工有:”<

}

for(i=0;i

{

if(Edegree[i] == degree)

{

long number = Enum[i];

shownum(number);

} else continue;

} }

void Employee::showage(int min,int max)//按职工年龄段输出函数

{

int i;

for(i=0;i

{

if(Eage[i]>=min&&Eage[i]<=max)

{

long number = Enum[i];

shownum(number);

}

else continue;

} }

void Employee::shownum(long number)//按职工编号输出函数

{

int i;

for(i=0;i

{

if(Enum[i] == number)

{

cout<<“**********************************”<

cout<<“职工编号:”<

cout<<“姓 名:”<

cout<<“性 别:”;

if(Esex[i]=='F')cout<<“女 ”<

else if(Esex[i]=='M')cout<<“男 ”<

cout<<“年 龄:”<

cout<<“婚姻情况:”;

if(Emarriage[i]=='Y')cout<<“已婚 ”<

else if(Emarriage[i]=='N')cout<<“未婚 ”<

cout<<“学 历:”;

switch(Edegree[i])

{

case 1:cout<<“小 学 ”<

case 2:cout<<“初 中 ”<

case 3:cout<<“高 中 ”<

case 4:cout<<“本 科 ”<

case 5:cout<<“硕 士 ”<

case 6:cout<<“博 士 ”<

}

cout<<“所在部门:”;

switch(Edepart[i])

{

case 1:cout<<“董事会 ”<

case 2:cout<<“销售部 ”<

case 3:cout<<“人事部 ”<

case 4:cout<<“客服中心 ”<

case 5:cout<<“财务部 ”<

case 6:cout<<“技术研发部 ”<

case 7:cout<<“安全监察部 ”<

}

cout<<“所任职务:”;

switch(Eposition[i])

{

case 1:cout<<“临时成员 ”<

case 2:cout<<“正式员工 ”<

case 3:cout<<“部门经理 ”<

case 4:cout<<“主任 ”<

case 5:cout<<“董事长 ”<

}

cout<<“工作时长:”<

cout<<“工资:”<

cout<<“**********************************”<

}

else continue;

} }

void Employee::RefreshInfo()//修改职工信息的函数 {

int cNum = 1000;

DBOperate dbo;

dbo.ReadOut();

void Employee::shownum(long number);

cout<<“请输入您要修改的职工编号:”;

cin>>cNum;

int MN;

MN = Employee::MaxNum();

for(int i=0;i

{

if(Enum[i] == cNum)

{

Employee::shownum(cNum);

cout<<“请输入该职工的新信息: ”<

cout<<“职工姓名: ”;//录入职工的新的数据,职工编号保持不变

cin>>Employee::Employeename;

Ename[i] = Employee::Employeename;

cout<<“职工性别(F为女性,M为男性): ”;

cin>>Employee::Employeesex;

Esex[i] = Employee::Employeesex;

cout<<“职工年龄: ”;

cin>>Employee::Employeeage;

Eage[i] = Employee::Employeeage;

cout<<“职工婚姻状况(Y为已婚,N为未婚): ”;

cin>>Employee::Employeemarriage;

Emarriage[i] = Employee::Employeemarriage;

cout<<“职工学历,请输入相应学历的序号:”<

cout<<“ [1:小学 2:初中 3:高中 4:本科 5:硕士 6:博士] ”;

cin>>Employee::Employeedegree;

while(Employee::Employeedegree!=1&&Employee::Employeedegree!=2&&Employee::Employeedegree!=3&&Employee::Employeedegree!=4&&Employee::Employeedegree!=5&&Employee::Employeedegree!=6)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:小学 2:初中 3:高中 4:本科 5:硕士 6:博士] ”;

cin>>Employee::Employeedegree;

}

Edegree[i] = Employee::Employeedegree;

cout<<“职工所在部门,请输入相应部门的序号: ”<

cout<<“ [1:董事会 2:销售部 3:人事部 4:客服中心 5:财务部 6:技术研发部 7:安全监察部] ”;

cin>>Employee::Employeedepart;

while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5&&Employee::Employeedepart!=6&&Employee::Employeedepart!=7)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:董事会 2:销售部 3:人事部 4:客服中心 5:财务部 6:技术研发部 7:安全监察部] ”;

cin>>Employee::Employeedepart;

}

Edepart[i] = Employee::Employeedepart;

cout<<“职工职位,请输入相应职位的序号:”<

cout<<“ [1:临时职员 2: 正式职员 3:部门经理 4:主任 5:董事长] ”;

cin>>Employee::Employeeposition;

while(Employee::Employeeposition!=1&&Employee::Employeeposition!=2&&Employee::Employeeposition!=3&&Employee::Employeeposition!=4&&Employee::Employeeposition!=5)

{

cout<<“输入有误,请重新输入:”<

cout<<“ [1:临时职员 2: 正式职员 3:部门经理 4:主任 5:董事长] ”;

cin>>Employee::Employeeposition;

}

Eposition[i] = Employee::Employeeposition;

cout<<“员工的工作时(不需要输入单位): ”;

cin>>Employee::Employeeworktime;

Eworktime[i] = Employee::Employeeworktime;

Epay[i] = Employee::Pay(Employee::Employeeposition);

break;

}

}

dbo.WriteIn(0);}

void Employee::DeleteInfo()//删除职工数据的函数

{

char tmp;

int cNum = 1000;

DBOperate dbo;

dbo.ReadOut();

void Employee::shownum(long number);

cout<<“请输入您要删除的职工编号>: ”;

cin>>cNum;

int MN;

MN = Employee::MaxNum();

for(int i=0;i

{

if(Enum[i] == cNum)

Employee::shownum(cNum);

}

cout<<“确认要删除该职工信息?(Y为确认,N为放弃): ”;

cin>>tmp;

if(tmp=='Y')

{

if(i==MN-1)

dbo.WriteIn(-1);

else

{

for(int j=i;j

{ Enum[j] = Enum[j+1];}

dbo.WriteIn(-1);

}

cout<<“ 删除操作成功!”<

} }

float Employee::Pay(int Employeeposition)//根据职工职位计算工资的函数

{

float tmpPay;

tmpPay = Employee::EmployeeBasePay + Employee::Employeeposition Employee::EmployeeBasePay;

*

return tmpPay;}

void DBOperate::WriteIn(int iflag)//数据操作函数—写入

{

DBOperate::RefreshMaxNum(iflag);

ofstream myf(“Employee.txt”);

Employee e;

int MN;

MN = e.MaxNum();

for(int i=0;i

{

myf<

}

myf.close();

return;}

void DBOperate::ReadOut()//数据操作函数—读出

{

ifstream myf(“Employee.txt”);

Employee e;

int MN;

MN = e.MaxNum();

for(int i=0;i

{

myf>>DBOperate::Employeenum>>DBOperate::Employeename>>DBOperate::Employeesex>>DBOperate::Employeeage>>DBOperate::Employeemarriage

>>DBOperate::Employeedegree>>DBOperate::Employeedepart>>DBOperate::Employeeposition>>DBOperate::Employeeworktime>>DBOperate::Employeepay;

Enum[i] = DBOperate::Employeenum;

Ename[i] = DBOperate::Employeename;

Esex[i] = DBOperate::Employeesex;

Eage[i] = DBOperate::Employeeage;

Emarriage[i] = DBOperate::Employeemarriage;

Edegree[i] = DBOperate::Employeedegree;

Edepart[i] = DBOperate::Employeedepart;

Eposition[i] = DBOperate::Employeeposition;

Eworktime[i] = DBOperate::Employeeworktime;

Epay[i] = DBOperate::Employeepay;

}

myf.close();}

void DBOperate::RefreshMaxNum(int iflag)//更新系统中员工计数文件的函数

{

int MaxNum = 0;

ifstream myif(“EmployeeMaxNum.txt”);

myif>>MaxNum;

myif.close();

MaxNum = MaxNum+iflag;

ofstream myof(“EmployeeMaxNum.txt”);

myof<

myof.close();}

int main()//主函数

{

system(“color B0”);//设置当前窗口的背景色和前景色

// 0 = 黑色

= 灰色

// 1 = 蓝色

= 淡蓝色

// 2 = 绿色

A = 淡绿色

// 3 = 浅绿色 B = 淡浅绿色

// 4 = 红色

C = 淡红色

// 5 = 紫色

D = 淡紫色

// 6 = 黄色

E = 淡黄色

// 7 = 白色

F = 亮白色

int select = 0;

while(select!=5)

{

cout<<“ ╭————————————————————————————╮”<

cout<<“ ∣

《主菜单》

∣”<

cout<<“ ├————————————————————————————┤”<

cout<<“ ∣

1.新建并录入职工信息

∣”<

cout<<“ ∣

2.按条件输出职工信息

∣”<

cout<<“ ∣

3.修改指定职工的信息

∣”<

cout<<“ ∣

4.删除职工信息

∣”<

cout<<“ ∣

5.退出系统

∣”<

cout<<“ ╰————————————————————————————╯”<

cout<<“ ——————————————————————————————”<

cout<<“ 请选择您需要功能的代号: ”;

cin>>select;

Employee e;

DBOperate dbo;

switch(select)

{

case 1:

e.NewInfo();break;

case 2:

dbo.ReadOut();

e.ShowInfo();break;

case 3:

e.RefreshInfo();break;

case 4:

e.DeleteInfo();break;

case 5: cout<<“ 退出成功”<

default: cout<<“命令错误!”<

}

if(select == 5)

break;

}

exit(1);

return 0;}

下载简单学生信息管理系统C++范文word格式文档
下载简单学生信息管理系统C++范文.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    学生信息管理系统

    摘 要 随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆......

    学生信息管理系统

    –––––––––––––––––摘 要––––––––––––––––– 学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端......

    学生信息管理系统

    目 录 第一章:类图 ........................................................ 5 第二章:用例描述与用例图 ............................................ 6 2.1 用例图 .........

    学生信息管理系统

    学生信息管理系统论文 2010-04-01清华领导力培训诺贝尔论文网 在传统模式下利用人工进行学生信息管理系统论文,存在着较多缺点,如:效率底,保密性差,时间一长将产生大量文件和数据......

    学生信息管理系统5篇

    学生管理信息系统 随着学校规模的不断扩大,学生数量的不断增加,学生的信息量也成倍增长。学生管理工作是学校各项工作的一个重要部分,其管理水平的高低将直接影响到人才的培养......

    学生信息管理系统论文

    学生信息管理系统论文 2010-04-01 清华领导力培训诺贝尔论文网 在传统模式下利用人工进行学生信息管理系统论文,存在着较多缺点,如:效率底,保密性差,时间一长将产生大量文件和数......

    VB学生信息管理系统

    学生信息管理系统 前 言 学生籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学生信息管理系统应该能够为用户提供充足......

    学生信息管理系统毕业论文

    ``````Q ASP.NET学生信息管理系统毕业论文 摘 要    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展......