C++ 综合作业

// kcsjbcxxcx.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
//#include<dos.h>
//#include<time.h>
using namespace std;
int n=0,m=0;

struct date
{
	int year;
	int month;
	int day;
};
struct time
{
int shi;
int fen;
int miao;
};
struct guanli
{
char zh[15];
char mima[20];
}guan1={"zd1123xufei","201211632326"},guan2={"minggezhijia","zd2012cjjxx"};
enum beiz
{
	售票中,可发车,班次取消};
enum qid
{湛江};
enum zhongd
{广州,深圳,东莞,佛山,揭阳,中山,茂名,汕头};
struct banche
{
	int bianhao;		//编号
	enum qid qidian;	//出发地
	enum zhongd zhongdian;	//终点站
	int zuoweishu;		//最大载客量
	int shengyup;		//剩余可载客数
	struct time fache;	//发车时间
	enum beiz beizhu;	//备注信息:是否可购票和发车
	banche *next;
};
struct dingpiaoxx
{
	char xingming[30];
	char zheng[19];
	enum zhongd gpzd;
	struct time shijian;
	struct date riqi;
	int piaoshu;
	dingpiaoxx *NEXT;
};
banche *creat();
banche *insert(banche *head,banche *banc);
banche *charu(banche *hea);
void xiug(banche *hed);
banche *del(banche *head);
void chache(banche *head);
dingpiaoxx *CREAT();
dingpiaoxx *dingpiao(dingpiaoxx *HEAD);
void gaip(dingpiaoxx *HEAD);
void xiup(dingpiaoxx *HED );
void chapiao(dingpiaoxx *HEAD );
dingpiaoxx  *tianjia(dingpiaoxx *HEAD);
dingpiaoxx *shanc(dingpiaoxx *HEAD );
void welc();
//void chushi();
void xuanze();
void weihu();
void kehu();
int denglu();

int main()
{
	char key='y';
	welc();
	//chushi();
	while(key!='n'&&key!='N')
	{
	xuanze();
	int a,b;
	cin>>a;
	if(a==1)
	{
	b=denglu();
	if(b==1)
	{int gg=1;
	while(gg=1)
		{weihu();
	cout<<"是否继续?1:是 , 2:否 "<<endl;
	cin>>gg;
	}}
	}
	else if(a==2)
	{
	{int gg=1;
	while(gg=1)
		{kehu();
	cout<<"是否继续?1:是 , 2:否 "<<endl;
	cin>>gg;
	}}
	}
	else
	cout<<"输入错误,请按提示信息输入!"<<endl;
	cout<<"感谢你使用本系统"<<endl
		<<"按“Y”返回身份选择界面"<<endl
		<<"按“N”退出本系统"<<endl;
	cin>>key;
	}

	return 0;
}


banche *head=creat();
banche *creat()		//建立班次信息表
{
	int a,b=1;
	char key;
banche *head,*p1,*p2;
head=NULL;
p1=new(banche);
p2=p1;
cout<<"请输入班车编号"<<endl;
cin>>p1->bianhao;
p1->qidian=qid(0);
cout<<"请输入班车到达的终点站对应的序号"<<endl
	<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
p1->zhongdian=zhongd(a);
cout<<"请输入该班次最大乘客数"<<endl;
cin>>p1->zuoweishu;
p1->shengyup = p1->zuoweishu;
cout<<"请输入班车出发时间(时、分)"<<endl;
cin>>p1->fache.shi >>p1->fache.fen ;
p1->beizhu =beiz(0);
while(b==1)
{
n++;
if(n==1)
	head=p1;
else
{
	p2->next=p1;
	p2=p1;
}
p1=new(banche);
cout<<"请输入班车编号"<<endl;
cin>>p1->bianhao;
p1->qidian=qid(0);
cout<<"请输入班车到达的终点站对应的序号"<<endl
	<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
p1->zhongdian=zhongd(a);
cout<<"请输入该班次最大乘客数"<<endl;
cin>>p1->zuoweishu;
p1->shengyup = p1->zuoweishu;
p1->beizhu =beiz(0);
cout<<"请输入班车出发时间(时、分)"<<endl;
cin>>p1->fache.shi >>p1->fache.fen ;
cout<<"是否继续,按任意键继续,按N结束"<<endl;
cin>>key;
if( key =='n'||key=='N')
b=0;
else
	b=1;
}
return head;
}
banche *insert(banche *head,banche *banc)	
{
banche *p0,*p1;
p1=head;
p0=banc;
if(head==NULL)
{
head=p0;
p0->next=NULL;
}
else
{
	head=p0;
	p0->next=p1;
}
n++;
return head;
}
banche *charu(banche *hea)		//添加班次记录
{
	int a,b=1;
	char key;
	while(b)
	{
banche *banc=new banche;

cout<<"请输入班车到达的终点站对应的序号"<<endl
	<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
banc->zhongdian=zhongd(a);
cout<<"请输入该班次最大乘客数"<<endl;
cin>>banc->zuoweishu;
banc->shengyup = banc->zuoweishu;
banc->beizhu =beiz(0);
cout<<"请输入班车出发时间(时、分)"<<endl;
cin>>banc->fache.shi >>banc->fache.fen ;
head=insert(hea,banc);
cout<<"按任意键继续,按“N”结束添加"<<endl;
cin>>key;
if(key=='n'||key=='N')
	b=0;
}
	return head;
}
void xiug(banche *hed)
{
	banche *p1,*p2,xiu;
	int a,b,c=1;
	cout<<"请输入要修改的班次编号"<<endl;
	cin>>xiu.bianhao ;
	p1=hed;
	while(p1!=NULL||p1->bianhao !=xiu.bianhao)
	{
	p2=p1;
	p1=p1->next ;
	}
if(p1==NULL)
	cout<<"没有这个班次"<<endl;
else
	{
		while(c==1)
		{
		cout<<"请输入要修改的部分对应编号"<<endl
	<<"1.编号\t"<<"2.出发地\t"<<"3.终点站\t"<<"4.最大载客量\t"<<endl
	<<"5.剩余可载客数\t"<<"6.发车时间\t"<<"7.备注信息\t"<<"\t"<<endl;
cin>>a;
switch (a)
{
	case 1:
		cout<<"请输入新编号"<<endl;
		cin>>p1->bianhao ;
			break;
	case 2:
		cout<<"不可更改信息"<<endl;
			break;
	case 3:
		cout<<"请输入新地名对应标号"<<endl
			<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
		cin>>b ;
		p1->zhongdian=zhongd(b);
			break;
	case 4:
		cout<<"请输入新班次最大载客量"<<endl;
		cin>>p1->zuoweishu  ;
			break;
	case 5:
		cout<<"请输入新数字"<<endl;
		cin>>p1->shengyup  ;
			break;
	case 6:
		cout<<"请输入新时间"<<endl;
		cin>>p1->fache.shi >>p1->fache.fen ;
			break;
	case 7:
		cout<<"请输入新信息:0.售票中,1.可发车,2.班次取消"<<endl;
		cin>>b ;
		p1->beizhu =beiz(b);
			break;
	default :
		cout<<"输入错误!!"<<endl;
} 
cout<<"是否更改其他信息?Y OR N"<<endl;
char key;
cin>>key;
if(key=='n'||key=='N')
		c=0;}
		cout<<"修改成功!!"<<endl;
}}

banche *del(banche *head)		//删除班车记录
{
	banche *p1,*p2;
	int a;
	char key;
	if (head=NULL)
	{
	cout<<"没有数据"<<endl;
	return head;
	}
	p1=head;
	p2=p1;
	cout<<"请输入班车编号"<<endl;
	cin>>a;
	while(a!=p1->bianhao &&p1->next !=NULL)
	{
	p2=p1;
	p1=p1->next;
	}
	if(a==p1->bianhao )
	{
		cout<<"编号\t"<<"起点\t"<<"终点\t"<<"座位数\t"<<"发车时间\t"<<endl
			<<p1->bianhao <<'\t'<<p1->qidian <<'\t'<<p1->zhongdian <<'\t'
			<<p1->zuoweishu <<'\t'<<" 点"<<" 分"<<'\t'<<endl;
		cout<<"确定要删除本条记录吗?Y(是),N(否)"<<endl;
		cin>>key;
		if(key=='Y'||key=='y')
		{
			if(p1==head)
				head=p1->next;
			else
				p2->next=p1->next ;
			cout<<"删除成功!"<<endl;
			n--;
		}
	}
	else
		cout<<a<<" 不存在的班次"<<endl;

	return head;
}
void chache(banche *head)	//班次信息查询
{
	int a;
	banche *p,*p1;
	p=head;
	cout<<"请选择查询方式:"<<endl
		<<"1. 查看全部班次     2.查看指定编号班次"<<endl;
	cin>>a;
	if(a==1)
	{
		cout<<"编号\t"<<"出发地\t"<<"终点站\t"<<"最大载客量\t"<<"剩余可载客数\t"<<"发车时间\t"<<"备注信息\t"<<endl;
		while(p!=NULL)
	{
	cout<<p->bianhao <<p->qidian <<'\t'<<p->zhongdian <<'\t'<<p->zuoweishu
		<<'\t' <<p->shengyup <<'\t'<<p->fache.shi<<p->fache.fen <<'\t'<<endl;
	p1=p->next ;
	}
	}
	else if(a==2)
	{
	banche cha;
	cout<<"请输入要查看班次的编号"<<endl;
	cin>>cha.bianhao ;
	while(p!=NULL&&p->bianhao!=cha.bianhao )
	{
	p1=p;
	p=p->next ;
	}
	if(p==NULL)
		cout<<"该班次不存在,查看失败!!"<<endl;
	else
	cout<<"编号\t"<<"出发地\t"<<"终点站\t"<<"最大载客量\t"<<"剩余可载客数\t"<<"发车时间\t"<<"备注信息\t"<<endl
		<<p->bianhao <<p->qidian <<'\t'<<p->zhongdian <<'\t'<<p->zuoweishu
		<<'\t' <<p->shengyup <<'\t'<<p->fache.shi<<p->fache.fen <<'\t'<<endl;
	}
	else
		cout<<"输入错误!!"<<endl;

}
dingpiaoxx *HEAD=CREAT();
dingpiaoxx *CREAT()		//建立初始订票信息
{
	int a,b=1;
	char key;
dingpiaoxx *HEAD,*p1,*p2;
banche *s;
HEAD =NULL;
p1=new(dingpiaoxx );
p2=p1;
cout<<"请输入姓名、身份证号"<<endl;
cin>>p1->xingming >>p1->zheng ;
cout<<"请输入要到达的目的地:"<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
p1->gpzd=zhongd (a);
cout<<"请输入所订票数(一人最多可定3张票)"<<endl;
cin>>p1->piaoshu ;
s=head;
while(s->zhongdian !=p1->gpzd&&s->next !=NULL )
s=s->next ;
if(s==NULL)
	cout<<"班次不存在,请从新操作"<<endl;
else
{s->shengyup -=p1->gpzd ;
while(b)
{
m++;
if(m==1)
	HEAD =p1;
else
{p2->NEXT =p1;
p2=p1;}
p1=new(dingpiaoxx );
cout<<"请输入姓名、身份证号"<<endl;
cin>>p1->xingming >>p1->zheng ;
cout<<"请输入要到达的目的地:"<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
p1->gpzd=zhongd (a);
cout<<"请输入所订票数(一人最多可定3张票)"<<endl;
cin>>p1->piaoshu ;
s=head;
while(s->zhongdian !=p1->gpzd&&s->next !=NULL )
s=s->next ;
if(s==NULL)
{cout<<"班次不存在,请从新操作"<<endl;
b=0;
}
else
{s->shengyup -=p1->gpzd ;
cout<<"是否继续,Y(是),N(否)"<<endl;
cin>>key;
if(key=='n'||key=='N')
	b=0;
}

}}
delete p1;
p2->NEXT =NULL;

return HEAD ;
}


dingpiaoxx *dingpiao(dingpiaoxx *HEAD)	//订票
{
	int a,b=1;
	banche *s;
	char key;
	while(b=1)
	{
	dingpiaoxx *p1=new dingpiaoxx ;
	cout<<"请输入您的姓名及身份证号"<<endl;
cin>>p1->xingming >>p1->zheng ;
cout<<"请输入您想要到达的目的地:"<<"0 广州;1 深圳;2 东莞;3 佛山;4 揭阳;5 中山;6 茂名;7 汕头"<<endl;
cin>>a;
p1->gpzd=zhongd (a);
cout<<"请输入您想要订的票数(一人最多可定3张票)"<<endl;
cin>>p1->piaoshu ;
if(p1->piaoshu >3)
{
cout<<"操作错误,订票失败!"<<endl;
delete p1;
}
else 
{
s=head;
while(s->zhongdian !=p1->gpzd&&s!=NULL )
s=s->next ;
if(s==NULL)
{   delete p1;
	cout<<"班次不存在,订票失败!"<<endl
<<"是否重新操作:Y(是),N(否)"<<endl;
	cin>>key;
	if(key=='n'||key=='N')
		b=0;
}
else
{s->shengyup -=p1->gpzd ;
p1->NEXT =HEAD ;
HEAD =p1;
cout<<"订票成功,祝您旅途愉快!"<<endl;
b=0;m++;}}}
return HEAD ;
}
void gaip(dingpiaoxx *HEAD)		//用于管理员维护数据
{
	int a;
	dingpiaoxx gai,*p;
	p=HEAD ;
cout<<"请选择输入需要修改的姓名或身份证号:1.姓名;2身份证号"<<endl;
cin>>a;
if(a==1)
{
	cout<<"请输入要修改记录的姓名"<<endl;
	cin>>gai.xingming ;
	while(p->xingming !=gai.xingming &&p->NEXT !=NULL)
		p=p->NEXT ;
	if(p->NEXT ==NULL)
		cout<<"没有此人的订票信息,请核对后输入!!"<<endl;
	else
	xiup(p);
}
else if(a==2)
{cout<<"请输入要修改记录的身份证号码"<<endl;
	cin>>gai.zheng  ;
	while(p->zheng!=gai.zheng &&p->NEXT !=NULL)
		p=p->NEXT ;
	if(p->NEXT ==NULL)
		cout<<"没有此人的订票信息,请核对后输入!!"<<endl;
	else
	xiup(p);
}
else
	cout<<"输入错误,请按提示输入!"<<endl;
}
void xiup(dingpiaoxx *HED )
{
	int a,b=1;
	dingpiaoxx *p1;
	banche *s=head ;
	p1=HED;
	while (s->next!=NULL&&s->zhongdian !=p1->gpzd )
			s=s->next ;	
		cout<<"姓名\t"<<"到达站\t"<<"所购票数\t"<<"车次编号\t"<<"购票日期\t"<<"购票时间\t"<<"备注信息"<<endl
		<<p1->xingming<<'\t'<<p1->gpzd<<'\t'<<p1->piaoshu<<s->bianhao
		<<'\t'<<" 年"<<' 月'<<" 日"<<'\t'<<" 点"<<" 分"<<" 秒"<<'\t'<<endl
		<<"查询成功!!"<<endl;
		while(b==1)
		{
		cout<<"请输入需要修改的信息:"<<endl
			<<"1.姓名  2.到达站  3.所购票数  4.购票日期  5.购票时间  6.备注信息"<<endl;
		cin>>a;
		switch (a)
		{
		case 1:cout<<"请输入姓名"<<endl;
			cin>>p1->xingming ;break;
		case 2:cout<<"请输入身份证号码"<<endl;
			cin>>p1->zheng ;break;
		case 3:cout<<"请输入订票数"<<endl;
			cin>>p1->piaoshu ;break;
		case 4:cout<<"请输入购票日期(年、月、日)"<<endl;
			cin>>p1->riqi .year >>p1->riqi .month >>p1->riqi .day  ;break;
		case 5:cout<<"请输入购票时间(时、分、秒)"<<endl;
			cin>>p1->shijian .shi  >>p1->shijian .fen >>p1->shijian .miao ;break;
		case 6:cout<<"请输入备注信息:(0.售票中,1.可发车,2.班次取消)"<<endl;
			int k;
			cin>>k ;
			s->beizhu =beiz (k); break;
		default :
			cout<<"输入错误,请按提示输入!"<<endl;
		}
		char key;
		cout<<"是否要修改其他信息?Y(是),N(否)"<<endl;
		cin>>key;
		if(key=='n'||key=='N')
			b=0;}
		cout<<"修改成功!!"<<endl;
}
void chapiao(dingpiaoxx *HEAD )		//订票信息查询(管理员使用)
{
	dingpiaoxx *p1;
	banche *s=head ;
	p1=HEAD ;
	cout<<"姓名\t"<<"到达站\t"<<"所购票数\t"<<"车次编号\t"<<"购票日期\t"<<"购票时间\t"<<"备注信息"<<endl;
	while(p1->NEXT !=0)
	{
	while (s->next!=NULL&&s->zhongdian !=p1->gpzd )
			s=s->next ;
			s->shengyup -=p1->piaoshu ;
		
		cout<<p1->xingming<<'\t'<<p1->gpzd<<'\t'<<p1->piaoshu<<s->bianhao
		<<'\t'<<" 年"<<' 月'<<" 日"<<'\t'<<" 点"<<" 分"<<" 秒"<<'\t'<<endl;
	}
	cout<<"查询成功!!"<<endl;
}
dingpiaoxx *tuip(dingpiaoxx *HEAD )		//客户查询和退票
{
	dingpiaoxx *p1,*p2;
	dingpiaoxx cx;
	banche *s;
	char key;
	int a,b=1;
	while(b==1)
	{
	p1=HEAD ;
	p2=p1;
	cout<<"请输入您的姓名和身份证号码"<<endl;
	cin>>cx.xingming >>cx.zheng ;
	while(cx.xingming !=p1->xingming &&cx.zheng !=p1->zheng&&p1!=NULL )
	{
	p2=p1;
	p1=p2->NEXT ;
	}
	if(cx.xingming==p1->xingming&&cx.zheng ==p1->zheng)
		{
			s=head;
			while (s->next!=NULL&&s->zhongdian !=p1->gpzd )
			s=s->next ;
			s->shengyup -=p1->piaoshu ;
		
			cout<<"姓名\t"<<"到达站\t"<<"所购票数\t"<<"车次编号\t"<<"购票日期\t"<<"购票时间\t"<<"备注信息"<<endl
		<<p1->xingming<<'\t'<<p1->gpzd<<'\t'<<p1->piaoshu<<s->bianhao
		<<'\t'<<" 年"<<' 月'<<" 日"<<'\t'<<" 点"<<" 分"<<" 秒"<<'\t'<<endl
		<<"查询成功!!"<<endl;

	cout<<"请选择您的操作:1.退票;    2.返回"<<endl;
	cin>>a;
	switch (a)
	{
	case 1:
		if(p1==HEAD )
			HEAD =p1->NEXT ;
		else
		p2->NEXT =p1->NEXT ;
		m--;
		cout<<"您已成功退票,感谢您的支持!"<<endl;
		break;
	case 2:
		return HEAD ;break;
	}
	b=0;
	}
	else if(cx.xingming ==p1->xingming&&cx.zheng !=p1->zheng)
	{cout<<"姓名与身份证号不匹配,请重新输入!确定(Y)  取消(N)"<<endl;
	cin>>key;
	if(key=='n'||key=='N')
	b=0;}
	else
	{cout<<"没有您的购票记录或输入信息有误,请核实后输入"<<endl;
	cout<<"确定重新输入请按“Y”,取消请按“N”"<<endl;
	cin>>key;
	if(key=='n'||key=='N')
	b=0;
	}
	}
	return HEAD ;
}
dingpiaoxx  *tianjia(dingpiaoxx *HEAD)	//管理员更改数据或人工售票
{

	return HEAD;
}
dingpiaoxx *shanc(dingpiaoxx *HEAD )	//人工退票、数据更新
{
	dingpiaoxx *p,ss;
	p=HEAD ;
	cout<<"请输入要删除的记录的姓名或身份证号:1.姓名  2.身份证号码"<<endl;
	int a;
	cin>>a;
	if(a==1)
	{
		cout<<"请输入删除者姓名"<<endl;
		cin>>ss.xingming ;
	while( p->NEXT!=NULL && p->xingming ==ss.xingming )
		p=p->NEXT ;
	}
	return HEAD ;
}
void welc()		//欢迎界面
{
cout<<"***-。-。-。-。-。-。-。-***"<<endl
	<<"*                          *"<<endl
	<<"|                          |"<<endl
	<<"。    欢迎使用本系统       。"<<endl
	<<"|                          |"<<endl
	<<"*                          *"<<endl
	<<"***-。-。-。-。-。-。-。-***"<<endl;

}
void xuanze()	//两个接口进入系统,管理员和用户采用不同入口
				//管理员进入管理界面需登陆
{
	cout<<"######################################"<<endl
		<<"###         请选择入口             ###"<<endl
		<<"######################################"<<endl
		<<" "<<endl
		<<"&&&&&&   我是叼炸天的管理员    &&&&&&"<<endl
		<<"             代号:1                 "<<endl
		<<" "<<endl
		<<"&&&&&&    我只是个寂寞的乘客   &&&&&&"<<endl
		<<"            代号:2                  "<<endl
		<<"                                     "<<endl;
}
void chushi()
{
	cout<<"首次使用系统,请进完善始数据"<<endl
	<<"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl
	<<"第一项:请建立班次信息表并输入初始数据"<<endl;
	banche *creat();
	cout<<"班车信息已建立!!"<<endl
		<<"第二项:请建立订票信息表"<<endl;
	dingpiaoxx *CREAT();
	//cout<<"订票信息表已成功建立,请按任意键进入主界面"<<endl;
}
void weihu()		//数据维护总函数,管理员使用,包括所有信息的查询、
					//修改、增添新纪录、删除原有记录
{
	int a;
	cout<<"欢迎进入班车信息系统维护系统"<<endl;
	cout<<"请选择您要进行的操作:"<<endl
		<<"1.班次信息查询\t"<<"2.订票信息查询\t"<<endl
		<<"3.添加班次记录\t"<<"4.删除班次记录\t"<<endl
		<<"5.添加订票记录\t"<<"6.删除订票记录\t"<<endl
		<<"7.修改班次记录\t"<<"8.修改订票记录\t"<<endl;
	cin>>a;
	switch (a)
	{
	case 1: chache(head);break;
	case 2: chapiao(HEAD );break;
	case 3:head=charu(head );break;
	case 4:head=del(head); break;
	case 5:HEAD =tianjia(HEAD ); break;
	case 6:HEAD=shanc (HEAD );break;
	case 7:xiug(head); break;
	case 8: gaip(HEAD );break;
	default :
		cout<<"输入错误,请输入正确的操作序号"<<endl;
	}
}
void kehu()  //用户中心,用户在此选择需要的操作
{
	cout<<"欢迎您,请选择您要进行的操作:"<<endl
		<<"1.车次信息查看   2.我要购票     3.已购票查询及退订 "<<endl;
	int a;
	cin>>a;
	switch (a)
	{
	case 1: chache(head);break;
	case 2:HEAD=dingpiao(HEAD );break;
	case 3:HEAD=tuip (HEAD);break;
	default :
		cout<<"输入错误,请按提示信息输入"<<endl;
	}
}
int denglu()	//管理员登陆函数
{
	guanli ff;
	int n=4;
	for(;n>0;)
	{
		n--;
cout<<"请输入您的账号和密码"<<endl;
cin>>ff.zh >>ff.mima ;
if((ff.zh ==guan1 .zh &&ff.mima ==guan1 .mima)||(ff.zh ==guan2 .zh &&ff.mima ==guan2 .mima) )
{cout<<"恭喜:登陆成功!!"<<endl;
	return 1;break;}
else 
cout<<"账号或密码错误,请重新输入"
<<"还有"<<n<<"次机会"<<endl;
	}
	cout<<"登陆失败!!!"<<endl;
return 2;}
发上去就在审核,审核那么久,点了下置顶就什么都看不见了。重发一次,依然审核中……传说要没图片才能发上去,那就先来个没图的吧,有图那个等它慢慢审吧
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学生成绩管理系统 该系统可用于管理某高校的本科生、研究生2类人员信息,人员信息包括:编号、姓名、性别、出生日期、专业、班级、类别(区分2类人员标记)等,具体功能包括: ① 专业管理:包括专业基本信息的添加、修改、删除、查询功能。学生必须归属于某个专业。 班级管理:包括班级基本信息的添加、修改、删除、查询功能。学生必须归属于某个班级。 ② 添加功能:分本科生和研究生两类人员,实现下列添加功能。 A.本科生:能够添加学生信息,如果高数成绩、英语成绩、C语言成绩都输入,则系统自动计算总成绩。 B.研究生:能够添加学生信息,如果课程综合成绩、论文成绩都输入,则系统自动计算总成绩。 修改功能:分本科生和研究生两类人员,实现下列修改功能。 A.本科生:根据学号来修改任意学生的除学号外的信息。如果高数成绩、英语成绩、c语言成绩都存在,则系统自动计算总成绩。 B.研究生:根据学号来修改任意学生的除学号外的信息。如果课程综合成绩、论文成绩都存在,则系统自动计算总成绩 ③ 删除功能:分本科生和研究生两类人员,能够根据学号删除一个学生。 ④ 排名功能:分本科生和研究生两类人员,实现下列排名功能。 说明:排名包括班级排名和年级排名,排名规则按体育竞赛规则处理,若出现两个并列第1名,下个名次为第3名,依此类推。 A:班级排名:分本科生和研究生两类学生,计算每个学生总成绩在班级中的名次。 B:年级排名:分本科生和研究生两类学生,计算每个学生总成绩在本专业、本年级中的名次。 ⑤ 查询功能:分本科生和研究生两类人员,实现下列查询功能。 1) 能够按班级显示本班全部学生信息。 2) 能够根据学号或者姓名查询学生信息。 3) 能够在某个班级中查询某门课成绩不及格学生信息。 ⑥ 排序功能:分本科生和研究生两类人员,实现下列排序功能。 1) 所有学生信息按学号从低到高排序并显示。 2) 某个班学生信息按总成绩从高到低排序并显示。 ⑦ 统计功能:分本科生和研究生两类人员,实现下列统计与显示功能。 1) 统计某班级某课程的平均成绩、最高成绩、最低成绩。如果学生该门课没有成绩,统计平均成绩时忽略该生。 2) 统计某班级某课程超过课程平均成绩的学生名单及人数。 3) 统计某班级某课程不及格学生名单及人数。 统计某班级某课程不同等级的学生人数。等级标准:优—大于等于90;良—大于等于80且小于90;中:大于等于70且小于80;及格:大于等于60且小于70;不及格:小于60。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值