资料信息管理系统
来源:互联网 发布: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();
}
- 资料信息管理系统
- 学生信息管理系统
- 毕业生信息管理系统
- 图书馆信息管理系统源代码
- 中国共产党党员信息管理系统
- 计划生育信息管理系统 绿色
- 计量信息管理系统 下载
- 学生学籍信息管理系统
- 信息管理系统(网络版) VC
- 学生信息管理系统
- 高速公路信息管理系统解决方案
- 个人信息管理系统
- 学生信息管理系统
- 图书馆信息管理系统
- 图书馆信息管理系统
- 医院信息管理系统--顺序
- 学生成绩信息管理系统
- 图书信息管理系统
- 按键连续发码的例子
- asp.net 2.0中 FreeTextBox报错的原因分析和解决办法
- 学生成绩管理系统 2
- FreeBSD 5.5+Apache 2.2+MySQL 5.1+PHP 5+Discuz 5.5使用ports构建日志
- JSP中的转义符
- 资料信息管理系统
- 2007年7月8日,同学聚会的一天。
- 取得gridview隐藏列的值
- 学生通讯系统
- 类的字段和属性
- kindeditor在asp.net中如何使用的总结
- 教你七招记英语单词快又准
- 近期读书《TC++PL》
- java中timer在web.xml中的一个例子