📄 学生学籍信息管理系统.txt
字号:
题目:学生学籍信息管理系统
一:需求分析
通过此系统可以实现如下功能:
1、录入:
可以录入学生情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
2、查询:
可以查询某个学生的情况(如,输入学生号,查询学生信息时间,学生数量);
3、修改:修改学生信息内容;
4、删除:删除相关学生信息;
5、打印:打印出学生的相关信息;
6、显示结果。
根据以上功能说明,设计具体的存储结构,要求程序要有一个可供用户选择的简单操作界面。操作前要有简单的提示,设计程序完成功能。
二:概要设计
为实现上述程序功能,应该将程序分成五个模块:
1、主程序模块:
void main()
{
输入学生的学号、姓名、分数;
查找学生的信息;
更改学生的信息;
删除学生的信息;
打印结果;
}
2、输入学生信息模块:输入学生的相关信息;
3、 查找信息模块:查找相关学生的信息;
4、更改信息模块:更改指定学生的信息;
5、打印模块:在屏幕上输出结果。
三:源程序
#include<iostream.h>
#include<iomanip.h>
#include<string.h>
#include<fstream.h>
class student
{
int no;
char name[10];
int score;
public:
student(){}
student(int n,char na[],int s)
{
no=n;
strcpy(name,na);
score=s;
}
char *getname()
{
return name;
}
void creat()
{
cout<<"-----------------------"<<endl;
cout<<"输入新的学号:"<<endl;
cin>>no;
cout<<"-----------------------"<<endl;
cout<<"输入新的姓名:"<<endl;
cin>>name;
cout<<"-----------------------"<<endl;
cout<<"输入新的分数:"<<endl;
cin>>score;
}
void disp()
{
cout<<"****************************"<<endl;
cout<<"学号: ";
cout<<no<<endl;
cout<<"姓名: ";
cout<<name<<endl;
cout<<"分数: ";
cout<<score<<endl;
cout<<"****************************"<<endl;
}
};
int comp(char s1[],char s2[])
{
int i=0;
while(s1[i]!='\0'&&s2[i]!='\0'&&s1[i]==s2[i])
i++;
if(s1[i]=='\0'||s2[i]=='\0')
return 1;
else
return 0;
}
void find(student st[])
{
char sname[10];
int i;
ofstream file("e:\\stud.txt");
for(i=0;i<6;i++)
file.write((char *)&st[i],sizeof(student));
cout<<"输入查找姓名:"<<endl;
cin>>sname;
cout<<"学生情况结果:"<<endl;
cout<<setiosflags(ios::left)<<"学号"<<'\t'<<"姓名"<<'\t'<<"分数"<<endl;
ifstream infile;
for( i=0;i<6;i++)
{
infile.open("e:\\stud.txt");
infile.read((char *)&st[i],sizeof(student));
if(comp(st[i].getname(),sname)==1)
st[i].disp();
}
file.close();
}
void display(student st[])
{
ifstream infile;
for(int j=0;j<6;j++)
{
infile.open("e:\\stud.txt");
infile.read((char *)&st[j],sizeof(student));
st[j].disp();
}
infile.close();
}
void change(student st[])
{
char sname_m[10];
cout<<"请输入你要更改的姓名:"<<endl;
cout<<"-----------------------------"<<endl;
cin>>sname_m;
ofstream file;
for(int i=0;i<6;i++)
{
file.open("e:\\stud.txt");
if(comp(st[i].getname(),sname_m)==1)
st[i].creat();
file.write((char *)&st[i],sizeof(student));
}
file.close();
}
void main()
{
cout<<"***************欢迎进入小功能学籍管理系统*****************"<<endl;
student st[]={ student(1,"xiaoli",89),student(2,"xiaohua",78),
student(3,"xiaozhang",92),student(4,"xiaowang",65),
student(5,"xiaopeng",88),student(6,"xiaogang",65)};
int chorces;
while(chorces!=0)
{
cout<<"------------------------------------"<<endl;
cout<<" 1 查找 "<<endl;
cout<<" 2 更改 "<<endl;
cout<<" 3 全显 "<<endl;
cout<<" 0 退出 "<<endl;
cout<<"**************************************"<<endl;
cout<<"请输入你要的服务项:"<<endl;
cout<<"**************************"<<endl;
cin>>chorces;
cout<<"**************************"<<endl;
switch(chorces)
{
case 1:
find(st);
break;
case 2:
change(st);
break;
case 3:
display(st);
break;
}
}
}
四:用户手册
1、本程序运行环境为DOS 操作系统和C++系统,执行文件为test.exe
2、进入本程序后,如下图所示
***************欢迎进入小功能学籍管理系统*****************
1 查找
2 更改
3 全显
0 退出
**************************************
请输入你要服务项:
**************************************
3、此次程序是直接在屏幕上打印出程序的运行结果,用户将在屏幕上看到程序功能显示的结果。
五:调试、显示
***************欢迎进入小功能学籍管理系统*****************
1 查找
2 更改
3 全显
0 退出
**************************************
请输入你要服务项:
**************************************
1
xiaozhang
学号:3
姓名:xiaozhang
分数:92
2
xiaozhang
3
学号:1
姓名:xiaocui
分数:89
学号:2
姓名:xiaosun
分数:92
学号:3
姓名:xiaozhang
分数:92
学号:4
姓名:xiaowang
分数:65
学号:5
姓名:xiaopeng
分数:88
学名:6
姓名:xiaogang
分数:65
六:附录
class student //创建一个类
void creat()/void disp() //创建学生信息的函数
void main() //主函数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -