学生管理系统 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的后括号
学生管理系统 C++课设的更多相关文章
- JAVA课设个人博客--多源数据教学管理系统
JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...
- C语言课设心得分享(一)
今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...
- Java 小型学生管理系统心得
这个学生管理系统相对来说比较简单,主要就是复习下java怎么连接数据库,然后你怎么来实现这个功能,我简单的说下思路吧. 首先你要构思好这个界面,他包括增删查改这些基本功能,然后你去分析这些功能都能怎么 ...
- 学生管理系统开发代码分析笔记:jsp+java bean+servlet技术
1 序言 学习java web的时候很渴望有一份完整的项目给我阅读,而网上的大部分项目拿过来都无法直接用,好不容易找到了一个学生管理系统也是漏洞百出.在此,我将边修改边学习这份代码,并且加上完全的注释 ...
- 如何用 python 优雅地完成数据库课设
0 前言 偶然间发现 Google 收录了学校实验打卡系统的接口,正好要做数据库课设,便拿来作为 environment. 机房居然装了 python ,早就听说 python 写爬虫速度一流,课上的 ...
- Qt5——从零开始的学生管理系统
Qt教程——从零开始的学生管理系统(文件) 一.项目设计 1.需求分析 记录并处理学生成绩信息. 1)添加新的学生数据: 2)根据学号对已有的学生数据进行修改: 3)根据学号删除已存在的学生信息: 4 ...
- C语言学生管理系统
想练习一下链表,所以就有了这个用C写的学生管理系统 没有把它写入文件,才不是因为我懒哈哈哈,主要是为了练习链表的 #include<stdio.h> #include<stdlib. ...
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...
随机推荐
- PHP中http_build_query函数×tamp自动转化为×的解决办法
出现这个原因只是在浏览器上显示的问题,右键查看源代码是没有问题的. 如果不想的看到只要让代码在显示在浏览器之前替换掉就可以了 /** * url地址参数 * @param $arr * @return ...
- pandas常用操作详解——info()与descirbe()
概述 df.info():主要介绍数据集各列的数据类型,是否为空值,内存占用情况: df.describe(): 主要介绍数据集各列的数据统计情况(最大值.最小值.标准偏差.分位数等等). df.in ...
- 发现Compound的第二个严重漏洞
本文转自 发现Compound的第二个严重漏洞 | 登链社区 | 深入浅出区块链技术 (learnblockchain.cn) 这个漏洞原作者在2022年02月23日已经发布过,由于内容比较敏感,发布 ...
- OpenCv基础_一
图片的读取和展示 import cv2 img = cv2.imread('1.jpg') cv2.imshow('img',img) cv2.waitKey(0) cv2.destroyAllWin ...
- kubernetes证书过期处理
rancher中文文档:http://docs.rancher.cn/ k8s中文文档:https://kubernetes.io/zh/docs 一.修改kubeadm 源码 增加证书到100年 $ ...
- phpcms 2008 变量覆盖漏洞
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 3.点击新建项目按钮,弹出对画框中选择(C:\ ...
- Betaflight Configurator开源仓库说明-中文版
Betaflight Configurator Betaflight Configurator是Betaflight飞行控制系统的跨平台配置工具. 它在Google Chrome中作为应用程序运行,允 ...
- python 包之 xlwt 操作 excel 教程
一.安装 pip install xlwt 二.创建表格并写入 创建表格,设置sheet名称 写入指定行列的数据,将表格进行保存 import xlwt # 创建一个workbook并设置编码 wor ...
- bzoj5315/luoguP4517 [JSOI2018]防御网络(仙人掌,dp)
bzoj5315/luoguP4517 防御网络(仙人掌,dp) bzoj Luogu 题目描述略(太长了) 题解时间 本题和斯坦纳树无关. 题面保证了是一个仙人掌...? 但这个环之间甚至交点都没有 ...
- 转-MySQL 数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...