学生基本信息管理系统.docx

上传人:b****7 文档编号:10622662 上传时间:2023-02-21 格式:DOCX 页数:30 大小:215.20KB
下载 相关 举报
学生基本信息管理系统.docx_第1页
第1页 / 共30页
学生基本信息管理系统.docx_第2页
第2页 / 共30页
学生基本信息管理系统.docx_第3页
第3页 / 共30页
学生基本信息管理系统.docx_第4页
第4页 / 共30页
学生基本信息管理系统.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

学生基本信息管理系统.docx

《学生基本信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生基本信息管理系统.docx(30页珍藏版)》请在冰豆网上搜索。

学生基本信息管理系统.docx

学生基本信息管理系统

 

 

前言

随着两周时间的过去,本次的“学生成绩管理系统”课程设计也结束了。

虽然只是两周时间,但是却让我对C++有了新的认识和更深一步的了解。

在这两周里,每天下午都坐在机房,对着电脑,看着自己编写的代码从少变多,从简单变复杂。

心里都有种说不出的感觉,既希望能够快点写完,又害怕出现未知的错误。

虽然其中出现很多错误,但是经过请教一些同学,上网XX或者翻看教科书,最终还是解决了这些问题,完成了任务。

“C++程序设计”是大学本科计算机相关专业的一门非常重要的专业基础课。

本课程的重点是C++程序语言的选择、循环语句,数组,函数,指针,类及对象以及继承、多态等,给学生渗透程序及算法设计的基本思想及方法,难点是指针和面向对象的理解。

为体现作为专业基础课的“专业”和“基础”的特点,本次课程设计有两个方面的内容要在实践中落实:

一、掌握C++语言本身的语法及程序结构。

二、掌握一定的算法及常用函数的编程实现,为后续课程打好基础。

同时,我也希望自己可以在此次课程设计学习之后,可以更加熟练的运用C++基本语句,培养自己对于计算机编程的喜爱,对编程可以有更深一步的了解。

 

1、课程设计的目的及要求

1.1课程设计的目的

C++课程设计是将C++理论教学及实践环节相结合的关键步骤,通过该实践教学环节,使学生进一步学习和巩固C++课程的核心内容,加深对面向对象程序设计思想的正确理解;并且熟练掌握C++程序设计技能及上机调试方法,为今后学习其他专业课程打好基础;并能具备一定的计算机程序设计能力,培养独立分析问题、解决问题及查阅资料、获取新知识的能力,以适应技术不断更新的计算机行业特点。

1.2课程设计的内容

按照要求设计一个学生基本信息管理系统,实现对学生信息的综合管理。

学生信息包括:

学号、姓名、年龄、性别、家庭住址、联系电话、寝室号等信息。

现要求编写程序来完成如下功能:

(1)学生信息的输入

包含功能:

对输入的学号是否重复进行判断(学号唯一);对输入的是否为有效性别进行判断。

(2)学生信息的显示

(3)学生信息的查询

包含功能:

实现按“学号、姓名、性别、寝室号”等查询;若非法查询或未查到请给予提示。

(4)学生信息的统计

包含功能:

统计学生的“男生人数、女生人数、总人数”

(5)学生信息的删除

包含功能:

删除指定学号的学生信息;若无此记录,给予提示。

(6)学生信息的修改

包含功能:

根据接收到的待修改的学生的学号,进行对相应信息的修改。

(7)清理屏幕

(8)退出

1.3课程设计的要求

(1)熟悉VC++6.0编译环境,熟练使用编译调试工具。

(2)学习C++输入输出流对象的使用。

(3)通过系统分析和实现,掌握简单软件开发的一般过程。

(4)以学生独立思考、解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,撰写课程设计报告。

2、设计方案及具体实现

2.1程序总的功能说明

这是一个学生基本信息管理系统,通过本系统,可以实现对学生信息进行学生信息的录入、学生信息的显示、学生信息的统计、学生信息的删除、学生信息的修改、清理屏幕和退出等功能,可以有效的对学生信息进行综合管理。

学生信息包括:

学号、姓名、性别、年龄、家庭住址、联系电话以及寝室号等信息。

2.2总的设计思路及流程

在这个学生基本信息管理系统中,定义了函数voidgetInfo()、voidSaveTxt()、voidstuSaveTxt()、voidshowInfo()、voidsearchmenu()、voidsearchnum()、voidsearchname()、voidsearchsex()、voidsearchdormitory()、voidcountmenu()、voidaltermenu()、voidalterstudent()、voiderase()、inthuoqu(inti)、进行学生信息的录入、保存、显示学生信息、按学号、姓名、性别、寝室号查询;统计学生信息、修改学生信息、删除学生信息等的实现,另外用函数实现了程序中的清屏和退出。

在函数中,多次运用switch(),dowhile()函数,使程序简单顺利的进行。

当然,通过menu()等的菜单函数,来实现功能菜单显示在运行窗口以提示用户如何进行操作。

另外,主函数main()中,不再是全部在一个函数中实现,而是通过对函数的调用,让函数的功能进行实现。

另外,在函数中也用了大量的清屏和退出函数,使整个管理系统更为合理和完善。

2.3系统功能的说明和设计及各模块流程图

在本章中,主要是介绍各个功能函数的设计思路和实现方法。

在整个管理系统中让用户的使用更加容易,使整个程序变得更为简便。

整个管理系统的结构图如下:

录入学生信息

学生的录入信息函数中,通过对getInfo()函数的调用,对学号、姓名、年龄、性别、家庭住址、联系电话、寝室号进行录入、保存。

显示学生信息

在学生信息的显示中,通过对showInfo()函数的调用,来显示所有的学生数据。

其中包括所有学生的学号、姓名、年龄、性别、家庭住址、联系电话、寝室号,显示成功后,又用system("pause")来实现按任意键返回,可以返回到主菜单,

再次进行选择。

 

查询学生信息

在学生的信息查询中,通过调用searchmenu()来进行输入提示。

具体操作中,通过调用searchnum()、searchname()、searchsex()、searchdormitory()分别以学生的学号、姓名、性别、寝室号进行查询,通过这些函数对学生的信息进行了筛选,使查询信息变得更为简单,也更省时间。

通过switch()函数,实现了查询的四种方法,也通过system("pause")进行了程序的返回。

 

统计学生信息

在学生信息的统计中,统计函数主要通过对TXT文件里面性别(sex)数据做统计,最后按照想要统计的输出统计的男生人数、女生人数、总人数的统计,同时输入任意键可以用system("pause")来进行返回。

 

删除学生信息

删除信息功能需要先调用查找学号位置函数,然后通过不读入要删除学号信息的方法,重新写入原来TXT文件里面实现删除功能。

 

修改学生信息

修改函数主要是先通过输入的学号查找信息所在TXT文件所在的位置,然后再通过voidalterstudent()函数对学号,姓名,性别,年龄,家庭住址,联系方式,宿舍号的修改。

清理屏幕

清理屏幕通过system("cls");函数实现。

退出

退出功能就是结束程序,通过break结束循环结束程序。

3、调试及运行结果

3.1主菜单

主菜单显示了1录入学生信息,2显示学生信息,3查询学生信息,4统计学生信息,5删除学生信息,6修改学生信息,7清理屏幕,0退出管理系统等功能选项及姓名联系方式等信息。

 

3.2录入学生信息

在主菜单中选择1,将出现输入学号,姓名,年龄,性别,地址,电话,寝室号等选项,输入完毕后,成功保存到电脑D盘中。

若输入相同的学号,将出现提示“重复学号”。

3.3显示学生信息

在主菜单中选择2,系统将会自动显示student.txt文件中的内容。

3.4查询学生信息

在主菜单选择3,将通过选择按学号查询,按姓名查询,按性别查询,按寝室号查询等选项,输入对应的选项将显示所查找的信息。

以下是按学号查询:

3.5统计学生信息

在主菜单选择4,系统将会统计出来输入的男生人数,女生人数,总人数并显示。

3.6删除学生信息

选择删除信息选项后,系统提示输入要删除的学号,输入回车即可删除学生信息。

3.7修改学生信息

3.8清理及退出

选择退出管理系统后,程序将结束

4、小结

经过不到两个星期的努力,“学生信息管理系统”终于做完了,这是第一次完成一个系统。

学习的心态很关键,不懂了就要学着去用不同的方式去获取,补足自己,通过各种各样的方式,学着去请教别人和别人交流,做到不懂就问。

不可否认的是,这个系统并不是靠我一个人的能力完成的。

我请教了很多同学,有时为了理解代码的含义,经常问同学或是上网查资料,并且老师给我们的模板对我的帮助也非常大,让我学会了使用#include等文件的使用,在编程过程中有的错误提示自己实在想不通的就去XX上搜,网络给了我很多帮助。

过程是有点儿浮躁的,有的时候为难的有点儿绝望,不过经过同学在一起讨论和自己的摸索,整个流程还是较为通顺的完成了。

在做程序的过程中,因为太为频繁的使用switch语句do-while语句,有的甚至是switch中套着switch,出错后再进行修改,很容易大括号丢失或多余,这时程序提示的错误也就变得不准确了,即使知道是因为大括号导致的问题,也一时半会儿改不出来,浪费了很多时间。

这种错误的原因还是因为自己对语句不够熟练,以后的学习中要避免类似错误发生。

另外,在刚开始做这个程序的时候,和老师的思路不是特别一样,自己也尝试着按照自己的想法做程序,但是导致自己两天都没有任何进展,最后又重新做了一遍。

自己在对C语言的了解还不够多,只是皮毛,所以还不能轻松地运用自如,一些方面还是考虑的不够周全,这是我所欠缺的。

虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。

学习计算机是一个漫长的过程,当然有时也会很枯燥,甚至在别人眼中是不可思议的。

但是既然选择了这个专业,就努力脚踏实地学好,让它真正的为己所用。

参考文献

1.《C++面向对象程序设计》谭浩强清华大学出版社

2.《数据结构(C语言版)》严蔚敏&吴伟民清华大学出版社

3.XX资源

 

附录:

程序代码

#include

#include

#include

#include

usingnamespacestd;

classStudent//声明类

{private:

stringnum;

stringname;

intage;

stringsex;

stringaddress;

stringphone;

stringdormitory;

public:

voidgetInfo();//录入

voidSaveTxt();//保存

voidshowInfo();//显示

voidsearchmenu();//查询菜单

voidsearchnum();

voidsearchname();

voidsearchsex();

voidsearchdormitory();

voidcountmenu();//统计

voidaltermenu();//修改菜单

voidalterstudent();//修改

voidalterSaveTxt();

voiderase();//删除

inthuoqu(inti);

};

//获取录入新的学生信息

voidStudent:

:

getInfo()

{

cout<<"请输入学号:

"<

cin>>num;

cout<<"请输入姓名:

"<

cin>>name;

cout<<"请输入年龄:

"<

cin>>age;

cout<<"请输入性别:

"<

cin>>sex;

cout<<"请输入地址:

"<

cin>>address;

cout<<"请输入电话:

"<

cin>>phone;

cout<<"请输入寝室号:

"<

cin>>dormitory;

cout<<"是否确认?

1、是,按其他键为退回主页面"<

inta;

cin>>a;

}

voidStudent:

:

SaveTxt()

{

fstreamfout1("f:

\\student.txt",ios:

:

out|ios:

:

app);

if(!

fout1)

{

cout<<"Cannotopenfile."<

exit

(1);

}

fout1<

fout1.close();

}

//显示所有学生信息

voidStudent:

:

showInfo()

{

fstreamfin("f:

\\student.txt",ios:

:

in);

if(!

fin)

{

cout<<"Cannotopenfile."<

exit

(1);

}

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

{

break;

}

cout<<"学号:

"<

"<

"<

"<

cout<<"家庭住址:

"<

"<

"<

num="";

}

fin.close();

system("pause");

}

//查询菜单

voidStudent:

:

searchmenu()

{

cout<<"=============================="<

cout<<"1按学号查询2按姓名查询"<

cout<<"3按性别查询4按寝室号查询"<

cout<<"------------------------------"<

cout<<"请选择:

";

}

voidStudent:

:

searchnum()

{

stringNum;

cout<<"请输入你要查询的学号:

"<

cin>>Num;

fstreamfin("f:

\\student.txt",ios:

:

in);

if(fin.fail())

{

cout<<"Cannotopenfile."<

exit

(1);

}

intn=0;

cout<<"查询结果:

";

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(num==Num)

{

cout<<"学号:

"<

"<

"<

"<

cout<<"家庭住址:

"<

"<

"<

n=1;

}

num="";

}

if(n==0)

{

cout<<"没有要找的学生"<

}

fin.close();

system("pause");

}

voidStudent:

:

searchname()

{

stringName;

cout<<"请输入你要查询的姓名:

"<

cin>>Name;

fstreamfin("f:

\\student.txt",ios:

:

in);

if(fin.fail())

{

cout<<"Cannotopenfile."<

exit

(1);

}

intn=0;

cout<<"查询结果:

";

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(name==Name)

{

cout<<"学号:

"<

"<

"<

"<

cout<<"家庭住址:

"<

"<

"<

n=1;

}

num="";

}

if(n==0)

{

cout<<"没有要找的学生"<

}

fin.close();

system("pause");

}

voidStudent:

:

searchsex()

{

stringSex;

cout<<"请输入你要查询的性别:

"<

cin>>Sex;

fstreamfin("f:

\\Student.txt",ios:

:

in);

if(fin.fail())

{

cout<<"Cannotopenfile."<

exit

(1);

}

intn=0;

cout<<"查询结果:

";

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(sex==Sex)

{

cout<<"学号:

"<

"<

"<

"<

cout<<"家庭住址:

"<

"<

"<

n=1;

}

num="";

}

if(n==0)

{

cout<<"没有要找的学生"<

}

fin.close();

system("pause");

}

voidStudent:

:

searchdormitory()

{

stringDormitory;

cout<<"请输入你要查询的寝室号:

"<

cin>>Dormitory;

fstreamfin("f:

\\student.txt",ios:

:

in);

if(fin.fail())

{

cout<<"无法找到文件"<

exit

(1);

}

Studentstu;

intn=0;

cout<<"查询结果:

";

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(dormitory==Dormitory)

{

cout<<"学号:

"<

"<

"<

"<

cout<<"家庭住址:

"<

"<

"<

n=1;

}

num="";

}

if(n==0)

{

cout<<"没有要找的学生"<

}

fin.close();

system("pause");

}

voidStudent:

:

countmenu()//统计

{

fstreamfin("f:

\\student.txt",ios:

:

in);

intm=0,n=0,i=0;

if(fin.fail())

{

cout<<"Cannotopenfail.";

exit

(1);

}

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(sex=="男")

n++;

else

i++;

m++;

}

fin.close();

cout<<"男生人数有"<

cout<<"女生人数有"<

cout<<"总人数"<

system("pause");

}

//查找

intStudent:

:

huoqu(inti)

{

intn=0;

stringm;

switch(i)

{

case1:

cout<<"请输入要删除的学号:

";break;

case2:

cout<<"请输入要修改的学号:

";break;

default:

"错误!

";break;

}

cin>>m;

fstreamfin("f:

\\student.txt",ios:

:

in);

if(fin.fail())

{

cout<<"Cannotopenfail.";

exit

(1);

}

while(!

fin.eof())

{

fin>>num>>name>>sex>>age>>address>>phone>>dormitory;

if(num=="")

break;

if(num==m)

n++;

}

returnn;

}

//删除

voidStudent:

:

erase()

{

intcount=0,n;

n=huoqu

(1);

fstreamfile("f:

\\student.txt");

stringline;

ofstreamoutfile("d:

\\in2.txt",ios:

:

out|ios:

:

trunc);

while(!

())

{

getline();

if(count!

=n-1)

outfile<

count++;

}

out();

();

ofstreamoutfile1("f:

\\student.txt",ios:

:

out|ios:

:

trunc);

fstreamfile1("d:

\\in2.txt");

while(!

())

{

getline();

outfile1<

}

out();

();

system("delin2.txt");

}

voidStudent:

:

altermenu()

{

cout<<"请输入要修改的学号:

";

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

当前位置:首页 > 高等教育 > 工学

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

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