问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生

发布网友 发布时间:2022-04-29 19:02

我来回答

1个回答

热心网友 时间:2023-10-30 22:02

// 信息管理系统.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "string"
#include "fstream"
#include "conio.h"
using namespace std;
class Student // 定义了一个学生的类
{
public:
char Num[20]; //学生信息所包含的信息
char Name[20];
char Sex[20];
char Born[20];
char Col[20];
Student *Next;
void Input();
void Display();
void Read(istream &in);

};
void Student::Display() // 输出学生信息
{
//cout<<"**学号** "<<"**姓名** "<<"**性别** "<<"**出生年月** "<<"**学院** "<<"\n";
cout << Num << "\n"<<Name << "\n"<<Sex<<"\n"<<Born <<"\n"<<Col<<"\n"<<endl;

}
void Student::Input() // 输入学生信息
{
cout<<"输入学生的学号: ";
cin >>Num;
cout<<"输入学生的姓名: ";
cin >>Name;
cout<<"输入学生的性别: ";
cin >>Sex;
cout<<"输入学生的出生年月: ";
cin >>Born;
cout<<"输入学生的学院: ";
cin >>Col;

}
void Student::Read(istream &in)// 从文件中读取信息
{
in>>Num>>Name>>Sex>>Born>>Col;
}
// *******建立学生信息的类
class Studentinformation
{
public:
Studentinformation();
~Studentinformation();
Student *Head,*End;
void Menu();
void Find();
void Save();
void Modify();
void Delect();
void Swap(Student *,Student *);
void Sort();
void Displaym();
/*{
ifstream infile("student.txt");
//Student *p=Head->Next;p!=End;p=p->Next

for(Student *p=Head->Next;p!=End;p=p->Next)
{
//infile.read((char *)p,sizeof(p));
p->Display();

}
infile.close();
cout <<"输入任意字符以继续";
getch();
}*/
void Add();
/*{

//End->Next=new Student;
//End=End->Next;
Student *p;
p=End;
ofstream outfile("student.txt");

End->Input();
outfile<<"学号:"<<End->Num<<"\n"<<"姓名:"<<End->Name<<"\n"<<"性别:"<<End->Sex<<"\n"<<"出生日期:"<<End->Born<<"\n"<<"学院:"<<End->Col<<endl;
outfile<<"-------------------------------------------------------------------"<<endl;
outfile.close();

End->Next=new Student;
End=End->Next;

cout<<"添加成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}*/
private:
ifstream in;
ofstream out;
Student *FindName(char *Name)
{
for(Student *p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Name,Name))
{
return p;
}
return NULL;
}
Student *FindNum(char *Num)
{
for(Student * p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Num,Num))
{
return p;
}
return NULL;
}

};
// ********构造函数
Studentinformation::Studentinformation()
{
Head=new Student;
Head->Next=new Student;
End=Head->Next;
in.open("student.txt");
if(!in)
cout<<"这是一个新系统,无学生信息。请先输入。"<<endl;
else
{
while(!in.eof())
{
End->Read(in);
if(End->Name[0]=='\0')
break;
End->Next=new Student;
End=End->Next;

}
in.close();
cout<<"\t\t读取学生信息成功!"<<endl;
}

}
// ********析构函数
Studentinformation::~Studentinformation()
{
void Save();
for(Student * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}
// *******菜单显示
void Studentinformation::Menu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 学 生 成 绩 管 理 系 统 ☆ 〓〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.显示学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.排序统计信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.查找学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.删除学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.修改学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"\n\t\t\n\t\t请选择:";
}
void Studentinformation::Add()
{

//End->Next=new Student;
//End=End->Next;

ofstream outfile("student.txt");

End->Input();
outfile<<"学号:"<<End->Num<<"\n"<<"姓名:"<<End->Name<<"\n"<<"性别:"<<End->Sex<<"\n"<<"出生日期:"<<End->Born<<"\n"<<"学院:"<<End->Col<<endl;
outfile<<"-------------------------------------------------------------------"<<endl;
outfile.close();

End->Next=new Student;
End=End->Next;

cout<<"添加成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
void Studentinformation::Displaym()
{
ifstream infile("student.txt");
//Student *p=Head->Next;p!=End;p=p->Next

for(Student *p=Head->Next;p!=End;p=p->Next)
{
//infile.read((char *)p,sizeof(p));
p->Display();

}
infile.close();
cout <<"输入任意字符以继续";
getch();
}
// ********查找函数
void Studentinformation::Find()
{
char Name[20],Num[20];
int n;
Student *p;
cout<<"\n\t\t*********************************\n";
cout<<"\t\t※ 1.按学生的姓名查找\n\t\t※ 2.按学生学号查找";
cout<<"\n\t\t*********************************\n请选择:";
cin>>n;
switch(n)
{
case 1:
{
cout<<"输入要查询的学生姓名";
cin>>Name;
if(p=FindName(Name))
{
p->Next->Display();
cout<<"输入任意字符!继续……";
getch();
}
else

{
cout<<"\t\t没有找到该姓名的学生!"<<'\n'<<endl;
cout<<"输入任意字符!继续……";
getch();

}
break;
}

case 2:
{
cout<<"请输入要查询学生的学号";
cin>>Num;
if(p=FindNum(Num))
{
p->Next->Display();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"\t\t没有找到该学号的学生!"<<'\n'<<endl;
cout<<"输入任意字符!继续……";
getch();

}

}break;

}
}
// *********修改函数

void Studentinformation::Modify()
{
char Name[20],Num;
Student * p;
int n;
cout<<"\n\t\t*********************************\n";
cout<<"\t\t※ 1.按学生的姓名查找修改\n\t\t※ 2.按学生学号查找修改";
cout<<"\n\t\t*********************************\n请选择:";
cin>>n;
switch(n)
{
case 1:
{

cout<<"\t\t请输入要修改的人的姓名:";cin>>Name;
if(p=FindName(Name))
{
cout<<"\t\t已找到学生的信息,请输入新的信息!"<<endl;
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}

else
{
cout<<"\t\t没有找到!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
}break;
case 2:
{
cout<<"\t\t请输入要修改的人的学号:";cin>>Num;
if(p=FindName(Name))
{
cout<<"\t\t已找到学生的信息,请输入新的信息!"<<endl;
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}

else
{
cout<<"\t\t没有找到!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
break;
}

}

}
//删除函数
void Studentinformation::Delect()
{
char Num[20];
Student *p,*temp;
int n;
cout<<"输入需要删除的学生学号";
cin>>Num;
if(p=FindNum(Num))
{
p->Next->Display();
cout<<"是否删除该学生信息?(1/0)";
cin>>n;
if(n==1)
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"\t\t删除成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"输入任意字符!继续……";
getch();
}

}
else
{
cout<<"\t\t无该生信息!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
}
// 保存函数
void Studentinformation::Save()
{

out.open("student.txt",ios::app);
for(Student *p=Head->Next;p!=End;p=p->Next)
{
out<<p->Num<<p->Name<<p->Sex<<p->Born<<p->Col;
}
out.close();
}
// 学生信息进行排序
void Studentinformation::Sort()
{
Student *p1;
char Num[20];
for(Student * p=Head;p->Next!=End;p=p->Next)
{

if(strcmp(p->Next->Num,Num)<0)

{
p1=p->Next;
p->Next=p->Next->Next;
p->Next->Next=p1;
}
}
}

int main(int argc, char* argv[])
{

int x,i=0;

bool quit=false;

cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;

for(i=0;i<3;i++)

cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;

cout<<"\t\t◎★★★★【 欢迎进入学生成绩管理系统 】★★★★◎"<<endl;

for(i=0;i<3;i++)

cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl;

cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;
Studentinformation Stu;
cout<<"按任意键开始……";
getch();
while(!quit)
{
system("cls");
Stu.Menu();
cin>>x;
switch(x)
{
case 0:quit=true;
break;
case 1:Stu.Add();
break;
case 2:Stu.Displaym();
break;
//case 3:Stu.Sort();
//break;
case 4:Stu.Find();
break;
case 5:Stu.Delect();
break;
case 6:Stu.Modify();
break;
}

}

return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 谁能帮我弄个学生信息管理系统app 幼儿园老师怎么写幼儿的学期总结 求幼儿园中班教研组长年末总结PPT 开放三胎政策的意义 国家为什么要开放三胎 【关于版权】封面设计版权归属问题 放开三胎的政策的目的是什么?管用吗? 中国的人数并不少,为何要推出三孩政策? 国家开放三胎政策的原因 合同扉页是什么意思 看那些年4遍,无意中发现偷班费的是谁,厉不厉害 国家为何开放三胎政策 在电脑上怎么制作这种合同? 我爷爷我爸爸的分集剧情 为什么要实行三胎政策 王子变青蛙的剧情是什么样子的 国家为什么放开三胎政策 可爱的你中美贞的大伯快去世了是哪一集??? 想在qq上扩圈,大神有没有方法。 怎么制作合同封面,在同一张纸上有竖着的字,下面是横,怎么去掉设置成竖的那个方框 c++学生信息管理系统程序 求一个关于学生信息管理系统的asp代码 用C++编写一个程序 学生信息管理系统 vc++学生信息管理系统 毕业设计学生信息管理系统 课题报告:学生信息管理系统 求c++学生信息管理系统用数组写的,无指针和类 用C++编一个学生信息管理系统(包括添加,删除,修改 用C++顺序结构(对象数组)实现学生信息管理系统 求大神帮忙改图片。是学生学籍信息管理系统照片采集、要求26mm(宽)*32mm(高)分辨率150ppi以上。 在同一个好分数上能查看两个学校的学生的分数吗? 怎样在好分数上同时用两个手机看一个学生的成绩? 如何用豆渣制做酱 豆渣制作酱油的方法 豆腐渣做大酱的方法 想用豆腐渣做大酱,怎么办 家庭用豆渣如何做酱油 我还想知道豆腐渣做成酱油的具体做法 豆渣能制酱油吗 农行公户u盾弄丢了怎么挂失?