问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++课程设计:学生基本信息管理系统

发布网友 发布时间:2022-04-22 17:18

我来回答

3个回答

热心网友 时间:2023-11-13 17:30

#include<iostream>
#include<fstream>
#include<string>
#include<cstring>
using namespace std;

class Student{ //学生类
private:
string number; //学号
string name; //姓名
int age; //年龄
char sex; //性别
string grade; //班级
public:
Student(); //无参构造
Student(string Num,string Nam,int Age,char Sex,string Gra):number(Num),name(Nam),age(Age),sex(Sex),grade(Gra){}//有参构造
~Student(){} //析构
virtual void Display(); //显示学生信息
virtual void Add(); //声明新增学生对象的函数
virtual int FindRevise(string str) {if(str==number) return 1;else return 0;}
void Setname(string str) {name=str;} //修改姓名
void SetGrade(string str) {grade=str;} //修改班级
};
Student::Student(){ //定义学生类无参构造函数
number="001";
name="Zhangsan";
age=18;
sex='M';
grade="One";
}
void Student::Display(){ //定义显示学生信息函数
cout<<"学号:"<<number<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"年级:"<<grade<<endl;
}
void Student::Add(){ //定义增加学生信息函数
cout<<"请输入"<<endl;
cout<<"学号:";cin>>number;
cout<<"姓名:";cin>>name;
cout<<"年龄:";cin>>age;
cout<<"性别:";cin>>sex;
cout<<"年级:";cin>>grade;
}

class Undergrade:public Student{ //本科生类,继承了学生类
private:
double score1; //成绩1
double score2; //成绩2
double score3; //成绩3
double score4; //成绩4
Student monitor; //班长(学生类)
public:
Undergrade(); //无参构造
Undergrade(string Num,string Nam,int Age,char Sex,string Gra,double s1,double s2,double s3,double s4,Student Mon):Student(Num,Nam,Age,Sex,Gra){
score1=s1;
score2=s2;
score3=s3;
score4=s4;
monitor=Mon;
}//有参构造
virtual void Display_monitor();//定义显示班长信息函数
~Undergrade(){} //析构
void Display();//声明显示本科生类学生信息函数
void Add(); //声明新增本科类学生的函数
virtual void AddMon();//声明增加班长信息的函数
int FindRevise(string str); //用于查找判断该学号是否为该学生 str为学号
void Revise(int n); //修改学生信息,n为需要修改的信息(详细见ReviseMenu)
};
Undergrade::Undergrade(){ //定义本科生类学生无参构造函数
score1=100;
score2=100;
score3=100;
score4=100;
Student t;
monitor=t;
}
void Undergrade::Display_monitor(){ //定义显示本科生信息函数
monitor.Display();
}
void Undergrade::Display(){ //定义显示本科生信息函数
Student::Display();
cout<<"成绩1:"<<score1<<endl;
cout<<"成绩2:"<<score2<<endl;
cout<<"成绩3:"<<score3<<endl;
cout<<"成绩4:"<<score4<<endl;
cout<<"班长:"<<endl;
Display_monitor();
}
void Undergrade::AddMon(){ //定义增加班长信息的函数
monitor.Add();
}
void Undergrade::Add(){ //定义增加本科生信息函数
Student::Add();
cout<<"成绩1:";cin>>score1;
cout<<"成绩2:";cin>>score2;
cout<<"成绩3:";cin>>score3;
cout<<"成绩4:";cin>>score4;
cout<<"班长:"<<endl;
AddMon();
}
int Undergrade::FindRevise(string str){//用于查找判断该学号是否为该学生 str为学号
if(Student::FindRevise(str)) return 1;
else return 0;
}
void Undergrade::Revise(int n){ //修改学生信息 n为修改的具体类型(详情见ReviseMenu)
string str;
switch(n){
case 1:{
cout<<"请输入新姓名:";cin>>str;
Student::Setname(str);
break;
}
case 2:{
cout<<"请输入新班级:";cin>>str;
Student::SetGrade(str);
break;
}
}
}
class Graate:public Student{//研究生类
private:
double scoreA; //成绩a
double scoreB; //成绩b
Student monitor; //班长(学生类)
string res_direction;//研究方向
string res_teacher; //研究导师
double pay;//工资

public:
Graate(); //无参构造
Graate(string Num,string Nam,int Age,char Sex,string Gra,double A,double B,Student Mon,string Dir,string Tea,double Pay):Student(Num,Nam,Age,Sex,Gra){
scoreA=A;
scoreB=B;
monitor=Mon;
res_direction=Dir;
res_teacher=Tea;
pay=Pay;
}//有参构造
void Display_monitor();//声明显示班长信息函数
~Graate(){} //析构
void Display();//声明显示研究生类学生信息函数
void Add();//新增学生信息
void AddMon();//新增班长信息
int FindRevise(string str);//用于查找判断该学号是否为该学生 str为学号
void Revise(int n);//修改学生信息 n为修改的具体类型(详情见ReviseMenu)
};
Graate::Graate(){ //定义研究生类学生无参构造函数
scoreA=100;
scoreB=100;
Student t;
monitor=t;
res_direction="Zhang";
res_teacher="Zhang";
pay=999;
}
void Graate::Display_monitor(){ //定义显示班长信息函数
monitor.Display();
}

void Graate::Display(){ //定义显示研究生信息函数
Student::Display();
cout<<"成绩A:"<<scoreA<<endl;
cout<<"成绩B:"<<scoreB<<endl;
cout<<"班长:"<<endl;
Display_monitor();
cout<<"研究方向:"<<res_direction<<endl;
cout<<"研究导师:"<<res_teacher<<endl;
cout<<"工资:"<<pay<<endl;
}
void Graate::AddMon(){//定义增加班长信息的函数
monitor.Add();
}
void Graate::Add(){ //定义增加研究生信息函数
Student::Add();
cout<<"成绩A:";cin>>scoreA;
cout<<"成绩B:";cin>>scoreB;
cout<<"班长:"<<endl;
AddMon();
cout<<"研究方向:";cin>>res_direction;
cout<<"研究导师:";cin>>res_teacher;
cout<<"工资:";cin>>pay;
}
int Graate::FindRevise(string str){//用于查找判断该学号是否为该学生 str为学号
if(Student::FindRevise(str)) return 1;
else return 0;
}
void Graate::Revise(int n){ //修改学生信息 n为修改的具体类型(详情见ReviseMenu)
string str;
switch(n){
case 1:{
cout<<"请输入新姓名:";cin>>str;
Student::Setname(str);
break;
}
case 2:{
cout<<"请输入新班级:";cin>>str;
Student::SetGrade(str);
break;
}
}
}

void MainMenu() //主菜单
{
cout<<"\n\t学 生 管 理 系 统";
cout<<"\n*******************************\n";
cout<<" \t1.添加新本科类学生\n";
cout<<" \t2.添加新研究生类学生\n";
cout<<" \t3.显示本科类学生信息\n";
cout<<" \t4.显示研究生类学生信息\n";
cout<<" \t5.修改本科类学生信息\n";
cout<<" \t6.修改研究生类学生信息\n";
cout<<" \t7.删除本科类学生信息\n";
cout<<" \t8.删除研究生类学生信息\n";
cout<<" \t9.\n";
cout<<" \t10.\n";

cout<<"\n*******************************\n";
cout<<"请选择:";
}
void ReviseMenu() //定义修改学生信息的函数
{
cout<<"\n***************************\n";
cout<<"1.修改姓名\n";
cout<<"2.修改班级";
cout<<"\n***************************\n";
cout<<"请选择:";
}

int main()
{
Undergrade UndGra[100]; //定义本科生对象数组
int UndGraVis[100];//用于判断本科生是否存在
Graate Gra[100]; //定义研究生对象数组
int GraVis[100];//用于判断研究生是否存在
int i,UndGraPeo=1,GraPeo=1,a[2];
memset(UndGraVis,1,sizeof(UndGraVis));
memset(GraVis,1,sizeof(GraVis));

while(1)
{
MainMenu();
int c;
cin>>c;
cout<<endl;
switch(c)
{
case 1:{//新增本科生
UndGra[UndGraPeo].Add();
cout<<"已成功添加!"<<endl;
UndGraPeo++;
break;
}
case 2:{//新增研究生
Gra[GraPeo].Add();
cout<<"已成功添加!"<<endl;
GraPeo++;
break;
}
case 3:{//显示本科生
if(UndGraPeo==1) cout<<"无记录!\n";
else{
for(i=1;i<UndGraPeo;i++){
if(!UndGraVis[i]) continue;
UndGra[i].Display();
cout<<endl;
}
}
break;
}
case 4:{//显示研究生
if(GraPeo==1) cout<<"无记录!\n";
else{
for(i=1;i<GraPeo;i++){
if(!GraVis[i]) continue;
Gra[i].Display();
cout<<endl;
}
}
break;
}
case 5:{//修改本科生信息
ReviseMenu();
int n; cin>>n;
string str;
int num=0;
cout<<"请输入该学生学号:";cin>>str;
for(i=1;i<UndGraPeo;i++){
if(UndGra[i].FindRevise(str)) {num=i;break;}
}
if(num==0||!UndGraVis[num]) {cout<<"输入错误!"<<endl;break;} //未找到该学生
else UndGra[num].Revise(n);
cout<<"修改成功!"<<endl;
break;
}
case 6:{//修改研究生信息
ReviseMenu();
int n; cin>>n;
string str;
int num=0;
cout<<"请输入该学生学号:";cin>>str;
for(i=1;i<GraPeo;i++){
if(Gra[i].FindRevise(str)) {num=i;break;}
}
if(num==0||!GraVis[num]) {cout<<"输入错误!"<<endl;break;}
else Gra[num].Revise(n);
cout<<"修改成功!"<<endl;
break;
}
case 7:{//删除本科生信息
string str;
int num=0;
cout<<"请输入该学生学号:";cin>>str;
for(i=1;i<UndGraPeo;i++){
if(UndGra[i].FindRevise(str)) {num=i;break;}
}
if(num==0||!UndGraVis[num]) {cout<<"输入错误!"<<endl;break;} //未找到该学生
else UndGraVis[num]=0;
cout<<"已删除!"<<endl;
break;
}
case 8:{//删除研究生信息
string str;
int num=0;
cout<<"请输入该学生学号:";cin>>str;
for(i=1;i<GraPeo;i++){
if(Gra[i].FindRevise(str)) {num=i;break;}
}
if(num==0||!GraVis[num]) {cout<<"输入错误!"<<endl;break;} //未找到该学生
else GraVis[num]=0;
cout<<"已删除!"<<endl;
break;
}
default:cout<<"输入错误!\n";
}
}
return 0;
}

这可绝对可用 我们刚刚 做完这个

热心网友 时间:2023-11-13 17:30

本书是《程序设计基础——C++》一书的配套用书,主要包含3部分内容:实验指导、课程设计和《程序设计基础——C++》的习题参*。
 
  在课程设计部分,包含1O个课程设计题目,选材丰富,趣味性强,知识点覆盖面宽,在实际项目的设计中具有较强的指导性,提供设计步骤和部分代码,并提出改进建议,引导读者在此基础上进一步改进和完善功能。
 在习题参*部分,提供《程序设计基础——C++》一书的全部习题答案,并对某些难度较大的习题给出分析或注释。
 本书可作为高等院校计算机专业本科教材。由于本书具有较强的指导性和实用性,也可作为计算机爱好者的自学用书。
目录:
第1部分 实验指导 
实验1 简单编程练习 
  1.1 实验目的与要求   
  1.2 实验内容 
  1.3 实验步骤 
  1.4 实验提示信息 
  1.5 思考题 
 实验2 控制结构编程练习 
  2.1 实验目的与要求 
  2.2 实验内容 
  2.3 实验步骤 
  2.4 实验提示信息 
  2.5 思考题 
 实验3 数组 
  3.1 实验目的与要求 
  3.2 实验内容 
  3.3 实验步骤 
  3.4 实验提示信息 
  3.5 思考题 
 实验4 函数 
  4.1 实验目的与要求 
  4.2 实验内容 
  4.3 实验步骤 
  4.4 实验提示信息 
  4.5 思考题 
 实验5 指针与字符串 
  5.1 实验目的与要求 
  5.2 实验内容 
  5.3 实验步骤 
  5.4 实验提示信息 
  5.5 思考题 
 实验6 结构及其他 
  6.1 实验目的与要求 
  6.2 实验内容 
  6.3 实验步骤 
  6.4 实验提示信息 
  6.5 思考题 
 实验7 类与对象 
  7.1 实验目的与要求 
  7.2 实验内容 
  7.3 实验步骤 
  7.4 实验提示信息 
  7.5 思考题 
 实验8 继承与派生 
  8.1 实验目的与要求 
  8.2 实验内容 
  8.3 实验步骤 
  8.4 实验提示信息 
  8.5 思考题 
 实验9 多态性 
  9.1 实验目的与要求 
  9.2 实验内容 
  9.3 实验步骤 
  9.4 实验提示信息 
  9.5 思考题 
 实验10 模板与异常 
  10.1 实验目的与要求 
  10.2 实验内容 
  10.3 实验步骤 
  10.4 实验提示信息 
  10.5 思考题 
 实验11 C++流与文件流 
  11.1 实验目的与要求 
  11.2 实验内容 
  11.3 实验步骤 
  11.4 实验提示信息 
  11.5 思考题 
第2部分 课程设计 
 项目1 简单计算器 
  1.1 目标与要求 
  1.2 分析 
  1.3 实现步骤 
  1.4 测试与思考 
 项目2 多项式相加问题 
  2.1 目标与要求 
  2.2 分析 
  2.3 实现步骤 
  2.4 测试与思考 
 项目3 平面游戏——陨石撞飞机 
  3.1 目标与要求  
  3.2 分析 
  3.3 实现步骤 
  3.4 测试与思考 
 项目4 基于OpenGL的三维动画设计——荡秋千 
  4.1 目标与要求 
  4.2 分析 
  4.3 实现步骤 
  4.4 测试与思考 
 项目5 电话号码簿 
  5.1 目标与要求 
  5.2 分析 
  5.3 实现步骤 
  5.4 测试与思考 
 项目6 纸牌游戏——“21点” 
  6.1 目标与要求 
  6.2 分析 
  6.3 实现步骤 
  6.4 测试与思考 
 项目7 音像店 
  7.1 目标与要求 
  7.2 分析 
  7.3 实现步骤 
  7.4 测试与思考 
 项目8 小小图书馆 
  8.1 目标与要求 
  8.2 分析 
  8.3 实现步骤 
  8.4 测试与思考 
 项目9 图像编辑器 
  9.1 目标与要求 
  9.2 分析 
  9.3 实现步骤 
  9.4 总结与思考 
 项目10 学生信息管理系统 
  10.1 目标与要求 
  10.2 分析 
  10.3 实现步骤 
  10.4 测试与思考 
第3部分 习题参* 

热心网友 时间:2023-11-13 17:31

本书是《程序设计基础——C++》一书的配套用书,主要包含3部分内容:实验指导、课程设计和《程序设计基础——C++》的习题参*。
 
  在课程设计部分,包含1O个课程设计题目,选材丰富,趣味性强,知识点覆盖面宽,在实际项目的设计中具有较强的指导性,提供设计步骤和部分代码,并提出改进建议,引导读者在此基础上进一步改进和完善功能。
 在习题参*部分,提供《程序设计基础——C++》一书的全部习题答案,并对某些难度较大的习题给出分析或注释。
 本书可作为高等院校计算机专业本科教材。由于本书具有较强的指导性和实用性,也可作为计算机爱好者的自学用书。
目录:
第1部分 实验指导 
实验1 简单编程练习 
  1.1 实验目的与要求   
  1.2 实验内容 
  1.3 实验步骤 
  1.4 实验提示信息 
  1.5 思考题 
 实验2 控制结构编程练习 
  2.1 实验目的与要求 
  2.2 实验内容 
  2.3 实验步骤 
  2.4 实验提示信息 
  2.5 思考题 
 实验3 数组 
  3.1 实验目的与要求 
  3.2 实验内容 
  3.3 实验步骤 
  3.4 实验提示信息 
  3.5 思考题 
 实验4 函数 
  4.1 实验目的与要求 
  4.2 实验内容 
  4.3 实验步骤 
  4.4 实验提示信息 
  4.5 思考题 
 实验5 指针与字符串 
  5.1 实验目的与要求 
  5.2 实验内容 
  5.3 实验步骤 
  5.4 实验提示信息 
  5.5 思考题 
 实验6 结构及其他 
  6.1 实验目的与要求 
  6.2 实验内容 
  6.3 实验步骤 
  6.4 实验提示信息 
  6.5 思考题 
 实验7 类与对象 
  7.1 实验目的与要求 
  7.2 实验内容 
  7.3 实验步骤 
  7.4 实验提示信息 
  7.5 思考题 
 实验8 继承与派生 
  8.1 实验目的与要求 
  8.2 实验内容 
  8.3 实验步骤 
  8.4 实验提示信息 
  8.5 思考题 
 实验9 多态性 
  9.1 实验目的与要求 
  9.2 实验内容 
  9.3 实验步骤 
  9.4 实验提示信息 
  9.5 思考题 
 实验10 模板与异常 
  10.1 实验目的与要求 
  10.2 实验内容 
  10.3 实验步骤 
  10.4 实验提示信息 
  10.5 思考题 
 实验11 C++流与文件流 
  11.1 实验目的与要求 
  11.2 实验内容 
  11.3 实验步骤 
  11.4 实验提示信息 
  11.5 思考题 
第2部分 课程设计 
 项目1 简单计算器 
  1.1 目标与要求 
  1.2 分析 
  1.3 实现步骤 
  1.4 测试与思考 
 项目2 多项式相加问题 
  2.1 目标与要求 
  2.2 分析 
  2.3 实现步骤 
  2.4 测试与思考 
 项目3 平面游戏——陨石撞飞机 
  3.1 目标与要求  
  3.2 分析 
  3.3 实现步骤 
  3.4 测试与思考 
 项目4 基于OpenGL的三维动画设计——荡秋千 
  4.1 目标与要求 
  4.2 分析 
  4.3 实现步骤 
  4.4 测试与思考 
 项目5 电话号码簿 
  5.1 目标与要求 
  5.2 分析 
  5.3 实现步骤 
  5.4 测试与思考 
 项目6 纸牌游戏——“21点” 
  6.1 目标与要求 
  6.2 分析 
  6.3 实现步骤 
  6.4 测试与思考 
 项目7 音像店 
  7.1 目标与要求 
  7.2 分析 
  7.3 实现步骤 
  7.4 测试与思考 
 项目8 小小图书馆 
  8.1 目标与要求 
  8.2 分析 
  8.3 实现步骤 
  8.4 测试与思考 
 项目9 图像编辑器 
  9.1 目标与要求 
  9.2 分析 
  9.3 实现步骤 
  9.4 总结与思考 
 项目10 学生信息管理系统 
  10.1 目标与要求 
  10.2 分析 
  10.3 实现步骤 
  10.4 测试与思考 
第3部分 习题参* 
是否可以解决您的问题?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
纯种萨摩和不纯的萨摩的区别 不是纯种萨摩,长大成型后和纯种萨摩外表一样吗 学播音主持和配音哪个更赚钱,各有各的长处 学播音真的能改变声音吗,会让自己的普通话更加标准 学习播音和配音的作用,可以提升自信和气质 普通人学配音有没有用,有兴趣则有用 什么是永诚财产保险股份有限公司 win10电脑升级不了ie11win10怎么升级ie11 电脑硬件保修哪些电脑硬件保修包括什么 电脑固态硬盘质保几年一般的电脑保修时间是多久 C语言课程设计&quot;学生信息管理系统设计 &quot;怎么做? 课程设计:学生基本信息管理系统 氢能源的发展前景 广州发布氢能产业发展规划 到2030年建成100座加氢站 呼和浩特市发布氢能源发展规划征求意见 【汽车人】氢能产业可能爆发吗? 氢能源是什么能源 氢能利用形式都有什么? 氢能和燃料电池产业爆发前夜,如何突破瓶颈? 发改委:探索在氢能应用规模较大的地区设立制氢基地 氢能有什么作用? 氢能产业或于2025年迎拐点 无碳制氢是大方向 怎样开发氢能? 氢气房子怎么建 我班一女生左手食指戴戒指是什么意义?祥细些. 女生左手食指带戒指有什么含义吗?求答案 女生把戒指戴在左手食指上有什么含义? 女生左手食指带戒指是什么意思 女性在左手的食指带戒指有什么含义。在线等答案! 食指戴戒指什么意思?女生左手戴戒指的含义? C语言课程设计 学生信息管理系统 报告 C++课程设计:学生基本信息管理系统的设计与实现 Java实现学生简易信息管理系统 编写C++课程设计学生信息管理系统 C++课程设计 学生信息管理系统 请问各路大神,我在做大一的课程设计,就是做一个学生信息管理系统,信息头是什么意思怎么加? C语言课程设计----学生学籍管理系统 c语言课程设计 学生信息管理系统模拟 C++设计一个学生信息管理系统 课程设计:学生信息管理系统 或者酒店管理系统 求C++课程设计 学生信息管理系统 C#课程设计——学籍管理信息系统 404 Not Found 用C语言设计一个学生信息查询系统程序 c++课程设计学生学籍系统管理 帮婴儿做头部按摩的好处有哪些? 给婴儿抚触的好处有哪些? 新生儿可以给他按摩脚底吗 你觉得给婴儿找按摩师做按摩有必要吗? 对新生儿要按需哺乳有什么科学根据,为什么要这样?