⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 主.cpp

📁 学生成绩统计系统的设计
💻 CPP
字号:
#include<iostream.h> 
#include<string.h> 
#include<iomanip.h> 
#include<conio.h> 
#include<iostream> 
struct student //定义一个学生结构体 
{ char name[8]; 
int num; 
char bj[20]; 
int GS,YY,JSJ,SUM; }; 
int s=0; 
class student1 //定义一个学生类 
{ 
private: 
	student stu[40]; 
char name,bj; 
int num; 
int GS,YY,JSJ,SUM; 
public: 
void sr(char *,int,char *,int,int,int); 
void print(int); 
int jc(int xxh) 
{ int m=0; 
while(m<=s+1) 
if(xxh==stu[m++].num) break; 
if(m>s+1) return 0; 
else 
return 1; } 
void cz(int); 
void sc(int); 
void sum(int); }; 
void student1::sr(char *xm,int xh,char *dz,int gs,int yy,int jsj) //输入模块 
{ strcpy(stu[s].name,xm); 
stu[s].num=xh; strcpy(stu[s].bj,dz); stu[s].GS=gs; 
stu[s].YY=yy; 
stu[s].JSJ=jsj; } 
void student1::print(int s) //输出模块 
{ cout<<s<<"\t"; 
cout<<stu[s].name<<"\t"; 
cout<<stu[s].num<<"\t"; 
cout<<stu[s].bj<<"\t"; 
cout<<stu[s].GS<<"\t"; 
cout<<stu[s].YY<<"\t"; 
cout<<stu[s].JSJ<<"\t"; cout<<endl; } 
void student1::cz(int s) //查找模块 
{ int xxh,p; 
while(s==0) 
{ cout<<"没有记录,请先输入记录!"<<endl; 
break; } 
if(s!=0) 
{cout<<"请输入您要查找的学号:"; 
cin>>xxh; 
while (xxh<100000||xxh>999999) //判断输入的学号是否正确 
{ cout<<"您输入的学号不正确,请输入一个六位数的学号"<<endl; 
cin>>xxh; } while(s!=0) //查找是否有符合条件的记录 
{ p=1; 
if (xxh==stu[s].num) 
{ cout<<"姓名\t学号\t班级\t高数\t英语\t计算机"<<endl; 
cout<<stu[s].name<<"\t"; 
cout<<stu[s].num<<"\t"; 
cout<<stu[s].bj<<"\t"; 
cout<<stu[s].GS<<"\t"; 
cout<<stu[s].YY<<"\t"; 
cout<<stu[s].JSJ<<endl; 
getch(); break; } 
else 
p=0; s--; } if(p==0) 
cout<<"很抱歉,没有找到您要查找的学号!"<<endl;} 
getch(); } 
void student1::sc(int n) //删除模块 
{ int xxh,p; 
char da; 
while(s==0) 
{ cout<<"没有记录,请先输入记录!"<<endl; break; } 
if(s!=0) 
{ cout<<"请输入您要删除的学号:"; 
cin>>xxh; 
while (xxh<100000||xxh>999999) 
{ cout<<"您输入的学号不正确,请您输入一个六位数的学号" <<endl; 
cin>>xxh; } 
for(int i=1;i<=n;i++) 
{ if(stu[i].num!=xxh) p=0; 
if(stu[i].num==xxh) 
{ cout<<"姓名\t学号\t班级\t高数\t英语\t计算机"<<endl; 
cout<<stu[i].name<<"\t"; 
cout<<stu[i].num<<"\t"; 
cout<<stu[i].bj<<"\t"; 
cout<<stu[i].GS<<"\t"; 
cout<<stu[i].YY<<"\t"; 
cout<<stu[i].JSJ<<endl; 
cout<<"您确实要删除该学生的记录吗?(y/n)"; 
cin>>da; 
if(da=='y'||da=='Y') 
{ for(int j=i;j<=n-1;j++) //删除记录 
{ strcpy(stu[j].name,stu[j+1].name); 
stu[j].num=stu[j+1].num; 
strcpy(stu[j].bj,stu[j+1].bj); 
stu[j].GS=stu[j+1].GS; 
stu[j].YY=stu[j+1].YY; 
stu[j].JSJ=stu[j+1].JSJ; } 
cout<<"该记录已删除!"<<endl; s=s-1; p=1; break; } 
else 
{ cout<<"该记录未删除!"<<endl; 
p=1; } } } 
if(p==0) cout<<"很抱歉,没有找到您要找的学号!"<<endl; } 
getch(); } 
void student1::sum(int s) //排序模块 
{ int chang; 
int b[40]; 
while(s==0) 
{ cout<<"没有记录,请先输入记录!"<<endl; break; 
} if(s!=0) 
{ cout<<"姓名\t学号\t班级\t英语\t"; 
cout<<"高数\t计算机\t总分"<<endl; 
for(int k=1;k<=s;k++) 
{ b[k]=stu[k].GS+stu[k].YY+stu[k].JSJ; 
stu[k].SUM=stu[k].GS+stu[k].YY+stu[k].JSJ; 
} for(int i=1;i<=s;i++) //利用冒泡法对B[]进行排序 
for(int j=1;j<=s-i;j++) 
if(b[j]<b[j+1]) 
{ chang=b[j]; 
b[j]=b[j+1]; 
b[j+1]=chang; } 
for(int h=1;h<=s;h++) //输出与B[]中相同总分所对应的内容 
for(int e=1;e<=s;e++) 
if(b[h]==stu[e].SUM) 
{ cout<<stu[e].name<<"\t"; 
cout<<stu[e].num<<"\t"; 
cout<<stu[e].bj<<"\t"; 
cout<<stu[e].YY<<"\t"; 
cout<<stu[e].GS<<"\t"; 
cout<<stu[e].JSJ<<"\t"; 
cout<<stu[e].SUM<<endl; } } 
getch(); 
} void main() 
{ student1 st; 
char da,a; 
char *xm,*dz; 
int gs,yy,jsj,xh; 
time_t t; 
while(1) 
{ system("cls"); 
cout<<endl; 
cout<<" 学生信息管理"<<endl; 
cout<<"1.添加学生资料"<<' '; 
cout<<"2.显示学生资料"<< ' '; 
cout<<"3.查找"<<' '; 
cout<<"4.删除"<<' '; 
cout<<"5.按总分进行排序"<<endl; 
cout<<"6.退出"<<endl; 
cout<<"请选择操作(1-6)"<<endl; 
cin>>a; 
t: if(a=='6') break; 
switch (a) 
{ case '1': 
{ cout<<"请依次输入学生的姓名,学号,班级,高数,英语,计算机:"<<endl; 
xm=new char[];dz=new char[]; cin>>xm>>xh>>dz>>gs>>yy>>jsj; 
while(st.jc(xh)) //调用JC模块判断学号是否重复 
{ cout<<"学号重复,请重新输入!"<<endl; 
cin>>xh; } 
s=s+1; 
st.sr(xm,xh,dz,gs,yy,jsj); 
cout<<"是否继续输入?(y/n)"; 
cin>>da; 
while (da=='y'||da=='Y') //判断是否要继续输入 
{ cout<<"请依次输入学生的姓名,学号,班级,高数,英语,计算机:"<<endl; 
xm=new char[];dz=new char[]; 
cin>>xm>>xh>>dz>>gs>>yy>>jsj; 
while(st.jc(xh)) 
{ cout<<"学号重复,请重新输入!"<<endl; 
cin>>xh; } 
s=s+1; 
st.sr(xm,xh,dz,gs,yy,jsj); 
cout<<"是否继续输入?(y/n)"; 
cin>>da; } 
getch(); 
};break; 
case '2': 
{ if(s==0) //判断是否有记录输入 
{ cout<<"没有记录,请先输入记录!"<<endl; getch(); break; } 
if(s!=0) 
{ cout<<"序号"<<"\t"; cout<<"姓名"<<"\t"; cout<<"学号"<<"\t"; 
cout<<"班级"<<"\t"; 
cout<<"高数"<<"\t"; 
cout<<"英语"<<"\t"; 
cout<<"计算机"<<endl; 
for(int i=1;i<=s;i++) 
st.print(i); 
getch(); } }; 
break; 
case '3':st.cz(s);break; 
case '4':st.sc(s); 
break; 
case '5':st.sum(s);break; default: 
{ while(a=='0'||a>'6') //判断选项是否正确 
{ cout<<"错误选项,请重新选择!"<<endl; 
cin>>a; } goto t; };break; } } 
cout<<"谢谢您的使用!"<<endl; } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -