📄 学生选课系统.cpp
字号:
fin.close();
fin.clear();
fin.open("student.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t你的用户名不存在!"<<endl;
cout<<"\t\t你可能是还没有注册,请你先到管理员处注册!"<<endl;
cout<<"\t\t请按任意键继续!";
getch();
system("cls");
handle_Memu1();
}
fin.get();
while (!fin.eof())
{
fin>>stu.m_csno>>stu.m_csname>>stu.m_csex>>stu.m_cbanji>>stu.m_czhuanye
>>stu.m_imaxcourse>>stu.m_ifactcourse;
if(strcmp(stu.m_csno,sno)==0)
{
cout<<"\n\t\t\t请输入你的旧密码并按回车键确认:";
cin>>scode;
fin.close();
fin.clear();
fin.open("scode.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t您的用户名不存在!"<<endl;
exit(0);
}
fin.get();
while (!fin.eof())
{
fin>>stu.m_csno>>m_cscode;
if(strcmp(m_cscode,scode)==0)
{
cout<<"\n\t\t\t请输入你的新密码并按回车键确认:";
strcpy(scode,Setscode());
cout<<"\n\t\t\t请再次输入你的新密码并按回车键确认:";
if(strcmp(scode,Setscode())==0)
{
Writef("scode.txt");
cout<<"修改密码成功!";
return;
}
else
cerr<<"新密码输入不一致!";
}
}
cerr<<"旧密码输入错误!";
}
else
cerr<<"用户名输入错误!";
}
fin.close();
}
//********************************************************************
void CLand::modifiy1(char *fp)
{
char admin[20],admincode[20];
ifstream fin(fp);
cout<<"\n\t\t\t请输入你的用户名按回车键确认:";
cin>>admin;
fin.close();
fin.clear();
fin.open("admin.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t您的用户名不存在!"<<endl;
exit(0);
}
fin.get();
while (!fin.eof())
{
fin>>m_cadmin>>m_cadmincode;
if(strcmp(m_cadmin,admin)==0)
{
cout<<"\n\t\t\t请输入你的旧密码并按回车键确认:";
cin>>admincode;
fin.close();
fin.clear();
fin.open("admin.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t您的用户名不存在!"<<endl;
exit(0);
}
fin.get();
while (!fin.eof())
{
fin>>m_cadmin>>m_cadmincode;
if(strcmp(m_cadmincode,admincode)==0)
{
cout<<"\n\t\t\t请输入你的新密码并按回车键确认:";
strcpy(admincode,Setadmincode());
cout<<"\n\t\t\t请再次输入你的新密码并按回车键确认:";
if(strcmp(admincode,Setadmincode())==0)
{
Writef2("admin.txt");
cout<<"修改密码成功!";
return;
}
else
cerr<<"新密码输入不一致!";
}
}
cerr<<"旧密码输入错误!";
}
else
cerr<<"用户名输入错误!";
}
fin.close();
}
//********************************************************************
void CLand::modifiy2(char *fp)
{
char tno[20];
int c=0,d=0,_f=0,n=0,flag=0;
char tcode[20];
cout<<"\n\t\t\t请输入您的用户名按回车键确认:";
cin>>tno;
ifstream fin(fp);
fin.close();
fin.clear();
fin.open("teacher.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t您的用户名不存在!"<<endl;
cout<<"\t\t您可能是还没有注册,请您先到管理员处注册!"<<endl;
cout<<"\t\t请按任意键继续!";
getch();
system("cls");
handle_Memu1();
}
fin.get();
while (!fin.eof())
{
fin>>teacher.m_ctno>>teacher.m_ctname>>teacher.m_ctxi>>teacher.m_ctsex>>teacher.m_ctzhicheng;
if(strcmp(teacher.m_ctno,tno)==0)
{
cout<<"\n\t\t\t请输入您的旧密码并按回车键确认:";
cin>>tcode;
fin.close();
fin.clear();
fin.open("tcode.txt");
if (!fin)
{
cout<<"\n\n\n\n\t\t您的用户名不存在!"<<endl;
exit(0);
}
fin.get();
while (!fin.eof())
{
fin>>teacher.m_ctno>>m_ctcode;
if(strcmp(m_ctcode,tcode)==0)
{
cout<<"\n\t\t\t请输入您的新密码并按回车键确认:";
strcpy(tcode,Settcode());
cout<<"\n\t\t\t请再次输入您的新密码并按回车键确认:";
if(strcmp(tcode,Settcode())==0)
{
Writef1("tcode.txt");
cout<<"修改密码成功!";
return;
}
else
cerr<<"新密码输入不一致!";
}
}
cerr<<"旧密码输入错误!";
}
else
cerr<<"用户名输入错误!";
}
fin.close();
}
/*********************************************************************
* *
*********************************************************************/
void tuichu(void)
{
system("cls");
system("color A4");
cout<<"\n\n\t\t\t 谢谢您的使用!\t再见!\n\n"<<endl;
cout<<"\t\t\t希望您提出宝贵意见。我们将不断改进。谢谢!\n\n"<<endl;
cout<<"\t\t\t 姓名:刘刚华 陈显清\n\n"<<endl;
cout<<"\t\t\t 学校:长沙学院\n\n\n"<<endl;
exit(0);
}
/*********************************************************************
* *
*********************************************************************/
void Memu(void)
{
system("cls");
cout<<"\n\n\n\n\n\n\n\n\t\t\t欢迎您进入学生选课系统";
Sleep(500);
cout<<"\n\n\n\n\n\n\t\t\t\t制作人:\n\t\t\t\t\t信科二班:\n";
cout<<"\t\t\t\t\t☆☆刘刚华☆☆☆陈显清☆☆"<<endl;
cout<<"请按任意键继续";
getch();
system("cls");
}
/*********************************************************************
* *
*********************************************************************/
int shuzi()
{
unsigned int i=1;
int j;
char ch[10];
while(1)
{
cin>>ch;
if(ch[0]=='-'||isdigit(ch[0])!=0)
{
for(;i<strlen(ch);i++)
if(isdigit(ch[i])==0)
break;
if(i+1>strlen(ch)&&!(ch[0]=='-'&&i==1))
{
j=atoi(ch);
return j;
}
else
cout<<"\t请输入数字:";
}
else
cout<<"\t请输入数字:";
}
}
/*********************************************************************
* *
*********************************************************************/
int Memu3()
{
system("cls");
system("color F9");
cout<<"\n\n\n\n\n\n\t*****************************************************************\t\n\n";
cout<<"\t\t\t【☆学生选课管理☆】 \n\n";
cout<<" \t1.△选课 △\t\t";
cout<<"2.△查看已修课程△\n\n";
cout<<"\t3.△查看成绩△\t";
cout<<"4.△退选课程△\n\n";
cout<<"\t5.△修改密码△\t\t";
cout<<"6.△查看所有课程及相关信息△\n\n";
cout<<"\t7.△切换用户△\t\t";
cout<<"0.△退出△";
cout<<"\n\n\t*****************************************************************\t\t";
cout<<"\n\t请选择:(0-7)";
int n;
n=shuzi();
while(n<=-1||n>=9)
{
cout<<"你的输入有误,请重试\n请选择:(0-9):";
n=shuzi();
}
return n;
}
/*********************************************************************
* *
*********************************************************************/
void handle_Memu3(char *sno)
{
for(;;)
{
switch(Memu3())
{
case 1:
{
system("cls");
CSubject subject;
subject.xuanke("subject.txt",sno);
system("cls");
break;
}
case 2:
{
system("cls");
CSubject subject;
subject.show5("subject.txt",sno);
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 3:
{
system("cls");
CSubject subject;
subject.Readf2("mark.txt",sno);
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 4:
{
system("cls");
CSubject subject;
subject.tuixuan(sno);
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 5:
{
system("cls");
CLand land;
land.modifiy("snode.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 6:
{
system("cls");
CCourse course;
course.show2("course.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 7:
{
system("cls");
handle_Memu1();
break;
}
case 0:
{
tuichu();
}
default:
system("cls");
cout<<"你的输入有误:";
break;
}
}
}
/*********************************************************************
* *
*********************************************************************/
int Memu5()
{
system("cls");
system("color F9");
cout<<"\n\n\n\n\n\n\t*****************************************************************\t\n\n";
cout<<"\t\t\t【☆课程管理员☆】 \n\n";
cout<<" \t1.△新生注册△\t\t";
cout<<"2.△添加课程及相关信息△\n\n";
cout<<"\t3.△添加教师及相关信息△\t";
cout<<"4.△查看所有学生选课情况△\n\n";
cout<<"\t5.△修改密码△\t\t";
cout<<"6.△查看所有课程△\n\n";
cout<<"\t7.△显示所有学生△\t\t";
cout<<"8.△显示老师信息△\n\n";
cout<<"\t9.△切换用户△\t\t";
cout<<"0.△删除+修改+清空+退出△";
cout<<"\n\n\t*****************************************************************\t\t";
cout<<"\n\t请选择:(0-9)";
int n;
n=shuzi();
while(n<=-1||n>10)
{
cout<<"你的输入有误,请重试\n请选择:(0-9):";
n=shuzi();
}
return n;
}
/*********************************************************************
* *
*********************************************************************/
void handle_Memu5()
{
for(;;)
{
switch(Memu5())
{
case 1:
{
system("cls");
CStudent stu;
stu.addstudent();
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 2:
{
system("cls");
CCourse course;
course.addcourse("course.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 3:
{
system("cls");
CTeacher teacher;
teacher.addteacher();
cout<<"请按任意键继续!";
getch();
system("cls");
break;
}
case 4:
{
system("cls");
CSubject subject;
subject.show4("subject.txt");
getch();
system("cls");
break;
}
case 5:
{
system("cls");
CLand land;
land.modifiy1("admin.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 6:
{
system("cls");
CCourse course;
course.show2("course.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 7:
{
system("cls");
CStudent stu;
stu.show("student.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 8:
{
system("cls");
CTeacher teach;
teach.show3("teacher.txt");
cout<<"请按任意键继续";
getch();
system("cls");
break;
}
case 9:
{
system("cls");
handle_Memu1();
break;
}
case 0:
{
system("cls");
cout<<"\n\n\n\n\t请选择:1,删除学生,2,删除课程,3,删除教师,";
cout<<"\n\n\t4.修改上课时间、地点,5,清空文件,0,退出";
cout<<" 请选择:(0-5)";
char l;
cin>>l;
switch(l)
{
case '1':
{
system("cls");
char *sno;
sno=new char;
int *p;
p=new int;
CStudent stu;
stu.delstudent(sno,p);
CSubject subject;
subject.Readf1("subject.txt");
subject.Queryf2(sno,p);
cout<<"请按任意键继续";
getch();
break;
}
case '2':
{
system("cls");
char *cno;
cno=new char;
int *p;
p=new int;
CCourse course;
course.delcourse(cno,p);
CSubject subject;
subject.Readf1("subject.txt");
subject.Queryf3(cno,p);
cout<<"请按任意键继续";
getch();
break;
}
case '3':
{
system("cls");
CTeacher teacher;
teacher.delteacher();
cout<<"请按任意键继续";
getch();
break;
}
case '4':
{
system("cls");
char *cno,*address,*time;
cno=new char;
address=new char;
time=new char;
CSubject subject;
subject.xiugai(cno,address,time);
CCourse course;
course.Readf1("course.txt");
course.Queryf2(cno,address,time);
cout<<address<<time;
delete time;
cout<<"请按任意键继续";
getch();
break;
}
case '5':
{
system("cls");
char *fp;
fp=new char;
cout<<"\n\n\n\t\t请输入要清空的文件名:";
cin>>fp;
ifstream fin(fp);
if (!fin)
{
cout<<"文件名输入错误!按任意键继续..."<<endl;
getch();
break;
}
fin.close();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -