⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edit.cpp

📁 1.管理信息系统(学生成绩) 两种用户等级:管理员和用户
💻 CPP
字号:
/************************************
修改用户信息
包括函数:
学生权限:
	ChangePWD;//修改密码
	ChangeOld;//修改年龄
教师权限增加:
	ChangeClass;//修改班级
	ChangeGrade;//修改分数
	DeleteStu;//删除学生
*************************************/

#include "Function.h"

void InfoManager::ChangePWD (Unit *&p)
{
	string NewPWD;//欲改密码
	string NewPWD_Verified;//验证输入正确与否
	do
	{
		cout<<"请输入新密码: ";
		cin>>NewPWD;
		cout<<endl<<"请确认新密码: ";
		cin>>NewPWD_Verified;
		cout<<endl;
		if (NewPWD==NewPWD_Verified) break;
		else cout<<"两次输入密码不相符,请重新输入!"<<endl;
	} while (1);
	p->PWD=NewPWD;
	cout<<"密码修改成功!"<<endl;
	Unit::isModified=1;
	system("pause");
}

void InfoManager::ChangeSex(Unit *&p)
{
	int NewSex;
	cout<<"请输入性别(为简化输入,男输入0,女以输入1): ";
	cin>>NewSex;
	cout<<endl;
	p->Sex=NewSex;
	Unit::isModified=1;
}
void InfoManager::ChangeOld (Unit *&p)
{
	int NewOld;
	cout<<"请输入年龄: ";
	cin>>NewOld;
	cout<<endl;
	p->Old=NewOld;
	Unit::isModified=1;
}

void InfoManager::ChangeClass (Unit *&p)
{
	int NewClass;
	cout<<"请输入班级: ";
	cin>>NewClass;
	cout<<endl;
	p->Class=NewClass;
	Unit::isModified=1;
}

void InfoManager::ChangeGrade(Unit *&p)
{
	if (p->Authority==1)
	{
		cout<<"教师无分数修改!"<<endl;
		return;
	}
	else
	{
		int choice;
		int mark;
		do
		{
			cout<<"请选择修改的科目:"<<endl;
			cout<<"...1. 数学"<<endl<<"...2. 语文"<<endl<<"...3. 英语"<<endl;
			cin>>choice;
			if (choice==1||choice==2||choice==3) break;
			else cout<<"输入错误,请重新输入!"<<endl;
		} while (1);
		cout<<"请输入欲改的分数: ";
		cin>>mark;
		switch (choice)
		{
		case 1:p->Math=mark;break;
		case 2:p->Chinese=mark;break;
		case 3:p->English=mark;break;
		default:cout<<"输入错误!"<<endl;
		}
		p->Total=p->Math+p->Chinese+p->English;
		p->Average=p->Total/3;
	}
	Unit::isModified=1;
}

void InfoManager::ChangeWage(Unit *&p)
{
	system("cls");
	cout<<"\n\t请输入月薪:";
	cin>>p->Math;
	Unit::isModified=1;
}

void InfoManager::ChangeSeniority(Unit *&p)
{
	system("cls");
	cout<<"\n\t请输入工龄:";
	cin>>p->Chinese;
	Unit::isModified=1;
}
void InfoManager::DeleteStu()
{
	system("cls");
	long ID;
	cout<<"\n** 删除学生信息 **\n";
	cout<<"请输入想要删除学生的学号:";
	cin>>ID;
	//查找要删除的结点
	Unit *p1,*p2;//p2做跟踪,指向p1前驱节点
	p1=head_stu;
	system("cls");
	while (p1)
	{
		if (p1->ID==ID) break;
		else
		{
			p2=p1;
			p1=p1->next;
		}
	}
	if (!p1)
	{
		cout<<"\t没有找到用户!"<<endl;
		system("pause");
		return;
	}

	//删除结点
	InfoManager::Show_Sgl_Stu(p1);
	cout<<"确定删除吗?[Y/N]"<<endl;
	char i;
	do
	{
		cin>>i;
		if (i=='y'||i=='Y'||i=='n'||i=='N') break;
		else cout<<"输入错误,请重新输入!"<<endl;;
	} while (1);
	if (toupper(i)!='Y') return;
	if( p1==head_stu) //若要删除的结点是第一个结点
	{
		head_stu=p1->next;
		delete p1;
	}
	else //若要删除的结点是后续结点
	{
		p2->next=p1->next;
		delete p1;
	}
	cout<<"学号为"<<ID<<"的学生已被删除\n";
	Unit::isModified=1;
}

void InfoManager::DeleteTea()
{
	system("cls");
	long ID;
	cout<<"\n** 删除教师信息 **\n";
	cout<<"请输入想要删除教师的ID:";
	cin>>ID;
	//查找要删除的结点
	Unit *p1,*p2;//p2做跟踪,指向p1前驱节点
	p1=head_tea;
	system("cls");
	while (p1)
	{
		if (p1->ID==ID) break;
		else
		{
			p2=p1;
			p1=p1->next;
		}
	}
	if (!p1)
	{
		cout<<"\t没有找到用户!"<<endl;
		system("pause");
		return;
	}

	//删除结点
	InfoManager::Show_Sgl_Tea(p1);
	cout<<"确定删除吗?[Y/N]"<<endl;
	char i;
	do
	{
		cin>>i;
		if (i=='y'||i=='Y'||i=='n'||i=='N') break;
		else cout<<"输入错误,请重新输入!"<<endl;;
	} while (1);
	if (toupper(i)!='Y') return;
	if( p1==head_tea) //若要删除的结点是第一个结点
	{
		head_stu=p1->next;
		delete p1;
	}
	else //若要删除的结点是后续结点
	{
		p2->next=p1->next;
		delete p1;
	}
	cout<<"编号为"<<ID<<"的学生已被删除\n";
	Unit::isModified=1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -