📄 edit.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 + -