学生管理系统 C++课设
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> using namespace std; //////////////////////////////课程类///////////////////////////////////////////// class course { private: int num; char name[10]; char teachername[10]; int time; public: friend class grade; course() { num=1; strcpy(name,"c++"); strcpy(teachername,"утеТ"); time=100; } course(int nu,char na[],char tn[],int ti) { num=nu; strcpy(name,na); strcpy(teachername,tn); time=ti; } void Set() { cout<<"Please input number,course name,teachername and study time:"<<endl; cin>>num>>name>>teachername>>time; } void show() { cout<<"number="<<num<<endl <<"course name="<<name<<endl <<"teachername="<<teachername<<endl <<"study time="<<time<<endl; } int num1(){return num;} }; //////////////////////////////成绩类///////////////////////////////////////////// class grade { private: int score,cid; char id[9]; public: grade() { strcpy(id,"无"); cid=0; score=0; } grade(int a,char b[],int c) { strcpy(id,b); cid=c; score=a; } void in() { cout<<"按“课程名称”“课程编号”“学生成绩”的顺序输入)"<<endl; cin>>id>>cid>>score; } void out() { cout<<"课程名称 "<<id<<" 课程编号 "<<cid<<" 学生成绩 "<<score<<endl; } int Cid() { return cid; } void C(course a) { cid=a.num; //strcpy() } }; //////////////////////////////////学生类/////////////////////////////////////////////////////// class student { private: int num; char name[30]; int Class; char id[20]; grade c[10]; course d[10]; public: student() { num=20180000; strcpy(name,"xxx"); Class=1; strcpy(id,"123456789123456789"); } /* student(int a,char b[],int c,char d) { num=a; Class=c; strcpy(name,b); strcpy(id,d); count++; }*/ void setsubject(course &p,int a) { d[a]=p; c[a].C(p); } void set() { cout<<"按“学号”“姓名”“班级”“身份证号”的顺序输入"<<endl; cin>>num>>name>>Class>>id; int i; for(i=0;i<10;i++) { if(c[i].Cid()!=0)c[i].in(); } } void dis()//学生全部信息输出 { cout<<"学号 "<<num<<" 姓名 "<<name<<" 班级 "<<Class<<" 身份证号 "<<id<<endl; int i; for(i=0;i<10;i++) { if(c[i].Cid()!=0) { c[i].out(); d[i].show(); } } } void out() { int i; for(i=0;i<10;i++) //if(c[i].Cid()!=0) c[i].out(); } int Cid()//返回课程编号 { int i; for(i=0;i<10;i++) { if(c[i].Cid()!=0) { return c[i].Cid(); } } } int Num()//返回学号 { return num; } course Sub(int a)//返回课程数据 { return d[a]; } void in()//修改学生成绩 { int i; for(i=0;i<10;i++) { if(c[i].Cid()!=0) { c[i].in(); } } } }; int main() { int x,y,i=0,j=0; student a[10]; course c[10]; index: cout<<" *********欢迎使用学生管理系统*********"<<endl; cout<<" 您是教师还是学生? "<<endl; cout<<" 1.教师 2.学生 "<<endl; cin>>x; while(1) { ////////////////////////////教师部分/////////////////////////////////////// if(x==1) { xx: cout<<"1.处理学生数据 2.处理课程数据 3.返回上一级"<<endl; cin>>y; if(y==3)goto index; ////////////////////////教师处理课程部分///////////////////////////////////// if(y==2) { cout<<"1.录入课程信息 2.显示当前课程信息 3.返回上一级 4.返回主菜单 5.退出系统"<<endl; int z; cin>>z; /////////////////////////教师录入课程信息//////////////////////////////////////// if(z==1) { c[j].Set(); while(1) { char b; cout<<"是否需要继续录入课程数据(y/n)"; cin>>b; if(b=='y') { j++; c[j].Set(); } else break; } } /////////////////////////教师查看所有课程信息//////////////////////////////////// if(z==2&&i==0)cout<<"暂无"<<endl; if(z==4)goto index; if(z==3)goto index; if(z==5) { cout<<"谢谢使用"<<endl; exit(0); } } /////////////////////////教师处理学生信息部分/////////////////////////////////// if(y==1) { while(1) { cout<<"1、录入学生数据 2、显示学生数据 3、返回上一级 4、返回主菜单 5、退出系统 "<<endl; int c; cin>>c; if(c==2&&i==0)cout<<"暂无"<<endl; if(c==4)goto index; if(c==3)goto xx; if(c==5) { cout<<"谢谢使用"<<endl; exit(0); } /////////////////////教师录入学数据//////////////////////////////////////// while(1) { if(c==1) { cout<<"1.录入学生基本信息 2.录入学生成绩"<<endl; int b; cin>>b; if(b==1) { a[i].set(); ///////////////////////////////////////////////////////////////////////// i++; while(1) { char b; cout<<"是否需要继续录入学生数据(y/n)"; cin>>b; if(b=='y') { a[i].set(); i++; } else break; } break; } if(b==2) { int j; for(j=0;j<10;j++) { a[j].out(); cout<<"请输入需要修改成绩的科目的编号"<<endl; int s; cin>>s; int k; for(k=0;k<10;k++) { if(s==a[j].Cid())a[j].in(); } } } } ///////////////////////////教师查看学生数据/////////////////////////////// if(c==2) { int j; for(j=0;j<i;j++) if(a[j].Num()!=20180000)a[j].dis(); break; } }//while的循环后括号 }//while的循环后括号 }//if的后括号 }//if的后括号 ////////////////////////////学生部分/////////////////////////////////////// if(x==2) { cout<<"请输入您的学号"<<endl; long b; cin>>b; int j; for(j=0;j<10;j++) { if(a[j].Num()==b) { cout<<"1.选课 2.查看成绩 3.返回上一级 4.退出系统"<<endl; int s; cin>>s; if(s==4) { cout<<"谢谢使用"<<endl; exit(0); } if(s==3)goto index; /////////////////////////学生选课部分/////////////////////////////////////// if(s==1) { int l; for(l=0;l<10;l++) //if(c[l].Bh()!=0)c[l].Show(); cout<<"请输入您想要选的课的课程编号"<<endl; int q; cin>>q; while(1) { for(int k=0;k<10;k++) { a[j].setsubject(c[q-1],k); cout<<"是否需要继续选课(y/n)"<<endl; char w; cin>>w; if(w=='y') { int m; for(m=0;m<10;m++) if(c[m].num1()!=0)c[m].show(); cout<<"请输入您想要选的课的课程编号"<<endl; cin>>q; } if(w!='y')goto index; } } } //////////////////////////学生查看成绩部分/////////////////////////////////// if(s==2) { a[j].out(); } }//确认学生信息后操作的后括号 }//for的后括号 }//if的后括号,学生部分的后括号 }//while的后括号 }//main的后括号
本文来自博客园,作者:王回甘,转载请注明原文链接:https://www.cnblogs.com/WScoconut/p/16082358.html