学生管理系统C++版(简单版)详解

ops/2025/1/23 17:59:43/

有错请指出

啊~,答应大家的来了

头文件:

#include<iostream>
#include<stdlib.h>
#include<windows.h>

iostream是标准头文件,stdlib.h也可以写成cstdlib,windows.h,用Sleep

数据定义:

int x,y=0;//x是输入,y是xm的下标,初始化y为0

详解见代码。 

结构体类型:

struct Student
{char name[100];//名字int age;//年龄char sex;//性别int Maths;//数学成绩int Chinese;//语文成绩int English;//英语成绩
}xm[10000]; 

详解见代码。  

函数:

添加学生:

void add_student()//添加学生
{cout<<"请输入名字:";cin>>xm[y].name;cout<<"请输入年龄:";cin>>xm[y].age;cout<<"请输入性别(男输入m,女输入f):";cin>>xm[y].sex;y++;
}

y++指个数+1 

删除最后一个学生 :
 

void del_student()//删除最后一个学生 
{if(y>0){y--;}else{cout<<"没有学生可删除!"<<endl;}
}

y--是人数-1,在输入时就会覆盖 

添加成绩 :

void add_score()//添加成绩 
{cout<<"你要输入序号为多少的?";int v;cin>>v;//输入序号if(v<0 || v>=y){cout<<"序号超出范围!"<<endl;return;}cout<<"请输入数学成绩:";cin>>xm[v].Maths;cout<<"请输入语文成绩:";cin>>xm[v].Chinese;cout<<"请输入英语成绩:";cin>>xm[v].English;
} 

额····没什么可说的 

列出表格:
 

void list_column()//列出表格    
{for(int i=0;i<y;i++){cout<<"姓名:"<<xm[i].name<<endl;cout<<"年龄:"<<xm[i].age<<endl;cout<<"性别:"<<xm[i].sex<<endl;cout<<"数学成绩:"<<xm[i].Maths<<endl;cout<<"语文成绩:"<<xm[i].Chinese<<endl;cout<<"英语成绩:"<<xm[i].English<<endl;cout<<endl;}
}

 额····同上

清屏函数:

void clearScreen()//清屏函数
{system("cls");
}

这个是个充数的 

main:

int main()
{cout<<"\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t";cout<<"欢迎使用学生管理系统!";Sleep(3000);clearScreen();while(1){cout<<"+----------------------------+\n";cout<<"|请选择您需要的功能            |\n";cout<<"|1.添加学生                   |\n";cout<<"|2.删除最后一个学生            |\n";cout<<"|3.添加成绩                   |\n";cout<<"|4.列出表格                   |\n";cout<<"|0.退出                       |\n";cout<<"+----------------------------+\n";cin>>x;switch(x){case 1:add_student();break;case 2:del_student();Sleep(500);//等待,让用户看见break;case 3:add_score();break;case 4:list_column();Sleep(10000);//等待,让用户看见break;case 0:cout<<"真的退出吗?\n1.是\n2.我打错了\n";int asdf;cin>>asdf;switch (asdf) {case 1:return 0;case 2:break;default:cout<<"输出错误"<<endl;Sleep(1000);//等待,让用户看见break;}break;default:cout<<"输出错误"<<endl;Sleep(1000);//等待,让用户看见break;}clearScreen();}return 0;//结束
}

一个死循环,一个Switch,差不多了~~~~~ 

完整代码:

//学生管理系统C++版
//头文件
#include<iostream>
#include<stdlib.h>
#include<windows.h>
using namespace std;int x,y=0;//x是输入,y是xm的下标,初始化y为0//创建Student类型
struct Student
{char name[100];//名字int age;//年龄char sex;//性别int Maths;//数学成绩int Chinese;//语文成绩int English;//英语成绩
}xm[10000];void add_student()//添加学生
{cout<<"请输入名字:";cin>>xm[y].name;cout<<"请输入年龄:";cin>>xm[y].age;cout<<"请输入性别(男输入m,女输入f):";cin>>xm[y].sex;y++;
}void del_student()//删除最后一个学生 
{if(y>0){y--;}else{cout<<"没有学生可删除!"<<endl;}
}void add_score()//添加成绩 
{cout<<"你要输入序号为多少的?";int v;cin>>v;//输入序号if(v<0 || v>=y){cout<<"序号超出范围!"<<endl;return;}cout<<"请输入数学成绩:";cin>>xm[v].Maths;cout<<"请输入语文成绩:";cin>>xm[v].Chinese;cout<<"请输入英语成绩:";cin>>xm[v].English;
} void list_column()//列出表格    
{for(int i=0;i<y;i++){cout<<"姓名:"<<xm[i].name<<endl;cout<<"年龄:"<<xm[i].age<<endl;cout<<"性别:"<<xm[i].sex<<endl;cout<<"数学成绩:"<<xm[i].Maths<<endl;cout<<"语文成绩:"<<xm[i].Chinese<<endl;cout<<"英语成绩:"<<xm[i].English<<endl;cout<<endl;}
}void clearScreen()//清屏函数
{system("cls");
}int main()
{cout<<"\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t";cout<<"欢迎使用学生管理系统!";Sleep(3000);clearScreen();while(1){cout<<"+-----------------------------+\n";cout<<"|请选择您需要的功能           |\n";cout<<"|1.添加学生                      |\n";cout<<"|2.删除最后一个学生           |\n";cout<<"|3.添加成绩                   |\n";cout<<"|4.列出表格                   |\n";cout<<"|0.退出                       |\n";cout<<"+-----------------------------+\n";cin>>x;switch(x){case 1:add_student();break;case 2:del_student();Sleep(500);//等待,让用户看见break;case 3:add_score();break;case 4:list_column();Sleep(10000);//等待,让用户看见break;case 0:cout<<"真的退出吗?\n1.是\n2.我打错了\n";int asdf;cin>>asdf;switch (asdf) {case 1:return 0;case 2:break;default:cout<<"输出错误"<<endl;Sleep(1000);//等待,让用户看见break;}break;default:cout<<"输出错误"<<endl;Sleep(1000);//等待,让用户看见break;}clearScreen();}return 0;//结束
}

——————————————————————————————————————————

结束!感谢您的观看 ,点个赞呗


http://www.ppmy.cn/ops/152527.html

相关文章

windows git bash 使用zsh 并集成 oh my zsh

参考了 这篇文章 进行配置&#xff0c;记录了自己的踩坑过程&#xff0c;并增加了 zsh-autosuggestions 插件的集成。 主要步骤&#xff1a; 1. git bash 这个就不说了&#xff0c;自己去网上下&#xff0c;windows 使用git时候 命令行基本都有它。 主要也是用它不方便&…

AutoPrompt框架和实操:如何用AutoPrompt完成电影评论和聊天审核任务?

1. AutoPrompt框架概述 1.1 框架定义与目标 AutoPrompt是一个旨在提升和完善用户提示以适应现实世界用例的提示优化框架。该框架通过迭代生成具有挑战性的边缘案例数据集,并相应地优化提示,从而自动生成针对用户意图量身定制的高质量、详细的提示。其核心目标是利用大型语言…

西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令&#xff08;数学函数、时间、计数器 等&#xff09;。该库可以不受限制地使用&#xff0c;并包含 FIFO 、搜索功能、矩阵计算、 astro 计…

Windows远程连接Docker服务

问题背景 本地开发了一个SpringBoot项目&#xff0c;想通过Docker部署起来&#xff0c;我本地是Window11系统&#xff0c;由于某些原因不能虚拟化并且未安装Docker-Desktop&#xff0c;所以我在想有没有办法本地不需要虚拟化也不需要安装Docker-Desktop来实现支持Docker命令远…

【全栈】SprintBoot+vue3迷你商城(6)

【全栈】SprintBootvue3迷你商城&#xff08;6&#xff09; 在上几期中我们基本完成了与用户相关的接口&#xff0c;以及制定拦截器限定了用户相关接口使用的权限 本期我们来实现与商品相关的接口 商品的接口先就实现两个&#xff0c;一个是之前提到的商家添加商品&#xff…

寒武纪使用cnnl库函数实现卷积算子

完整代码参考添加链接描述 寒武纪cnnl实现卷积的库函数说明参考添加链接描述 cnnl调用卷积的函数这里我们使用的是cnnlConvolutionForward&#xff0c;这个函数的使用只是最后的计算过程&#xff0c;但是在计算之前&#xff0c;还有许多准备工作。下图展示了一个完整的cnnl调…

GDB相比IDE有什么优点

GDB(GNU Debugger)相比于集成开发环境(IDE)具有一些独特的优点,主要体现在其灵活性、可定制性和低级控制能力。具体来说,GDB有以下几个优点: 1. 轻量级且无依赖 GDB是一个命令行工具,不依赖于任何复杂的图形界面或大型库,这使得它非常适合在资源受限的环境中使用,比…

HarmonyOS NEXT:华为分享-碰一碰开发分享

随着科技的不断进步&#xff0c;智能手机和智能设备之间的互联互通变得越来越重要。华为作为科技行业的领军企业&#xff0c;一直致力于为用户提供更加便捷、高效的使用体验。HarmonyOS NEXT系统的推出&#xff0c;特别是其中的“碰一碰”功能&#xff0c;为用户带来了前所未有…