文件操作学生信息管理系统Word文档下载推荐.docx
- 文档编号:19229210
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:11
- 大小:23.19KB
文件操作学生信息管理系统Word文档下载推荐.docx
《文件操作学生信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《文件操作学生信息管理系统Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
②类的定义:
先定义person类(存放在“person.h”中),派生出学生类(存放在“student.h”中),在学生类中重载“<
<
”、“>
>
”实现学生数据的输入/输出(输出时各列对整齐);
③学生数据查询按学号或姓名查询;
三、实验设备及软件
计算机、VisualC++6.0
四、设计方案
㈠题目:
学生数据处理
㈡设计的主要思路
1.程序头文件包括c++输入输出操作文件,文件操作流,字符串操作等头文件.
2.首先定义一个person类,它的数据成员有姓名,性别,成员函数包括姓名,性别的返回,输入和输出.
3.建立student类,公有继承person类,在student类中数据成员有学生的学号,年龄,出生日期(包括年月日),成员函数包括虚函数姓名,性别的输入输出函数,以及运用运算符重载函数输入输出函数进行学号,年龄,出生日期的输入输出.
4.主函数中,定义一个student的对象,以便对student类和person类中的数据成员,成员函数调用,然后定义输入输出流对象f1,f2,为接下来的文件操作做好铺垫,主函数中有一个菜单.以便操作时简单,容易,设计循环结构以便实现数据的多次操作,菜单主要包括学生数据的输入输出,以及进行学生数据的查找,使用switch,while等循环,对各个菜单的功能加以分化,以便实现根据不同的操作指令,程序执行不同的功能;
在d盘中建立一个文件夹,以便实现程序的正常运行;
学生数据的查找采用输入姓名的查找方式实现.
㈢主要功能
1.学生数据的输入.
2.学生数据的输出.
3.学生数据的查询..
五、主要代码
#include<
iostream.h>
fstream.h>
string.h>
classperson
{
public:
charname[11];
charsex[3];
char*get_name(void)
{returnname;
}
char*get_sex(void)
{returnsex;
voidprint(void);
voidinput(void);
};
voidperson:
:
print(void)
cout<
"
姓名:
name<
endl;
性别:
sex<
input(void)
;
cin>
name;
sex;
classstudent:
publicperson
public:
intnum,age,year,month,day;
virtualvoidget_input()
{person:
input();
virtualvoidget_output()
print();
friendistream&
operator>
(istream&
student&
);
friendostream&
operator<
(ostream&
istream&
operator>
input,student&
obj)
{
学号:
input>
obj.num;
年龄:
obj.age;
出生日期:
年:
obj.year;
月:
obj.month;
日:
obj.day;
returninput;
ostream&
operator<
output,student&
output<
obj.num<
"
obj.age<
出生日期:
年:
obj.year<
obj.month<
obj.day<
returnoutput;
voidmain()
studentobj;
ifstreamf1;
ofstreamf2;
intn=1;
charch;
while(n)
{
\n***********************"
\n*学生信息处理主菜单:
*"
\n*---------------------*"
\n*1.学生基本数据输入*"
\n*2.学生基本数据输出*"
\n*3.学生基本数据查找*"
\n*4.退出系统*"
\n请输入你选择(0-4):
n;
switch(n)
{case0:
break;
case1:
{
ofstreamf2("
d:
\\vcprg\\test.txt"
if(!
f2)
{
cout<
\acan'
topentest.txt"
return;
}
charch='
y'
while(ch=='
)
请输入此学生信息:
\n"
obj.get_input();
cin>
obj;
f2.write((char*)&
obj,sizeof(student));
cout<
继续吗?
(y/n)"
ch;
f2.close();
break;
}
case2:
ifstreamf1("
f1)
topentest.txt"
while(f1.peek()!
=EOF)
f1.read((char*)&
obj.get_output();
cout<
f1.close();
case3:
charna[11];
intflag;
ch='
f1.open("
{
\n请输入查找学生的姓名:
cin>
na;
ifstreamf1("
if(!
{
cout<
return;
}
while(!
f1.eof())
f1.read((char*)&
if(strcmp(na,obj.name)==0)
{
obj.get_output();
cout<
break;
}
}
无输出的话即没有这名学生,继续查找吗?
(y/n)"
case4:
退出系统!
break;
}
是否继续操作?
(y/n):
if(ch!
='
六、测试结果及说明
测试结果:
***********************
*学生信息处理主菜单:
*
*---------------------*
*1.学生基本数据输入*
*2.学生基本数据输出*
*3.学生基本数据查找*
*4.退出系统*
***********************
请输入你选择(0-4):
1
张三
男
1001
18
1990
3
6
(y/n)y
李四
1002
19
1989
5
8
王萍
女
1003
17
1991
2
15
(y/n)n
y
1001年龄:
18出生日期:
1990月:
3日:
1002年龄:
19出生日期年:
1989月:
5日:
1003年龄:
17出生日期:
1991月:
2日:
请输入查找学生的姓名:
无输出的话即没有这名学生,继续查找吗?
(y/n)y
小明
(y/n)n
4
n
pressanykeytocontinue
说明:
程序正确的完成了所要求的功能.
七、实验体会
通过此次实验,我认识到了自己的不足之处,知道了自己在哪些地方还需要多下功夫,以及学到了以前不知道的知识,在接下来的时间里我会多做一些类似的实验题目,更好的巩固自己学到的知识和学到一些课本里没有的知识,充实自己.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 操作 学生 信息管理 系统