学生信息管理系统

【JAVA】学生信息管理系统 JAVA实现的学生信息管理系统(包含教师端和学生端) 教师端有登录过程,功能包括对学生信息的增删改查 学生端无登录过程,功能只包括查看信息 阅读详情
#include<iostream>
#include<cstdlib>
#include<vector>
#include<string>
#include<iterator>
#include<algorithm>
#include<fstream>
using namespace std;

class Student
{
private:
	string m_name;
	string m_number;
	float m_score;
public:
	Student():m_name("xiaoming"),m_number("123456"),m_score(0.0){};
	~Student(){}
	string get_name() const;
	string get_number() const;
	float get_score() const;
	void save_student() const;
	void fetch_student() const;
	void show() const;
	void input();
};

void Student::input()	//输入学生信息
{
	cout<<"输入姓名:"<<endl;
	cin>>m_name;
	cout<<"输入学号:"<<endl;
	cin>>m_number;
	cout<<"输入成绩:"<<endl;
	cin>>m_score;
}

string Student::get_name() const	//获得学生姓名
{
	return m_name;
}

string Student::get_number() const		//获得学生学号
{
	return m_number;
}

float Student::get_score() const		//获得学生成绩
{
	return m_score;
}

void Student::show() const				//输出学生信息
{
    cout<<"姓名:"<<m_name<<endl;
    cout<<"学号:"<<m_number<<endl;
    cout<<"成绩:"<<m_score<<endl;
}

void Student::save_student() const		//保存学生信息
{
	ofstream write_stu;
	write_stu.open("学生信息.txt",ios_base::app);
	if(!write_stu.is_open())
	{
		cout<<"无法打开文件!"<<endl;
		exit(0);
	}
	write_stu<<m_name<<" "<<m_number<<" "<<m_score<<endl;
	write_stu.close();
}
void check(vector<Student>& v)		//按学号查询学生信息
{
	string in_nums;
	cout << "请输入学号:" << endl;
	cin>>in_nums;
	vector<Student>::iterator it_1;
	int flag = 0;
	for(it_1 = v.begin();it_1 != v.end();it_1++)
	{
		if((*it_1).get_number() == in_nums)
		{
			(*it_1).show();
			break;
		}
	}
	if (it_1 == v.end())
	{
		cout << "未找到目标" << endl;
	}
}

void del(vector<Student>& v)		//按学号删除学生信息
{
	string in_nums;
	cout<<"输入要删除学号:"<<endl;
	cin>>in_nums;
	vector<Student>::iterator it_2;
	for(it_2 = v.begin();it_2 != v.end();it_2++)
	{
		if((*it_2).get_number() == in_nums)
		{
			it_2 = v.erase(it_2);	//删除一个元素之后,迭代器已经指向了被删除元素的下一个元素,再进行itr++会出现野指针。也就是说v.erase(it_2)后,iter的状态是不确定的
			break;	
		}
	}
	if (it_2 == v.end())
	{
		cout<<"未找到目标"<<endl;
	}
}

void mod(vector<Student>& v)		//按学号修改学生信息
{
	string in_nums;
	cout << "输入要修改学生的学号:" << endl;
	cin >> in_nums;
	vector<Student>::iterator it_3;
	for(it_3 = v.begin();it_3 != v.end();it_3++)
	{
		if((*it_3).get_number() == in_nums)
		{
			(*it_3).input();
			break;
		}
	}
	if(it_3 == v.end())
	{
		cout<<"找不到目标!"<<endl;
	}
}

void insert(vector<Student>& v)		//增加学生信息
{
	Student v_1;
	//vector<Student>::iterator it_4;
	v.push_back(v_1);
	(v.back()).input();
}

bool UDgreater (Student& stu1,Student& stu2)
{
   return stu1.get_number() > stu2.get_number();
}



void sort_l(vector<Student>& v)		//按学号排序
{
	sort(v.begin(), v.end(), UDgreater);
}


void help()
{
	cout<<"0.欢迎使用系统帮助"<<endl;
	cout<<"1.初次进入系统后,请先选择增加学生信息;"<<endl;
	cout<<"2.按照菜单提示键入数字代号;"<<endl;
	cout<<"3.增加学生信息后,切记保存;"<<endl;
	cout<<"4.谢谢您的使用!"<<endl;
} 


void save(vector<Student>& v)
{
	for(int i = 0;i < v.size();i++)
	{
		v[i].save_student();
	}
	cout << "存放成功" << endl;
}

void refresh(vector<Student>& v)
{
	ofstream rewrite;
	rewrite.open("学生信息.txt");
	if(!rewrite.is_open())
	{
		cout<<"文件打开失败!"<<endl;
	}
	for(int i = 0;i < v.size();i++)
	{
		v[i].save_student();
	}
	cout << "刷新成功" << endl;
}
void menu()    //界面
{
	cout<<"  ******************************************************"<<endl;
	cout<<"  *                学生信息管理系统                    * "<<endl;
	cout<<"  ******************************************************"<<endl; 
	cout<<"*********************系统功能菜单*************************       "<<endl;
	cout<<"     ----------------------   ----------------------   "<<endl;
	cout<<"     *********************************************     "<<endl;
	cout<<"     * 0.系统帮助及说明  * *  1.刷新学生信息   *     "<<endl;
	cout<<"     *********************************************     "<<endl; 
	cout<<"     * 2.查询学生信息    * *  3.修改学生信息   *     "<<endl;
	cout<<"     *********************************************     "<<endl;
	cout<<"     * 4.增加学生信息    * *  5.按学号删除信息 *     "<<endl;
	cout<<"     *********************************************     "<<endl;
	cout<<"     * 6.将学生信息保存  * *  7.按学号排序     *          "<<endl;
	cout<<"     *********************************************     "<<endl;
	cout<<"     * 8.退出                                *          "<<endl;
	cout<<"     **********************                            "<<endl;
	cout<<"     ----------------------   ----------------------                           ";
	cout<<"请选择菜单编号:";
	
}


int main(int argc, char const *argv[])
{
	menu();
	vector<Student> stu;
	while(true)
	{
		int num;
		cin >> num;
		switch(num)
		{
			case 0:help();break;
			case 1:;refresh(stu);break;
			case 2:check(stu);break;
			case 3:mod(stu);break;
			case 4:insert(stu);break;
			case 5:del(stu);break;
			case 6:save(stu);break;
			case 7:sort_l(stu);
			case 8:return 0;
			default:cout<<"请在0-8之间选择";
		}
	}


	system("pause");
	return 0;
}

该程序包含一个学生类,采用了vector来存储学生对象,较方便的增加学生信息,删除学生信息,修改学生信息。存储学生采用了文件的方式,目前该系统还没有实现从文件中读取学生信息。

学生信息管理系统——JAVA System.out.println("暂无学生信息,请输入");System.out.println("请输入要删除的学生的学号");System.out.println("请输入要修改的学生学号");System.out.println("请先输入信息");System.out.println("请输入新居住地");System.out.println("请输入新姓名");System.out.println("请输入新年龄");System.out.println("请输入新学号"); 阅读详情

相关推荐

基于JavaWeb的学生信息管理系统

用eclipse作为开发工具,使用MySQL作为数据库管理系统,采用Java Web技术和数据库技术,来实现学生信息管理系统的各种功能。

weixin_48352472的博客 7114

自制 学生管理系统(vector的用法)

#include<iostream> #include<cstdio> #include<stdlib.h> #include<vector> #include<algorithm> using namespace std; class Stu { public: string num; string sex; strin...

君卿的博客 4349

C#Windows学生信息管理系统

系统采用三层架构编写,数据库sqlserver,软件visual studio。功能实现数据库增删查改具体如下:1. 实现管理员登录和注册。2. 实现管理员密码和信息修改。3. 实现管理员对学生信息的添加录入。4. 实现管理员对学生信息查询,有模糊查询和精确查询。5. 实现管理员对学生信息的跟新修改。6. 实现了管理员对学生信息的删除。系统用例图。

qq_44423029的博客 1万+

关于vector

利用Vector代替数组处理:从键盘读入学生的成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级 提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度。而向量类java.util.Vector可以根据需要动态伸缩 创建Vector对象:Vector v=new Vector(); 给向量添加元素:v.addElement(Object obj); 取出向量元素:Object obj=v.elementAt(0); 注意:第一个元素下标是0,返回值是object类型 计算向

fengzhengwszz的博客 211

用vector写的学生管理系统

用vector写的学生管理系统,简洁易懂 在vc6.0上运行没有问题

线性代数学习笔记(十)——矩阵运算(二)

本篇笔记讲解矩阵的幂运算和矩阵的转置,其中矩阵进行幂运算的前提是矩阵为方阵,矩阵幂运算的两条性质与数的幂运算规则类似;矩阵转置的定义与行列式转置类似,但要注意由于矩阵的行数和列数不同,所以转置之后行数和列数变换。

li2008kui的专栏 1万+

基于c++中vector实现的简易学生管理系统

第一次用c++写程序,感觉还是有一点像c的写法,只是用了c++中的函数,参数。

im__god的博客 877

【Arduino】入门篇——交通信号灯

模拟交通信号灯一、实验目的二、实验材料三、电路图四、实验过程五、代码块六、实验结果 一、实验目的 我想大家都看见过交通灯,就是马路上十字路口的红绿灯。如果您开过车,我想您一定仔细观察过交通灯,如果您还没有驾驶过车,您是否仔细观察过交通灯呢?交通灯包括三种个不同颜色的灯:红灯、黄灯和绿灯。 每个路口的红绿灯切换的时间并不是相同,这个是根据不同路口的车流情况来设定的,下面就是模仿交通灯的一个实验 二...

漠宸离若的博客 1万+

c++做一个学生信息管理系统(vector)

c++做一个学生信息管理系统(vector) 用到面向对象的思想,类的使用(权限,构造函数等...) 用到友元函数的运用场景 c++运算符重载 输入输出流的操作 文件流操作 仿函数的使用 Lambad表达式使用 ...

m0_63211938的博客 627

时间序列学习(4):平稳性检验(单位根检验、ADF检验)

时间序列学习(4):平稳性检验(单位根检验、ADF检验)1、单位根检验2、ADF检验3、指数走势的检验4、对数收益率序列检验 相关图可以大致判断序列是否平稳。但是,这毕竟不是严格的。 这篇笔记来就谈一谈平稳性的检验。 到目前为止,我们有了以下的时间序列模型: 白噪声; 随机游走; AR模型; MA模型; ARMA模型。 我们知道白噪声、MA模型一定是平稳的(这里的平稳都是弱平稳);随机游走一定是不平稳的;ARMA模型取决于其AR部分。 所以唯一需要做平稳性检验的就是AR模型。 1、单位根检验 先来看一阶

lucialucia的博客 7万+

深入剖析:功率放大电路设计精髓——从理论到实践

输入信号首先被调制(通常是PWM脉宽调制)成高频开关信号,驱动功率开关管(MOSFET),再通过LC低通滤波器滤除高频分量,还原出放大的音频信号。在靠近功放板电源引脚处放置足够容量的电解电容(如100uF - 1000uF)和高频瓷片电容(如0.1uF)并联进行电源去耦,抑制低频和高频干扰,防止低频振荡(Motorboating)和高频自激。,堪称电子世界里的“能量转换器”。当输入信号在零附近(即两个器件切换导通的区域)时,由于器件的开启电压(Vbe或Vgs)不为零,输出波形会出现明显的衔接不流畅的失真。

Zihan2558的博客 1698

对象数组 —— 学生信息表

任务描述 本关任务:编写一个能管理多条学生信息的程序。 相关知识 为了完成本关任务,你需要掌握构造函数与析构函数的调用和对象数组的使用。 构造函数与析构函数的调用 构造函数不能直接调用,只能通过声明一个对象或者使用new 运算符动态创建对象时由系统自动调用。 例如: class Test { public: int A; Test(); Test(int a); }; /* 此处省略定义构造函数部分 */ int main() { Test t; // 调用无参构造函数 Test t2

qq_60786476的博客 2380

SAP批量程序(一)-静态批量EX,FX和期间批量MB,WB和TB

SAP批量程序(一)-静态批量和区间批量

weixin_38974136的博客 5480

JavaWeb学生信息管理系统

该项目完全基于JavaWeb实现,没有使用任何的后端框架,对新手朋友来说也是比较友好。此项目前端使用layui编写,界面非常的漂亮美观。分为学生端和管理端,原本之前要加上教师端,后因时间有限便没有在继续编写。功能也比较全面,基本功能都有。以上就是今天要讲的内容,最近由于各种原因,没时间写文章。大家有问题,或者需要代码直接私信我,或者关注公众 ”俊俊同学的笔记“ 后台私信我都可。等有时间我在把代码优化一下在上传。

weixin_46721191的博客 2万+

用STM32H7的FMC+AD7606搭建多通道数据采集系统:两种工作模式(查询与FIFO中断)的代码详解与性能对比

本文详细解析了基于STM32H7微控制器和AD7606 ADC芯片的多通道数据采集系统设计,重点对比了查询模式与FIFO中断模式的实现方法与性能差异。通过FMC总线实现高速并行数据采集,系统支持16bit同步采样,最高可达200Ksps/通道。文章提供了完整的代码实现和优化策略,帮助工程师在工业监测等实时性要求高的场景中构建可靠的数据采集方案。

weixin_30599769的博客 488

告别IMEI!手把手教你用UUID实现Android设备唯一标识(兼容Android 10-13)

本文详细探讨了在Android 10及以上版本中,如何构建合规且高可用的设备唯一标识方案以替代被限制访问的IMEI。文章深入分析了Android设备标识符的演变,并提供了基于UUID/GUID的完整实现策略,包括生成算法、多级持久化存储方案(如MediaStore)、权限处理以及版本兼容性实践,帮助开发者应对Android 10-13的隐私政策变化。

weixin_28339967的博客 575

基于C++实现的学生信息管理系统

1、建立学生信息,每个学生的信息应包括:姓名、性别、学号与3门课程的成绩; 2、数据的输入:输入学生的各项信息; 3、数据的修改:根据输入的序号可以修改学生的信息; 4、数据的处理:对学生信息按照成绩排名、删除学生信息、添加学生信息; 5、数据的查找:通过学号与姓名对信息来进行查找; 6、退出:退出整个学生信息管理系统。

qq_3191153580的博客 8514

LeRobot 入门教程(十六)Isaac Lab LeIsaac 叠衣服、夹橙子仿真环境

LeRobotEnvHub现已支持通过LeIsaac进行机器人模仿学习,提供摘橙子、搬立方体等日常任务仿真环境。用户可通过HuggingFace共享环境,使用一行代码加载任务,支持随机动作测试和远程操控。系统提供云端仿真方案,无需本地GPU即可运行。当前支持4种任务环境,通过make_env函数切换,其中折叠布料任务需先调用initialize()函数。该平台集成了数据采集、转换和训练全流程,为机器人学习提供便捷工具链。

2506_90492529的博客 1483

Python程序设计之 —— 简易学生信息管理系统

Python程序设计之 —— 简易学生信息管理系统

好好读书 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C语言学生信息管理系统

大一上学期学习了C,学的不好,对C的理解仅限于编写一些简单的小程序,下学期刚开学,老师就要求我们用C编写一个学生信息管理系统,当时就蒙了,后来讲到需要文件操作,更傻了,当时就没怎么学,后来到处查找资料,向同学,老师请教,慢慢的从能够编写简单的文件写入,然后一步步将每一个函数实现,实现对其的写入,浏览,查询,计算,修改,最后完成删除。后面不断的对代码进行完善,到现在还有很多不足之处,需要和大家一同学

lordly_cm的专栏 9万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

学生信息管理系统课程设计 java_java课程设计(学生信息管理系统)

1.需求分析功能要求:1)需要管理的学生信息有:学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号。2)实现查询、增、删、改等功能。数据存储:数据库或文件。2.本组课题及本人任务本组的课题是学生信息管理系统,我负责的任务是完成学生信息管理系统的图形界面。3.总体设计(概要设计)本组完成的是学生信息管理系统,主要的功能有增,删,查,改,管理的学生信息有学号、姓名、性别、出生日期、政治面貌、...

weixin_29655399的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

MySQL学生信息管理系统

学生信息管理系统 基于学生信息管理系统(7.7综合实例)的E-R图(如下所示,参考)和关系模式集完成以下任务。 关系模式集(参考): 学生(学号,姓名,性别,出生日期,身份证号,家庭住址,联系电话,邮政编码,政治面貌,简历,是否退学,是否休学,楼号,房间号,床位号,班级号) 系(系号,系名,系主任,办公室,电话) 班级(班级号,班级名称,专业,班级人数,入学年份,教室,班主任,班长,系号) 课程(课程号,课程名,学期) 教师(教师号,姓名,性别,出生日期,职称,系号) 宿舍(楼号,房间号,住宿性别,床位数

weixin_44228762的博客 2万+

Python课程设计 | 实现学生信息管理系统

本文介绍了一个简单的学生信息管理系统,包括管理员登录、重置学生密码、添加、删除和修改学生信息、查询学生信息以及对学生成绩进行排序等功能。该系统使用Python编写,基于控制台交互

Python栈 2万+

基于python的简单学生信息管理系统

针对传统的学生信息管理方式,效率低下,不易存储,和数字化等问题,开发基于 Python 的学生信息管理系统,用于管理学生的个人信息和学习记录。它可以帮助教师和管理员更有效地管理学生信息,如学生基本信息、成绩、课程安排、考试记录等。同时,信息化、数字化的管理方法符合高校建设数字校园的宗旨,有利于促进信息的保存和共享。而Python相对于其他语言具有简单易学,易维护等特点,在系统开发领域应用十分广泛。本系统是由Python语言进行开发的一套简易学生信息管理系统,功能齐全,操作简便,实用性高。

qq_33534211的博客 8312

学生信息管理系统的设计与实现

4.在成绩信息管理功能中需要用到学籍信息管理功能内的数据,两个功能存储的数据存放在两个文件中,当使用成绩系统时候若未先进行学籍注册,学籍系统中没有该学生的学籍信息,出现访问异常。在调试和测试的环节上是比较费时间的,经常因为一些问题排查半天,比如漏掉字符,调用出错,死循环,头文件未包含,编码问题,指针访问出错,我这边说一下我在程序制作中遇到的几个问题。(6)修改功能:通过输入学生的姓名完成对学生的信息进行修改,若有重名学生按照学号选择修改,并让用户决定是否继续修改。

weixin_42182741的博客 2552

C#学生信息管理系统

学生信息管理系统旨在为学校提供一个完善的学生信息管理平台,包括注册登录、专业管理、班级管理和学生信息管理等功能。该系统将采用C#语言进行开发,利用.NET平台提供的丰富功能和框架,同时使用SQL Server作为数据库支持,以确保系统的稳定性和性能。

平安喜乐 4514
上一篇: 24点问题判断
下一篇: 几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。本次上机要求编写一个简化的创建游戏角色的程序。
could9
博客等级 码龄9年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值