高校工资管理系统C++课程设计报告

时间:2024.3.27

课 程 设 计 报 告

课程名称      面向对象程序设计      

课题名称       高校工资管理系统       

           通信工程                

           1001               

           201003040114           

           彭琼林                 

指导教师       乔汇东                 

20##  1226


湖南工程学院

课 程 设 计 任 务 书

课程名称  面向对象程序设计

课    题   高校工资管理系统

专业班级      通信工程1001   

学生姓名      彭琼林            

学    号      201003040114      

指导老师    乔汇东张鏖峰李洁君

审    批                         

任务书下达日期  20##年  12月  17日

任务完成日期    20##年  12月  26日


一、设计内容与设计要求

1.课程设计目的:

面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。

2.课题题目

  高校工资管理系统

3.设计要求:

⑴设计课题题目:每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:主要包括系统设计目的与意义;系统功能需求(系统框图);输入输出的要求等内容。②完成系统总体设计:主要包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:主要包括类层次图;界面设计与各功能模块实现等累人。④完成系统调试:主要包括调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明系统的使用和操作步骤,详细列出每一步的操作步骤。⑥附录:关键源程序(带注释),可以只选取程序主要部分。

⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

二、进度安排

第17周  星期一  08时:00分——12时:00分

         星期三  14时:00分——18时:00分

         星期四  14时:00分——18时:00分

课题3:高校工资管理系统

 

(一)、课程设计题目:

高校工资管理系统

(二)、目的与要求:

1、目的:

(1)要求学生达到熟练掌握C++语言的基本知识和技能;

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

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;

(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书

(三)、设计方法和基本原理:

1、问题描述(功能要求):

现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。

相关信息:

每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:

其中工资的基本构成如下:

   教师:            基本工资+课时费;

   实验员:          基本工资+实验室补助;

   行政人员:        基本工资+行政补贴;

   教师兼职实验员:  基本工资+课时费+实验室补助;

   行政人员兼职教师:基本工资+行政补贴+课时费;

其中课时费计算:教师每一学期的基本工作量为120,教师兼职实验员每学期基本工作量为70,行政人员没有基本工作量,若每节课时费为20元;课时费=(上学期工作量-基本工作量)*20;

      注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)写出需求分析(做什么);

(2)分析系统中的各个实体之间的关系及其属性和行为;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述(包括属性和方法);

(5)完成类中各个成员函数的定义;

(6)用户界面的设计;

(7)分析系统功能模块(系统流程图);

(8)代码编写 ,功能调试;

(9)完成系统总结报告以及系统使用说明书。


目  录

1.    系统需求分析. 1

2.    总体设计. 1

3.    详细设计. 2

4.    系统调试与使用说明.   6

4.    结果分析. 9

5.    总结. 9

6.    源代码. 10


1.      系统需求分析

现在各高校工资的管理变得越来越来复杂,为了对工资进行系统化的管理,并实现工资的自动发放功能,特设计此系统。它可以对职工的基本信息进行输入和存取,其次可以选择职工的编号和姓名查询职工的工资的所有基本信息,如若有职工由于工作调动,则可进行相对应的删除动作。生成的相关数据以文件的形式存放在硬盘上,并且可以继续录入,以达到建议操作的目的。

2.      总体设计

该程序采用的是类、继承、多态及文件来处理职工的所有基本信息,如下所述。

包含的库函数有:

# include<iostream.h>  # include<string.h>   # include<stdlib.h>   # include<fstream.h>

其中# include<fstream.h>是文件流的头文件,ifstream 和ofstream表示输入和输出文件流。

包含的函数有:

            主函数     main()                          

            菜单函数   show()  show 1()  show 2()  show 3()  show 4()             

            录入函数   void jiaoshilur()    voidshiyanyuanluru ()  void managerluru()  

                 void jianzhi1luru()     void jianzhi2luru()   

            查询信息函数 void jiaoshichaxun()   void managerchaxun() void shiyanyuanchaxun()   void jianzhi1chaxun()  void jianzhi2chaxun()         

            删除信息函数  void jiaoshishanchu() void shiyanyuanshanchu()  void managershanchu()  void jianzhi1shanchu()  void jianzhi2shanchu()

包含的类:class Employee()  class Teacher()   class Dhiyanyuan()

          class Manager()    class Jianzhiq()   class Jianzhi2()

                            系统功能模块图

3.      详细设计

1.     系统进入

此部分功能主要是提供进入系统的一个接口,系统以菜单形式打开,输入选项执行相关动作,在输入选项的同时系统还对你输入的选项进行检验,若不合理,系统就会自动提示输入错误,并重新输入;若合理,则执行相关动作。

2.     信息录入

此部分的功能主要是对职工的信息进行录入并保存,包括其编号和姓名及教师课时量。

 

 

                        录入流程图

3.     信息查询

此部分的功能主要是根据你输入的职工的编号或者是姓名查询工资,若之前没有录入此人信息,则输出“没有你要查询的对象”。

 

 

查询流程图

4.     信息删除

此部分的功能主要是有职工由于工作调动,可进行相对应的删除动作

 

 

                                  

              删除流程图

 

 

5.     退出系统

此部分功能就是在执行完所有动作后推出此系统。

 

 

4.系统调试与使用说明

在这次程序的编写过程中,主要存在的问题是文件操作与文件流。没有注意到在向文件输出数据时。“f<<a[i]<<” ””用于在各个数据后加一个空格,如采用“f<<a[i]<<”。则所有数据之间没有分隔号。达不到分别存储各个数据的目的。

1.     系统界面

进入程序菜单,界面如图

2.录入界面

3.查询界面

文件中没有查询在对象

3.删除界面

4.文件已经删除

4.      结果分析

设计特点:在输入信息的时候先选择你要输入的职工类型,然后有提示输入职工的个数,逐个输入即可,在输入过程中,系统会自动将用户输入的信息存储到相应的文件中。不过此系统没有修改用户信息的功能,只能查询用户信息和删除信息。

5.      总结

通过这次对《高校工资管理系统》的设计,我体会到面向对象程序设计的特点,多态性,封装性,继承性,并掌握了一定的编程技巧,拓展了思维,提升了自己解决实际问题的能力。虽然 对文件和多态的理解还很肤浅,但是我学到了很多平时学不到的东西。通过这次课程设计,深深体会到我对很多的专业知识还不了解,同时也把我在学这门课程的所存在的弊端暴露出来了,这就促使我要更多的阅读课外书籍,学到更多的专业知识,使自己得到不断的提高。

最后,我要衷心感谢老师和同学在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的课程设计。

6.      源代码

#include<iostream>

#include<fstream.h>

#include<stdlib.h>

#include<string.h>

int i;

class Employee

{

public:

          char name[20];  

       int num;

       void display()

         {

       cout<<"姓名:";cin>>name;

       cout<<"编号:";cin>>num;

         }

};        

class Teacher:public Employee

{

public:

        int score;    

     int time;

 Teacher(int s=1000){score=s;}

 void display1()

       {

         cout<<"请输入教师的";

     Employee::display();

      cout<<"请输入教师的工作量(课时):  ";cin>>time;

        }   

};

class Shiyanyuan:public Employee     

{

  public:

         int score;

      int buzu;

     Shiyanyuan(int s=800,int b=aas;buzu=b;}

     void display1()

        {

               cout<<"请输入实验员的";

         Employee::display();

        }

};

class Manager:public Employee    

{

public:

       int score;

    int butie;

    Manager(int s=900,int b=250){score=s;butie=b;}

     void display1()

        {

         cout<<"请输入行政人员的";

      Employee::display();

        }

};

class Jianzhi1:public Teacher,public Shiyanyuan     //教师兼职实验员

{

 public:

     Jianzhi1(int s=1000,int b=250):Teacher(s=1000),Shiyanyuan(b=250){}

     void display1()

        {cout<<"请输入教师兼职实验员的";

      Teacher::display();

      cout<<"请输入教师兼职实验员的工作量(课时):  ";cin>>time;

        }

};

class Jianzhi2:public Manager,public Teacher  //行政人员兼职教师

{

   public:

          int butie;

       Jianzhi2(int s=900,int b=210):Manager(s=900){butie=b;}

       void display1()

          {

               cout<<"请输入行政人员兼职教师的";

         Teacher::display();

         cout<<"请输入行政人员兼职教师的工作量(课时):";cin>>time;

          }

};

Teacher t[100];

Shiyanyuan s[100];

Manager m[100];

Jianzhi1 j[100];

Jianzhi2 j2[100];

void show()

{cout<<"请输入你要录入的对象 :"<<endl;

cout<<"1:教师"<<endl;

cout<<"2:实验员"<<endl;

cout<<"3:行政人员"<<endl;

cout<<"4:教师兼职实验员"<<endl;

cout<<"5:行政人员兼职教师"<<endl;

cout<<"6:退出录入"<<endl;

cout<<"请选择:  ";}

void jiaoshiluru()             //教师录入

{

     ofstream outfile("教师.txt",ios::app);

     if(outfile.fail())

        {

               cout<<"open error!"<<endl;

         exit(1);

        }int b;

cout<<"请选择你要录入教师的个数:";cin>>b;

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

   {

       t[i].display1();

    outfile<<t[i].num<<"    "<<t[i].name<<"    "<<t[i].score<<"    "<<t[i].time<<endl;

   }

    outfile.close();

}

void shiyuanyuanluru()              //实验员录入

{

       ofstream outfile("实验员.txt",ios::app);

    if(outfile.fail())

       {

              cout<<"open error!"<<endl;

        exit(1);

       }int b;

cout<<"请输入你要录入实验员的个数:";cin>>b;

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

       {

        s[i].display1();

     outfile<<s[i].num<<"    "<<s[i].name<<"     "<<s[i].score<<"   "<<s[i].buzu<<endl;

       }

}

void Managerluru()            //行政人员录入

{

       ofstream outfile("行政人员.txt",ios::app);

    if(outfile.fail())

       {

              cout<<"open error!"<<endl;

        exit(1);

       }int b;

cout<<"请输入你要录入行政人员的个数:";cin>>b;

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

   {

        m[i].display1();

     outfile<<m[i].num<<"    "<<m[i].name<<"     "<<m[i].score<<"     "<<m[i].butie<<endl;

   }

}

void jianzhi1luru()            //教师兼职实验员录入

{

       ofstream outfile("教师兼职实验员.txt",ios::app);

    if(outfile.fail())

       {

              cout<<"open error!"<<endl;

        exit(1);

       }int b;

cout<<" 请输入你要录入教师兼职实验员的个数:";cin>>b;

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

   {

       j[i].display1();

    outfile<<j[i].Teacher::num<<"    "<<j[i].Teacher::name<<"     "<<j[i].Teacher::score<<"     "<<j[i].buzu<<"       "<<j[i].time<<endl;

   }

outfile.close();

}

void jianzhi2luru()       //行政人员兼职教师录入

{

       ofstream outfile("行政人员兼职教师.txt",ios::app);

    if(outfile.fail())

       {

              cout<<"open error!"<<endl;

        exit(1);

       }int b;

cout<<"请输入你要行政人员兼职教师的个数";cin>>b;

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

   {

       j2[i].display1();

    outfile<<j2[i].Teacher::num<<"    "<<j2[i].Teacher::name<<"   "<<j2[i].Manager::score<<"    "<<j2[i].butie<<"    "<<j2[i].Teacher::time<<endl;

   }

}

void xinxiluru()                 //信息录入

{

       int c;

       for(i=0;;i++)

       {

              show();cin>>c;

       if(c==6){cout<<"退出录入成功。"<<endl;break;}

       else

       switch(c)

          {case 1: jiaoshiluru(); break;

        case 2: shiyuanyuanluru();break;

        case 3: Managerluru();break;

        case 4: jianzhi1luru();break;

        case 5: jianzhi2luru();break;

        default:{cout<<"上一次输入错误。"<<endl;}break;

          }

       }

}

void show2()

{

       cout<<"请输入你要查询的对象:"<<endl;

    cout<<" 1:教师查询"<<endl;

    cout<<" 2:实验员查询"<<endl;

    cout<<" 3:行政人员查询"<<endl;

    cout<<" 4:教师兼职实验员查询"<<endl;

    cout<<" 5:行政人员兼职教师查询"<<endl;

    cout<<" 6:退出查询"<<endl;

    cout<<" 请选择一个操作:";

}

void jiaoshichaxun()

{

       ifstream infile("教师.txt",ios::in);

    char nam[20];int k,n,r,bh;

       cout<<"1、按编号查询"<<endl;

       cout<<"2、按姓名查询"<<endl;

       cout<<"请输入您的选择:  ";cin>>r;

    if(r==1)

       {

       cout<<"请输入你要查询教师的编号: ";cin>>bh;

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

          {

            infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;

          if(t[i].num==0) break;

          if(t[i].num==bh)

                {

              n++; k=t[i].score+(t[i].time-120)*20;

        cout<<"教师:  "<<t[i].num<<"     "<<t[i].name<<"   "<<k<<endl;

                }

          }

         if(n==0) cout<<"没有你要查询的教师。"<<endl;

         infile.close();

       }

       if(r==2)

       {

       cout<<"请输入你要查询教师的名字: ";cin>>nam;

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

          {

            infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;

          if(t[i].num==0) break;

          if(strcmp(t[i].name,nam)==0)

                {

              n++; k=t[i].score+(t[i].time-120)*20;

        cout<<"教师:  "<<t[i].num<<"     "<<t[i].name<<"   "<<k<<endl;

                }

          }

         if(n==0) cout<<"没有你要查询的教师。"<<endl;

         infile.close();

       }

}

void shiyanyuanchaxun()              //实验员查询

{

       fstream iofile("实验员.txt",ios::in);

    int k,n,r,bh;char nam[20];

    cout<<"1、按编号查询"<<endl;

       cout<<"2、按姓名查询"<<endl;

       cout<<"请输入您的选择:  ";cin>>r;

       if(r==1)

   {

      cout<<"请输入你要查询实验员的编号:";cin>>bh;

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

         {

              iofile>>s[i].num>>s[i].name>>s[i].score>>s[i].buzu;

        if(t[i].num==0) break;

        if(s[i].num==bh)

              {

                     n++; k=s[i].score+s[i].buzu;

            cout<<"实验员: "<<s[i].num<<"    "<<s[i].name<<"   "<<k<<endl;

              }

         }

         if(n==0)cout<<"没有你要查询的实验员。"<<endl;

         iofile.close();

       }

   if(r==2)

   {

      cout<<"请输入你要查询实验员的名字:";cin>>nam;

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

         {

              iofile>>s[i].num>>s[i].name>>s[i].score>>s[i].buzu;

        if(t[i].num==0) break;

        if(strcmp(s[i].name,nam)==0)

              {

                     n++; k=s[i].score+s[i].buzu;

            cout<<"实验员: "<<s[i].num<<"    "<<s[i].name<<"   "<<k<<endl;

              }

         }

         if(n==0)cout<<"没有你要查询的实验员。"<<endl;

         iofile.close();

       }  

}

void Managerchaxun()         //行政人员查询

{

       ifstream infile("行政人员.txt",ios::in);

    int k,n,r,bh;char nam[20];

    cout<<"1、按编号查询"<<endl;

       cout<<"2、按姓名查询"<<endl;

       cout<<"请输入您的选择:  ";cin>>r;

if(r==1)

{

    cout<<"请输入你要查询的行政人员的编号: ";cin>>bh;

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

       {

       infile>>m[i].num>>m[i].name>>m[i].score>>m[i].butie;

    if(m[i].num==0) break;

    if(m[i].num==bh)

       {

              n++; k=m[i].score+m[i].butie;

      cout<<"行政人员:"<<m[i].num<<"    "<<m[i].name<<"     "<<k<<endl;

       }

       }

if(n==0)cout<<"没有你要查询的行政人员。"<<endl;

infile.close();

}

if(r==2)

{

    cout<<"请输入你要查询的行政人员的名字: ";cin>>nam;

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

       {

       infile>>m[i].num>>m[i].name>>m[i].score>>m[i].butie;

    if(m[i].num==0) break;

    if(strcmp(m[i].name,nam)==0)

       {

              n++; k=m[i].score+m[i].butie;

      cout<<"行政人员:"<<m[i].num<<"    "<<m[i].name<<"     "<<k<<endl;

       }

       }

if(n==0)cout<<"没有你要查询的行政人员。"<<endl;

infile.close();

}

}

void jianzhi1chaxun()//教师兼职实验员查询

{

       fstream iofile("教师兼职实验员.txt",ios::in);

    int k,n,r,bh;char nam[20];

    cout<<"1、按编号查询"<<endl;

       cout<<"2、按姓名查询"<<endl;

       cout<<"请输入您的选择:  ";cin>>r;

if(r==1)

{

    cout<<"请输入你要查询的教师兼职实验员的名字: ";cin>>bh;

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

       {

       iofile>>j[i].Teacher::num>>j[i].Teacher::name>>j[i].Teacher::score>>j[i].buzu>>j[i].time;

    if(j[i].Teacher::num==0) break;

    if(j[i].Teacher::num==bh)

        {

           n++;k=j[i].Teacher::score+j[i].buzu+(j[i].time-70)*20;

        cout<<"教师兼职实验员:"<<j[i].Teacher::num<<"     "<<j[i].Teacher::name<<"     "<<k<<endl;

        }

       }

if(n==0)cout<<"没有你要查询的教师兼职实验员。"<<endl;

iofile.close();

}

if(r==2)

{

    cout<<"请输入你要查询的教师兼职实验员的名字: ";cin>>nam;

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

       {

        iofile>>j[i].Teacher::num>>j[i].Teacher::name>>j[i].Teacher::score>>j[i].buzu>>j[i].time;

     if(j[i].Teacher::num==0) break;

     if(strcmp(j[i].Teacher::name,nam)==0)

        {

           n++;k=j[i].Teacher::score+j[i].buzu+(j[i].time-70)*20;

        cout<<"教师兼职实验员:"<<j[i].Teacher::num<<"     "<<j[i].Teacher::name<<"     "<<k<<endl;

        }

       }

if(n==0)cout<<"没有你要查询的教师兼职实验员。"<<endl;

iofile.close();

}

}

void jianzhi2chaxun()       //行政人员兼职教师

{

       ifstream infile("行政人员兼职教师.txt",ios::in);

    int k,n,r,bh;char nam[20];

        cout<<"1、按编号查询"<<endl;

        cout<<"2、按姓名查询"<<endl;

        cout<<"请输入您的选择:  ";cin>>r;

if(r==1)

{

  cout<<"请输入你要查询的行政人员兼职教师的编号: ";cin>>bh;

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

  {

       infile>>j2[i].Teacher::num>>j2[i].Teacher::name>>j2[i].Manager::score>>j2[i].butie>>j2[i].Teacher::time;

    if(j2[i].Teacher::num==0) break;

    if(j2[i].Teacher::num==bh)

       {

       n++;k=j2[i].Teacher::num+j2[i].butie+j2[i].Teacher::time*20;

    cout<<"行政人员兼职教师:"<<j2[i].Teacher::num<<"     "<<j2[i].Teacher::name<<"    "<<k<<endl;

       }

  }

           if(n==0)cout<<"没有你要查询的行政人员兼职教师。"<<endl;

}

if(r==2)

{

  cout<<"请输入你要查询的行政人员兼职教师的名字: ";cin>>nam;

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

  {

       infile>>j2[i].Teacher::num>>j2[i].Teacher::name>>j2[i].Manager::score>>j2[i].butie>>j2[i].Teacher::time;

    if(j2[i].Teacher::num==0) break;

    if(strcmp(j2[i].Teacher::name,nam)==0)

       {

       n++;k=j2[i].Teacher::num+j2[i].butie+j2[i].Teacher::time*20;

    cout<<"行政人员兼职教师:"<<j2[i].Teacher::num<<"     "<<j2[i].Teacher::name<<"    "<<k<<endl;

       }

  }

           if(n==0)cout<<"没有你要查询的行政人员兼职教师。"<<endl;

}

}

void xinxichaxun()       //信息查询

{

       int c;

    for(i=0;;i++)

       {

              show2();cin>>c;

        if(c==6){cout<<"退出查询成功。"<<endl;break;}

        else

        switch(c)

              {case 1: jiaoshichaxun(); break;

         case 2: shiyanyuanchaxun();break;

         case 3: Managerchaxun();break;

         case 4: jianzhi1chaxun();break;

         case 5: jianzhi2chaxun();break;

         default:{cout<<"上一次输入错误。"<<endl;}break;

              }

       }

}

void show3()

{

       cout<<"请选择如下操作:"<<endl;

    cout<<"1:教师删除"<<endl;

    cout<<"2:实验员删除"<<endl;

    cout<<"3:行政人员删除"<<endl;

    cout<<"4:教师兼职实验员删除"<<endl;

    cout<<"5:行政人员兼职教师删除"<<endl;

    cout<<"6:退出删除"<<endl;

    cout<<"请选择你的一个操作:  ";

}

void jiaoshishachu()      //教师删除

{

       ifstream infile("教师.txt",ios::in);

    char nam[20];

    cout<<"请输入你要删除教师的名字: ";cin>>nam;

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

       {

       infile>>t[i].num>>t[i].name>>t[i].score>>t[i].time;

    if(t[i].num==0) break;

      if(strcmp(t[i].name,nam)==0)

         {

              for(int j=i;j<100;j++)

        t[j].num=t[j+1].num;strcpy(t[j].name,t[j+1].name);

       t[j].score=t[j+1].score;t[j].time=t[j+1].time;

         }

       }

infile.close();

ofstream outfile("教师.txt",ios::out);

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

       {

       if(t[i].num!=0)

    outfile<<t[i].num<<"    "<<t[i].name<<"    "<<t[i].score<<"    "<<t[i].time<<endl;

       }

outfile.close();

}

void shiyanyuanshanchu()          //实验员删除

{

       ifstream infile("实验员.txt",ios::in);

    char nam[20];

    cout<<"请输入你要删除实验员的名字: ";cin>>nam;

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

  {

        infile>>s[i].num>>s[i].name>>s[i].score>>s[i].buzu;

     if(s[i].num==0) break;

     if(strcmp(s[i].name,nam)==0)

        {

           for(int j=i;j<100;j++)

        s[j].num=s[j+1].num;strcpy(s[j].name,s[j+1].name);

        s[j].score=s[j+1].score;s[j].buzu=s[j+1].buzu;

        }

  }

infile.close();

ofstream outfile("实验员.txt",ios::out);

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

  {

       if(s[i].num!=0)

    outfile<<s[i].num<<"    "<<s[i].name<<"    "<<s[i].score<<"    "<<s[i].buzu<<endl;

  }

outfile.close();

}

void Managershanchu()              //行政人员删除

{

       ifstream infile("行政人员.txt",ios::in);

    char nam[20];

    cout<<"请输入你要删除行政人员的名字: ";cin>>nam;

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

       {

         infile>>m[i].num>>m[i].name>>m[i].score>>m[i].butie;

      if(m[i].num==0) break;

      if(strcmp(m[i].name,nam)==0)

         {

                for(int j=i;j<100;j++)

          m[j].num=m[j+1].num;strcpy(m[j].name,m[j+1].name);

          m[j].score=m[j+1].score;m[j].butie=m[j+1].butie;

         }

       }

infile.close();

ofstream outfile("行政人员.txt",ios::out);

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

   {

       if(m[i].num!=0)

    outfile<<m[i].num<<"    "<<m[i].name<<"    "<<m[i].score<<"     "<<m[i].butie<<endl;

   }

outfile.close();

}

void jianzhi1shanchu()    //教师兼职实验员删除

{

     fstream iofile("教师兼职实验员.txt",ios::in);

    char nam[20];

    cout<<"请输入你要删除的教师兼职实验员的名字: ";cin>>nam;

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

       {

              iofile>>j[i].Teacher::num>>j[i].Teacher::name>>j[i].Teacher::score>>j[i].buzu>>j[i].time;

        if(j[i].Teacher::num==0) break;

        if(strcmp(j[i].Teacher::name,nam)==0)

              {

                     for(int n=i;n<100;n++)

            j[n].Teacher::num=j[n+1].Teacher::num;

            strcpy(j[n].Teacher::name,j[n+1].Teacher::name);

            j[n].Teacher::score=j[n+1].Teacher::score;

            j[n].buzu=j[n+1].buzu;j[n].time=j[n+1].time;

              }

       }

       iofile.close();

    ofstream outfile("教师兼职实验员.txt",ios::out);

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

       {

       if(j[i].Teacher::num!=0)

    outfile<<j[i].Teacher::num<<"    "<<j[i].Teacher::name<<"     "<<j[i].Teacher::score<<"     "<<j[i].buzu<<"       "<<j[i].time<<endl;

       }

outfile.close();

}

void jianzhi2shanchu()               //行政人员兼职教师删除

{

       ifstream infile("教师兼职行政人员.txt",ios::in);

    char nam[20];

    cout<<"请输入你要删除的教师兼职行政人员的名字: ";cin>>nam;

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

       {

              infile>>j2[i].Teacher::num>>j2[i].Teacher::name>>j2[i].Manager::score>>j2[i].butie>>j2[i].Teacher::time;

        if(j2[i].Teacher::num==0) break;

        if(strcmp(j2[i].Teacher::name,nam)==0)

              {

                     for(int n=1;n<100;n++)

            j2[n].Teacher::num=j2[n+1].Teacher::num;

            strcpy(j2[n].Teacher::name,j2[n+1].Teacher::name);

            j2[n].Manager::score=j2[n+1].Manager::score;

            j2[n].butie=j2[n+1].butie;

            j2[n].Teacher::time=j2[n+1].Teacher::time;

              }

       }

       infile.close();

    ofstream outfile("教师兼职行政人员.txt",ios::out);

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

       {

              if(j2[i].Teacher::num!=0)

        outfile<<j2[i].Teacher::num<<"    "<<j2[i].Teacher::name<<"   "<<j2[i].Manager::score<<"    "<<j2[i].butie<<"    "<<j2[i].Teacher::time<<endl;

       }

       outfile.close();

}

void xinxishanchu()             //删除

{

       int c;

    for(i=0;;i++)

       {

              show3();cin>>c;

        if(c==6){cout<<"退出删除成功。"<<endl;break;}

        else

        switch(c)

              {case 1: jiaoshishachu(); break;

         case 2: shiyanyuanshanchu();break;

         case 3: Managershanchu();break;

         case 4: jianzhi1shanchu();break;

         case 5: jianzhi2shanchu();break;

         default:{cout<<"上一次输入错误。"<<endl;}break;

              }

       }

}

void show4()

{

       cout<<endl;

       cout<<"       ******   高校工资管理系统   ****** "<<endl;

       cout<<endl;

    cout<<"   1:信息录入"<<endl;

    cout<<endl;;

    cout<<"   2:信息查询"<<endl;

       cout<<endl;

    cout<<"   3:信息删除"<<endl;

       cout<<endl;

    cout<<"   4:退出"<<endl;

       cout<<endl;

       cout<<endl;

    cout<<" 请选择你的一个操作:  ";

}

int main()

{

       int c;

    for(i=0;;i++)

       {

              show4();cin>>c;

        if(c==4){cout<<"退出成功。"<<endl;break;}

        else

        switch(c)

              {

          case 1: xinxiluru(); break;

          case 2: xinxichaxun();break;

          case 3:xinxishanchu();break;

          default:{cout<<"上一次输入错误。"<<endl;}break;

              }

       }return 0;

}


计算机科学与技术系课程设计评分表

课程名称:  面向对象程序设计 

 

                                                    教师签名:            

                                              日    期:            

更多相关推荐:
工资管理系统课程设计报告

目录摘要错误未定义书签绪论错误未定义书签第一章需求分析211系统功能需求简介212功能需求描述213目标系统要求214系统平台选择215数据流图3第二章概念模型设计421概念模型设计4第三章逻辑模型设计531数...

工资管理系统 数据库课程设计报告

目录一开发背景1二功能描述2三数据流分析331数据流图332数据字典4四概念模型设计6五逻辑结构设计和优化9六应用程序设计10七心得体会12参考文献13附录13一开发背景随着经济的发展企业正向着大型化规模化发展...

SQL工资管理系统课程设计报告

设计报告课题名称学院专业班级学号学生指导教师青岛理工大学琴岛学院教务处20xx年7月3日工资管理系统

c语言课程设计报告 职工工资管理系统

课程设计报告课程设计报告题目职工工资管理系统设计者专业班级学号指导教师所属院系20xx年6月29日一设计需求说明一职工工资管理系统功能设计要求1输入记录将每一个职工的姓名ID号以及基本工资职务工资岗位津贴医疗保...

工资管理系统课程设计报告

工资管理系统课程设计报告工资管理系统课程设计报告编写人同组成员课程设计负责人0922305022完成日期辅导教师批阅日期分数11页共4页第工资管理系统课程设计报告1功能描述本程序主要的数据结构是单链表它由四大模...

SQL工资管理系统课程设计报告

设计报告课题名称工资管理系统学院专业班级学号学生指导教师

职工工资管理系统课程设计报告

目录一需求分析2二概要设计2三详细设计5四调试分析18五用户手册19六测试数据19七附录231一需求分析职工工资管理系统功能设计要求1输入记录将每一个职工的姓名ID号以及基本工资职务工资岗位津贴医疗保险公积金的...

人事管理系统_毕业设计论文_开题报告

人事工资系统开题报告目录一选题的背景11人事工资系统的功能及特点12人事工资系统的局限性13课题的提出意义二人事档案管理的现状三人事工资系统的设计方法和技术线路四系统设计进度按排五参考资料一选题的背景11人事工...

C++课程设计 职工工资管理系统(报告内含程序完整清单)

目录目录i1概述111程序的基本功能112其它功能113扩展功能12课题的分析2212223243会员登入系统模块即SYSTEMHEAD静态全局函数模块2查询功能模块即SEARCH函数模块2职务信息匹配及处理模...

c语言课程设计报告职工工资管理系统-精品

课程设计报告课程设计报告题目职工工资管理系统设计者专业班级学号指导教师所属院系20xx年6月29日一设计需求说明一职工工资管理系统功能设计要求1输入记录将每一个职工的姓名ID号以及基本工资职务工资岗位津贴医疗保...

工资管理系统_数据库课程设计报告 2

目录一开发背景1二功能描述2三数据流分析331数据流图332数据字典4四概念模型设计6五逻辑结构设计和优化9六应用程序设计10七心得体会12参考文献13附录13一开发背景随着经济的发展企业正向着大型化规模化发展...

工资管理系统设计报告

工资管理系统设计报告1选择题目题目文本编辑器2内容摘要摘要对企业而言人力资源是企业最宝贵的资源也是企业的生命线而工资管理又是人力资源管理的重中之重实行电子化的工资管理可以让人力资源管理人员从繁重琐碎的案头工作解...

工资管理系统课程设计报告(25篇)