资料信息管理系统

来源:互联网 发布:java web 订餐系统 编辑:程序博客网 时间:2024/04/30 11:37

 #include<iostream.h>
#include<iomanip.h>
#define N 10000
#define M 500
struct student
{
 char name[8];
 char inclass[16];
    int number;
 double booksnumber[5];
};
typedef struct student student;
struct teacher
{
     char name[8];
  char department[16];
  int number;
     double booksnumber[10];

};
typedef struct teacher teacher;
    student stu[N],st;
 teacher tea[M],te;
void insertmessage()
{   int b,d;
double k;
char i;
int j,a,x,y,z,r;
 
  label:cout<<"请输入要创建借阅信息,请选择借阅人的职称:1.学生,2.教师,3.退出"<<endl;
    cin>> b;
 
    if(b==1)
    {
  cout<<"你选择的是学生,确认吗?Y/N:";
  cin>>i;
  if(i=='y'||i=='Y')//确认后进入创建学生信息
  {
   for(j=0;j<N;j++)
   { loop: cout<<"请输入第"<<j+1<<"个学生的学号,以0结束操作:";//创建学生信息
    cin>>stu[j].number;
    if(stu[j].number==0)//完成创建学生信息
 {
  cout<<"学号"<<setw(16)<<"班级"<<setw(16)<<"姓名"<<setw(16)<<"借的书"<<endl;
        for(b=0;b<j;b++)
  {
   cout<<stu[b].number<<setw(16)<<stu[b].inclass<<setw(16)<<stu[b].name<<setw(16)<<endl; //输出学生信息
  }
      pk:  cout<<"1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7退出"<<endl;//进入一系列的插入,删除 ,查找 等操作
      cin>>b;
       if(b==1)//插入
   {
          cout<<"请输入要插入的位置"<<endl;
          cin>>z;cout<<"你插入的位置是第"<<z<<"位"<<endl;
    { for(x=j+1;x>=z;x--)
    {for(y=j+1;y>=x;y--)//元素后移
          st=stu[y];
          stu[y]=stu[y-1];
           stu[y+1]=st;
    }
    }
          py:cout<<"请输入学生的序号:";cin>>b; 
     for( a=j;a>=0;a--)
     { if(b==stu[a].number){cout<<"不能插入,此序号已存在"<<endl;goto py;}//判断是否与原有的学号重复,重复则返回cout<<"请输入学生的序号:";cin>>b; 
     }
     stu[z-1].number=b;
           cout<<"请输入班级:";cin>>stu[z-1].inclass;
           cout<<"请输入学生的姓名:"; cin>>stu[z-1].name;
  
         for(b=0;b<j+1;b++){ cout<<stu[b].number<<setw(16)<<stu[b].inclass<<setw(16)<<stu[b].name<<setw(16)<<endl; }
     j=j+1; goto pk;//插入成功后返回“1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7退出”
   }
     if(b==2)//删除
   {
    cout<<"请输入你要删除的的学号:";
     cin>>y;
      for( a=0;a<j;a++)
   {
    if(stu[a].number==y)
    { {
     y=a; //找到要删除的学号并把位置记录下来
                   
     for(z=y;z<j;z++)
    
       stu[z]=stu[z+1];
     
      }
    for(z=0;z<j-1;z++){ cout<<stu[z].number<<setw(16)<<stu[z].inclass<<setw(16)<<stu[z].name<<setw(16)<<endl;  } j--;goto pk;
    }
   
   }
   }
   if(b==3)//修改
 {
  cout<<"请出入你要修改的序号:";
     cin>>y;
  for(int d=0;d<j;d++)
  {
   if(stu[d].number==y)
   {
    {
    a=d;   //找到要修改的学号并把位置记录下来
       cout<<"请出入新班级:";
         cin>>stu[a].inclass;
       cout<<"请输入新姓名:";
       cin>>stu[a].name;
    }
   for(z=0;z<j;z++){ cout<<stu[z].number<<setw(16)<<stu[z].inclass<<setw(16)<<stu[z].name<<setw(16)<<endl;}goto pk;//输出并返回“1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7退出”
   }
 
        
 }
 }
 if(b==4)//查找
 {
       cout<<"请输入你要查找的学号:";
         cin>>y;
   for(int d=0;d<j;d++)
  {
     if(stu[d].number==y)
     {
      a=d;   //找到要查找的学号并把位置记录下来
                cout<<stu[a].number<<setw(16)<<stu[a].inclass<<setw(16)<<stu[a].name<<setw(16)<<endl;
    {
     cout<<"已借的书:"<<endl;//借书信息
       for(y=0;y<=x;y++){cout<<stu[a].booksnumber[y]<<endl;}
    }        
     }
   }
 }
     if(b==5)//借书
 {
  cout<<"请输入学生的学号:";
    cin>>y;
   for( d=0;d<j;d++)
  {
     if(stu[d].number==y)
     {
      a=d;
               cout<<stu[a].number<<setw(16)<<stu[a].inclass<<setw(16)<<stu[a].name<<setw(16)<<endl;
      { cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<stu[a].booksnumber[y]<<endl;}
      }
            cout<<"请输入书码,以0结束操作:";
        for(x=0;x<5;x++)
     {    if(stu[a].booksnumber[x]==0){ goto vp;//确保在以前的记录的基础上新增借书记录
                          vp: cin>>stu[a].booksnumber[x];
         cout<<stu[a].number<<setw(16)<<stu[a].inclass<<setw(16)<<stu[a].name<<setw(16)<<endl;
         {
          cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<stu[a].booksnumber[y]<<endl;}
      }
      if(x==4){cout<<"此学生的借书证已满,不能再借"<<endl;goto pk;}//5本后不能再借,返回“1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7退出”
     }
        
      if(stu[a].booksnumber[x]==0)//结束结束
      {   cout<<stu[a].number<<setw(16)<<stu[a].inclass<<setw(16)<<stu[a].name<<setw(16)<<endl;
          
       {  
          cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<stu[a].booksnumber[y]<<endl;
       }
           goto pk; //显示借书记录后返回“1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7退出”
      }
      }
     }
     }
   }
 }
     if(b==6)//还书
 {
        cout<<"请输入学生的序号:";
    cin>>y;
   for( d=0;d<j;d++)
  {
     if(stu[d].number==y)
     {
      a=d;
               cout<<stu[a].number<<setw(16)<<stu[a].inclass<<setw(16)<<stu[a].name<<setw(16)<<endl;
      { cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<stu[a].booksnumber[y]<<endl;}//x是有数据的最大值
      }
            cout<<"请输入书码:";
                           cin>>k;
           for( r=0;r<5;r++)
        {
        if(stu[a].booksnumber[r]==k)
        {stu[a].booksnumber[r]=NULL;
          for(y=0;y<=x-1;y++){cout<<stu[a].booksnumber[y]<<endl;}
         goto pk;
        }
        
        }
     }
   }
 } if(b==7)goto  label;
 goto pk;
 }
   for( a=j-1;a>=0;a--)
   { if(stu[j].number==stu[a].number){cout<<"学生的学号不能重复"<<endl;goto loop;}//学号重复重新输入
   }
   cout<<"请输入第"<<j+1<<"个学生的班级:";
    cin>>stu[j].inclass;
            cout<<"请输入第"<<j+1<<"个学生的姓名:";
   cin>>stu[j].name;
   }
  }
  else goto label;
 }
 
 if(b==2)//下面的是教师的情况 跟学生的基本一致 只是他们借的书比学生多,可以借10本
 {
        cout<<"你选择的是教师,确认吗?Y/N:";
     cin>>i;
  if(i=='y'||i=='Y')
  {
   for( j=0;j<N;j++)
   {
             mp: cout<<"请输入第"<<j+1<<"个教师的序号,以0结束操作:";
   cin>>tea[j].number;
   if(tea[j].number==0)
   {
    cout<<"序号"<<setw(16)<<"部门"<<setw(16)<<"姓名"<<setw(16)<<"借的书"<<endl;
        for(b=0;b<j;b ++)
  { cout<<tea[b].number<<setw(16)<<tea[b].department<<setw(16)<<tea[b].name<<setw(16)<<endl;
  }
       jk:  cout<<"1.插入,2.删除,3.修改,4.查找,5.借书,6.还书,7,推出"<<endl;
      cin>>b;
      if(b==1)//插入
   {
          cout<<"请输入要插入的位置"<<endl;
          cin>>z;cout<<"你插入的位置是第"<<z<<"位"<<endl;
    { for(x=j+1;x>=z;x--)
    {for(y=j+1;y>=x;y--)
          te=tea[y];
          tea[y]=tea[y-1];
          tea[y+1]=te;
    }
    }
          ty:cout<<"请输入教师的序号:";cin>>b; 
     for( a=j;a>=0;a--)
     { if(b==tea[a].number){cout<<"不能插入,此序号已存在"<<endl;goto ty;}
     }
     tea[z-1].number=b;
           cout<<"请输入教师的部门:";cin>>tea[z-1].department;
           cout<<"请输入教师的姓名:"; cin>>tea[z-1].name;
  
         for(b=0;b<j+1;b++){ cout<<tea[b].number<<setw(16)<<tea[b].department<<setw(16)<<tea[b].name<<setw(16)<<endl; }
     j=j+1; goto jk;
   }
   if(b==2)//删除
   {
    cout<<"请输入你要删除的的序号:";
     cin>>y;
      for( a=0;a<j;a++)
   {
    if(tea[a].number==y)
    { {
     y=a;
                   
     for(z=y;z<j;z++)
    
       tea[z]=tea[z+1];
     
      }
    for(z=0;z<j-1;z++){ cout<<tea[z].number<<setw(16)<<tea[z].department<<setw(16)<<tea[z].name<<setw(16)<<endl;  } j--;goto jk;
    }

   }
   }
 if(b==3)//修改
 {
  cout<<"请出入你要修改的序号:";
     cin>>y;
  for(int d=0;d<j;d++)
  {
   if(tea[d].number==y)
   {
    {
    a=d;
       cout<<"请出入新部门:";
         cin>>tea[a].department;
       cout<<"请输入新姓名:";
       cin>>tea[a].name;
    }
   for(z=0;z<j;z++){ cout<<tea[z].number<<setw(16)<<tea[z].department<<setw(16)<<tea[z].name<<setw(16)<<endl;}goto jk;
  }
       
 }
 }
 if(b==4)//查找
 {
       cout<<"请输入你要查找的序号:";
         cin>>y;
   for(int d=0;d<j;d++)
  {
     if(tea[d].number==y)
     {
      a=d;
                cout<<tea[a].number<<setw(16)<<tea[a].department<<setw(16)<<tea[a].name<<setw(16)<<endl;
    {
     cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<tea[a].booksnumber[y]<<endl;}
    }        
     }
   }
 }
 if(b==5)//借书
 {
  cout<<"请输入教师的序号:";
    cin>>y;

   for( d=0;d<j;d++)
  {
     if(tea[d].number==y)
     {
      a=d;
               cout<<tea[a].number<<setw(16)<<tea[a].department<<setw(16)<<tea[a].name<<setw(16)<<endl;
      { cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<tea[a].booksnumber[y]<<endl;}
      }
            cout<<"请输入书码,以0结束操作:";
          for(x=0;x<10;x++)
     {    if(tea[a].booksnumber[x]==0){ goto up;//up
                          up: cin>>tea[a].booksnumber[x];
         cout<<tea[a].number<<setw(16)<<tea[a].department<<setw(16)<<tea[a].name<<setw(16)<<endl;
         {
          cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<tea[a].booksnumber[y]<<endl;}
      }
      if(x==9){cout<<"此教师的借书证已满,不能再借"<<endl;goto jk;}
     }
      
      if(tea[a].booksnumber[x]==0)
      {   cout<<tea[a].number<<setw(16)<<tea[a].department<<setw(16)<<tea[a].name<<setw(16)<<endl;
          
       {  
          cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<tea[a].booksnumber[y]<<endl;
       }
           goto jk;
      }
      }
     }
     }
   }
 }
    if(b==6)//还书
 {
        cout<<"请输入教师的序号:";
    cin>>y;
   for(int d=0;d<j;d++)
  {
     if(tea[d].number==y)
     {
      a=d;
               cout<<tea[a].number<<setw(16)<<tea[a].department<<setw(16)<<tea[a].name<<setw(16)<<endl;
      { cout<<"已借的书:"<<endl;
       for(y=0;y<=x;y++){cout<<tea[a].booksnumber[y]<<endl;}//x是有数据的最大值
      }
            cout<<"请输入书码,以0结束操作:";
                           cin>>k;
           for( r=0;r<10;r++)
        {
        if(tea[a].booksnumber[r]==k){tea[a].booksnumber[r]=NULL;
          for(y=0;y<=x-1;y++){cout<<tea[a].booksnumber[y]<<endl;}
         goto jk;}
        
        }
     }
   }
 }
 if(b==7)goto  label;
 goto jk;
   }
   for( a=j-1;a>=0;a--)
   { if(tea[j].number==tea[a].number){cout<<"教师的序号不能重复"<<endl;goto mp;}
   }
   cout<<"请输入第"<<j+1<<"个教师的部门:";
    cin>>tea[j].department;
            cout<<"请输入第"<<j+1<<"个教师的姓名:";
   cin>>tea[j].name;}
  }
  else goto label;
 }
  if(b==3){cout<<"exit"<<endl;}
 else goto label;
}

void main()   //主函数
{
   insertmessage();
 
 
}

原创粉丝点击