学籍管理系统c++Word文件下载.docx

上传人:b****5 文档编号:21070291 上传时间:2023-01-27 格式:DOCX 页数:12 大小:18.23KB
下载 相关 举报
学籍管理系统c++Word文件下载.docx_第1页
第1页 / 共12页
学籍管理系统c++Word文件下载.docx_第2页
第2页 / 共12页
学籍管理系统c++Word文件下载.docx_第3页
第3页 / 共12页
学籍管理系统c++Word文件下载.docx_第4页
第4页 / 共12页
学籍管理系统c++Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

学籍管理系统c++Word文件下载.docx

《学籍管理系统c++Word文件下载.docx》由会员分享,可在线阅读,更多相关《学籍管理系统c++Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

学籍管理系统c++Word文件下载.docx

classperson

{

public:

voidadd();

protected:

charname[10];

charsex[3];

};

这个类设计得很简单,因为它包含student类的基本信息,通过公有继承,直接应用person类的成员函数及其变量。

其中的数据成员含义如下:

用户姓名:

用name字符数组来表示,或者直接使用string类型的变量来存放

用户性别:

用sex字符数组来表示,或者直接使用string类型的变量来存放

为了对person类的信息进行必要的操作,最主要是添加函数:

voidadd();

//主要是输入姓名,性别的基本信息。

为了实现学生管理系统的基本功能,主要是通过建立一个student类的成员函数来实现它。

所以每个student类的成员函数都非常重要,它直接影响要功能的实现。

classstudent:

publicperson//继承person类

voidadd2();

voidaddban();

voiddel();

voidchange();

voidmenue();

voidreader();

voidsearchname();

voidsearchban();

voidsearchnumber();

voiddisp();

private:

intnumber;

charxibie[10];

intban;

//定义学号系别班级

其中数据成员的含义如下:

number:

用来存放一个学生的学号。

xibie:

用来存放一个学生的系别。

ban:

用来存放一个学生的班级。

其中的成员函数解释如下:

//写入函数

//增加班

//删除函数

//改变函数

//主菜单

//次菜单

//查询姓名

//查询班级

//查询学号

//显示

类体外定义了一个比较函数

boolcomp(chars1[],chars2[]);

//比较两个字符串相等

详细设计

Person类的实现

voidadd()//写入函数

{

cout<

<

"

请输入姓名:

endl;

cin>

>

name;

请输入性别:

sex;

}

Student类的实现

voidstudent:

:

disp()//显示

cout<

姓名:

name<

"

;

性别:

sex<

班级:

ban<

学号:

number<

系别:

xibie<

}

add()

请输入学生信息:

person:

add();

请输入学号:

cin>

number;

//输入学号

请输入系别:

xibie;

//输入系别

请输入班级"

ban;

//输入班级

add2()//写入函数

studenta;

a.add();

fstreamfile("

student.txt"

ios:

binary|ios:

out|ios:

app);

//二进制打开文件,指针指向文件尾

file.write((char*)&

a,sizeof(a));

//把类信息写入文件

file.close();

//关闭文件

searchname()//按姓名查询

请输入所要查询的学生姓名:

charname2[10];

cin>

name2;

in);

//二进制打开文件,指针在文件头

file.read((char*)&

//读取类信息

while(!

file.eof())//判断文件指针是否到文件尾

if(comp(a.name,name2))//判断输入的字符是否与文件重点一样

a.disp();

//如一样的话,显示信息

file.read((char*)&

//如果指针没到文件尾,继续读取

searchban()//按班级查询

请输入所要查询的学生班级:

intban2;

ban2;

//输入年龄

//第一个学生类的对象

//二进制打开文件。

指针在文件头

file.eof())//判断指针是否在文件尾

if(a.ban==ban2)//判断输入年龄是否与文件中的年龄一样

//如果一样的话,显示信息

//如果指针没到文件尾,继续读取

searchnumber()//按学号查询

请输入所要查询的学生编号:

intnumber2;

number2;

//输入学号

if(a.number==number2)//判断输入的学号是否与文件中的一样

del()//删除函数

staticcharread_name[10];

//定义静态变量

staticcharread_sex[3];

staticintread_ban;

staticintread_number;

staticcharread_xibie[10];

intn;

intrecsize=sizeof(read_name)+sizeof(read_sex)+sizeof(int)+sizeof(int)+sizeof(read_xibie);

//一个人的信息的长度

strcpy(name,"

);

//删除用空字符和0来代表的,

strcpy(sex,"

ban=0;

number=0;

strcpy(xibie,"

student2.txt"

endl<

请输入你要删除第几位学生的信息:

n;

//输入第几个学生

file.seekp((n-1)*recsize,ios:

beg);

//指向功能

file.write(name,10);

//把空字符写入文件

file.write(sex,3);

file.write((char*)&

ban,sizeof(int));

number,sizeof(int));

file.write(xibie,10);

该学生删除成功"

//提示

change()//修改函数

staticintread_year;

intn;

fstreamfile("

in|ios:

out);

请输入你要修改第几位学生的信息:

//定位的位置

输入你要修改的信息:

studenta;

//定义学生对象

a.add();

//调用写入函数

file.write((char*)(&

a),sizeof(a));

//写入对象

file.close();

//关闭文件

该学生信息修改成功"

addban()

intc;

charb;

chary;

输入你要建立的班级"

c;

输入这个班的成员"

继续,输入y"

b;

while(b=='

y'

a.add2();

继续?

输入y"

menue()

1添加学生信息"

<

2修改学生信息"

3删除学生信息"

4查询学生信息"

5新建班级"

6退出系统"

reader()

1按姓名查询"

2班级查询"

3按学号查询"

4退出"

类外函数的实现

boolcomp(chars1[],chars2[])//比较文件中字符和输入的字符是否相同

inti=0;

while(s1[i]!

='

\0'

&

s2[i]!

s1[i]==s2[i])

i++;

if(s1[i]=='

&

s2[i]=='

return1;

else

return0;

程序测试

/******************************************

*

*测试主函数

*******************************************/

voidmain()

intx1,x2;

do

a.menue();

请输入操作号:

x1;

//输入选项

switch(x1)//主菜单选择

{

case1:

a.add2();

break;

case2:

a.change();

case3:

a.del();

case4:

do

{

a.reader();

cout<

请输入操作号:

cin>

x2;

switch(x2)

{

case1:

a.searchname();

break;

case2:

a.searchban();

case3:

a.searchnumber();

}

}while(x2!

=4);

break;

case5:

a.addban();

}

}while(x1!

=6);

个人体会

通过这次课程设计,我更加深刻的知道了我们学的c++和我们的生活密切相连,所以更应该注意平时上课各种小知识点的积累。

然后上机具体操作的情况又与笔试有很大的不同,因为通过键盘操作,更容易出错。

所以我们平时在学习的时候,就应该做到边学边编,如果很久没有接触到c++的编译环境,就会出现不知道从何如手。

另外,程序的变化太大拉,它需要我们拓展课外知识,所以仅靠在课堂上的时间学好它是不现实的。

有很多小的技巧,以及编程思想需要我们自己去领悟,这要求我们要有很好的自学能力。

比如说这次变成如果没有掌握好用2进制的方式输入文件的话,就很难编出能实现功能的程序

编程最重要的是思路清晰,条理清楚,只有思路比较清楚的条件下,进展才比较顺利。

并且,在编译过程中遇到的错误也要耐心去修改,并且记住这相应的错误代码,以便以后遇到相同的情况,知道怎么修正。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1