班级信息管理系统

博主在开发班级信息管理系统时遇到了方向性问题,涉及到随机字符生成、数据保存、模块化以及类应用等方面的技术困难。由于时间限制,未能使用指针优化程序,且缺少姓名和学号的输入功能,目前只能显示分数。
#include "stdafx.h"
#include<iostream>
#include <ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
struct student
{
	char num[10];
	char name[10];
	float modian;
    float shudian;
	float vc;
    float english;
	float mao;
	float vfp;
}arry[128];

int r(int fanwei)
{
 srand((unsigned)time(NULL)); //用于保证是随机数
  return rand()%fanwei;  //用rand产生随机数并设定范围
}

int pjf(int i)
{  
	 
	 arry[i].modian=r(100);
arry[i].shudian=r(100);
arry[i].vc=r(100);
arry[i].english=r(100);
arry[i].mao=r(100);
arry[i].vfp=r(100);
	int score[128];
 score[i]=(arry[i].modian+arry[i].shudian+arry[i].vc+arry[i].english+arry[i].mao+arry[i].vfp)/6;

	return score[i];
}
void change(int c)
{  cout<<"请输入模电分数"<<endl;
cin>>arry[c].modian;
cout<<"请输入数电分数"<<endl;
cin>>arry[c].shudian;
cout<<"请输入C++分数"<<endl;
cin>>arry[c].vc;
cout<<"请输入英语分数"<<endl;
cin>>arry[c].english;
cout<<"请输入毛概分数"<<endl;
cin>>arry[c].mao;
cout<<"请输入数据库分数"<<endl;
cin>>arry[c].vfp;

cout<<"新成绩如下:"<<"   模电   "<<arry[c].modian<<"  数电  "<<arry[c].shudian<<"  C++  "<<arry[c].vc<<" 英语  "<<arry[c].english
		<<"  毛概   "<<arry[c].mao<<"  数据库  "<<arry[c].vfp<<endl;
}
int main()
{
	int b,c,i,j;

 long int t;
   for(i=0;i<128;i++)
   { 
	 arry[i].modian=r(100);
arry[i].shudian=r(100);
arry[i].vc=r(100);
arry[i].english=r(100);
arry[i].mao=r(100);
arry[i].vfp=r(100);}  
      cout<<"\t\t◎★★★★【  欢迎进入班级成绩管理系统  】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            课程号          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            模电 1          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            数电 2          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            C++  3          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            英语 4          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【            毛概 5          】★★★★◎"<<endl;
	  cout<<"\t\t◎★★★★【           数据库 6         】★★★★◎"<<endl;
f: 
	cout<<"请输入学号:"<<endl;
	cin>>t;
	if(t<1000000000)
	{cout<<"学号输入有问题,请重新输入"<<endl;
	goto f;}
	b=t-1000000000;
e:    cout<<"如果要查询全部成绩请输入0,如果要查询单科成绩,请输入课程号。"<<endl;
	cout<<"如果要查询各班分数统计,请输入班级号:"<<endl;
	cout<<"如果要查询各科分数统计,请输入1+课程号(模电11):"<<endl;
	cout<<"如果需要修改成绩,请输入110"<<endl;
	cin>>c;
	if(c==0)
		cout<<"   模电   "<<arry[c].modian<<"  数电  "<<arry[c].shudian<<"  C++  "<<arry[c].vc<<" 英语  "<<arry[c].english
		<<"  毛概   "<<arry[c].mao<<"  数据库  "<<arry[c].vfp<<endl;
	if(c==1)
		cout<<"   模电   "<<arry[c].modian<<endl;
	if(c==2)
		cout<<"  数电  "<<arry[c].shudian<<endl;
	if(c==3)
		cout<<"  C++  "<<arry[c].vc<<endl;
	if(c==4)
		cout<<" 英语  "<<arry[c].english<<endl;
	if(c==5)
		cout<<"  毛概   "<<arry[c].mao<<endl;
	if(c==6)
		cout<<"  数据库  "<<arry[c].vfp<<endl;
	if(c==1121)
	{
		cout<<"等级为A的"<<endl;
		for(i=0;i<32;i++)
	    if(pjf(i)>=90)
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
			cout<<"等级为B的"<<endl;
		for(i=0;i<32;i++)
	    if(pjf(i)<90&&pjf(i)>=70)	
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		 cout<<"等级为c的"<<endl;
			for(i=0;i<32;i++)
	    if(pjf(i)<70&&pjf(i)>=60)				
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		cout<<"等级为D的"<<endl;
			for(i=0;i<32;i++)
				
	    if(pjf(i)<60)	
		cout<<arry[i].name<< "  "<<pjf(i)<<"分"<<endl;}
	if(c==1122)
{	
		cout<<"等级为A的"<<endl;
		for(i=32;i<64;i++)
	    if(pjf(i)>=90)
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
			cout<<"等级为B的"<<endl;
		for(i=32;i<64;i++)
	    if(pjf(i)<90&&pjf(i)>=70)	
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		 cout<<"等级为c的"<<endl;
			for(i=32;i<64;i++)
	    if(pjf(i)<70&&pjf(i)>=60)				
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		cout<<"等级为D的"<<endl;
			for(i=32;i<64;i++)
				
	    if(pjf(i)<60)	
		cout<<arry[i].name<< "  "<<pjf(i)<<"分"<<endl;}
		if(c==1123)
{	
			cout<<"等级为A的"<<endl;
		for(i=64;i<96;i++)
	    if(pjf(i)>=90)
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
			cout<<"等级为B的"<<endl;
		for(i=64;i<96;i++)
	    if(pjf(i)<90&&pjf(i)>=70)	
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		 cout<<"等级为c的"<<endl;
		for(i=64;i<96;i++)
	    if(pjf(i)<70&&pjf(i)>=60)				
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		cout<<"等级为D的"<<endl;
		for(i=64;i<96;i++)
				
	    if(pjf(i)<60)	
		cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;}

		if(c==1124)
	{
			cout<<"等级为A的"<<endl;
		for(i=96;i<128;i++)
	    if(pjf(i)>=90)
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
			cout<<"等级为B的"<<endl;
	for(i=96;i<128;i++)
	    if(pjf(i)<90&&pjf(i)>=70)	
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		 cout<<"等级为c的"<<endl;
			for(i=96;i<128;i++)
	    if(pjf(i)<70&&pjf(i)>=60)				
			cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;
		cout<<"等级为D的"<<endl;
			for(i=96;i<128;i++)
				
	    if(pjf(i)<60)	
		cout<<arry[i].num<< "  "<<pjf(i)<<"分"<<endl;}
		if(c==11)
		{
			cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)	
				if(arry[i].modian >=90)
			cout<<arry[i].num<< "  "<<arry[i].modian<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].modian<90&&arry[i].modian>=70)
			cout<<arry[i].num<< "  "<<arry[i].modian<< "  "<<"分"<<endl;
        	cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].modian<70&&arry[i].modian>=60)
			cout<<arry[i].num<< "  "<<arry[i].modian<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].modian<60)	
			
				cout<<arry[i].num<< "  "<<arry[i].modian<< "  "<<"分"<<endl;}
			if(c==12)
			{  cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].shudian >=90)	
			cout<<arry[i].num<< "  "<<arry[i].shudian<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].shudian<90&&pjf(i)>=70)
			cout<<arry[i].num<< "  "<<arry[i].shudian<< "  "<<"分"<<endl;
				 cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].shudian<70&&arry[i].shudian>=60)	
			cout<<arry[i].num<< "  "<<arry[i].shudian<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].shudian<60)	
				cout<<arry[i].num<< "  "<<arry[i].shudian<< "  "<<"分"<<endl;}
			if(c==13)
		{
			  cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].vc >=90)	
			cout<<arry[i].num<< "  "<<arry[i].vc<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].vc<90&&arry[i].vc>=70)
			cout<<arry[i].num<< "  "<<arry[i].vc<< "  "<<"分"<<endl;
				 cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].vc<70&&arry[i].vc>=60)	
			cout<<arry[i].num<< "  "<<arry[i].vc<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].vc<60)	
				cout<<arry[i].num<< "  "<<arry[i].vc<< "  "<<"分"<<endl;}
			if(c==14)
		{
		  cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].english >=90)	
			cout<<arry[i].num<< "  "<<arry[i].english<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].english<90&&arry[i].english>=70)
			cout<<arry[i].num<< "  "<<arry[i].english<< "  "<<"分"<<endl;
				 cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].english<70&&arry[i].english>=60)	
			cout<<arry[i].num<< "  "<<arry[i].english<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].english<60)	
				cout<<arry[i].num<< "  "<<arry[i].english<< "  "<<"分"<<endl;}
			if(c==15)
		{
		 cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].mao >=90)	
			cout<<arry[i].num<< "  "<<arry[i].mao<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].mao<90&&arry[i].mao>=70)
			cout<<arry[i].num<< "  "<<arry[i].mao<< "  "<<"分"<<endl;
				 cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].mao<70&&arry[i].mao>=60)	
			cout<<arry[i].num<< "  "<<arry[i].mao<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].mao)	
				cout<<arry[i].num<< "  "<<arry[i].mao<< "  "<<"分"<<endl;}
			if(c==16)
		{
			  cout<<"等级为A的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].vfp >=90)	
			cout<<arry[i].num<< "  "<<arry[i].vfp<< "  "<<"分"<<endl;
					cout<<"等级为B的"<<endl;
			for(i=0;i<128;i++)
				 if(arry[i].vfp<90&&arry[i].vfp>=70)
			cout<<arry[i].num<< "  "<<arry[i].vfp<< "  "<<"分"<<endl;
				 cout<<"等级为C的"<<endl;
			for(i=0;i<128;i++)
			if(arry[i].vfp<70&&arry[i].vfp>=60)	
			cout<<arry[i].num<< "  "<<arry[i].vfp<< "  "<<"分"<<endl;
			cout<<"等级为D的"<<endl;
			for(i=0;i<128;i++)
				if(arry[i].vfp<60)	
				cout<<arry[i].num<< "  "<<arry[i].vfp<< "  "<<"分"<<endl;}
			if(c==110)
			change(b);

			cout<<"是否需要返回主菜单?(Y or N)"<<endl;
			char ch;
			cin>>ch;
			if(ch=='Y'||ch=='y');
				goto e;
			
			return 0;
}



唉,做到后面才发现开始的方向存在一定问题,有部分功能存在着问题,还不知道怎么随机字符变量,保存数据方面还不太好,模块化,还有类的应用,都有点问题,

这程序应该用指针的,但是时间有限,改不了。

有于,姓名,学号未输入,只显示了分数,深感遗憾.....

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值