C++课程设计学生信息管理系统Word文档下载推荐.docx

上传人:b****6 文档编号:18662544 上传时间:2022-12-31 格式:DOCX 页数:18 大小:43.62KB
下载 相关 举报
C++课程设计学生信息管理系统Word文档下载推荐.docx_第1页
第1页 / 共18页
C++课程设计学生信息管理系统Word文档下载推荐.docx_第2页
第2页 / 共18页
C++课程设计学生信息管理系统Word文档下载推荐.docx_第3页
第3页 / 共18页
C++课程设计学生信息管理系统Word文档下载推荐.docx_第4页
第4页 / 共18页
C++课程设计学生信息管理系统Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C++课程设计学生信息管理系统Word文档下载推荐.docx

《C++课程设计学生信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计学生信息管理系统Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

C++课程设计学生信息管理系统Word文档下载推荐.docx

3.进行应用程序的界面设计和源程序代码的编写;

(2.5天)

4.设计说明书的撰写、答辩(1.5天)

五、主要参考文献

[1]《C++语言程序设计(第三版)》,郑莉,清华大学出版社,2004

[2]《C++程序设计教程》,钱能主编,清华大学出版社,1999.4

[3]《C++程序设计课程设计》,刘振安,机械工业出版社,2004.8

审核意见

系(教研室)主任(签字)

指导教师下达时间2011年1月17日

指导教师签字:

_______________

前言

学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。

它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:

效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。

随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。

例如:

检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。

因此,开发这样一套管理软件成为很有必要的事情。

第一章系统概述

1.1功能简介

本软件是一个简单的学校学生信息管理系统,软件窗口为DOS页面。

学生信息管理系统的功能主要是实现学校学生的信息化管理。

通过学生信息管理系统,教学管理人员可以实现对学生信息的增加、删除、修改和查询等操作。

本系统最大的优点就是操作简便快捷等。

1.2设计思路

将学生信息定义为一个student类,在类中包含私有数据成员intnum、stringname、stringsex、stringpolitic、stringaddress,分别表示学号、姓名、性别、政治面貌、家庭住址。

公有成员函数包括set(),add(),del(),change(),research(),show(),分别用来实现对学生信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数据功能。

然后定义了一个menu()菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。

主函数是一个程序必不可少的,在主函数中,使用一个switch语句来选择调用主菜单中的各个功能函数。

第二章系统功能的分析和设计

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

2.1初始录入功能

此函数实现的功能主要是,对学生信息的初始化录入功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个if条件语句来实现控制循环,当输入的姓名是“0”时,使用break语句就跳出循环,即停止输入学生信息。

在此函数中使用文件处理的方式,先建立一个文件输出流对象,以写的方式打开f1.txt文件,使输入的学生信息都写入文件。

2.2添加函数

此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息。

在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。

2.3删除函数

此函数实现的功能主要是,删除一个学生的信息。

在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件。

再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。

2.4修改函数

此函数实现的功能主要是,修改一个学生的信息。

此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖。

2.5查询函数

在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按姓名查询。

使用if语句来选择查询条件。

2.5.1按学号查询

根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环。

当无查询结果时,会输出一条提示信息“无此人信息!

”。

2.5.2按姓名查询

根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生。

2.6显示函数

此函数实现的功能主要是,显示所有学生的信息。

先是从文件中读取学生信息,然后在输出到显示窗口中。

用一个for循环语句,来把所有学生的信息都输出。

2.7退出系统

当输入“0”时,就能退出系统,这是通过while语句来控制实现的。

第三章调试及运行结果

3.1主菜单

主菜单显示如下:

图3-1主菜单

3.2显示功能

按6则显示全部信息,如图3-2:

图3-2显示功能

3.3增加功能

进入主菜单后选择2,进入增加功能,按要求输入学生信息,增加数据前显示如图3-2:

增加后显示如图3-3:

图3-3增加后

3.4删除功能

进入主菜单后选择3,进入删除功能,按要求输入要删除的学生信息,删除数据前显示如图3-3:

删除数据后显示如图3-4:

图3-4删除后

3.5修改功能

进入主菜单后选择4,进入修改功能,按要求输入要修改的学生信息,修改数据前显示如图3-4:

修改后如图3-5:

图3-5修改后

3.6查询功能

进入主菜单后选择5,进入查询功能,如图3-6:

图3-6选择查询条件

按学号查询如图3-7:

按姓名查询如图3-8:

图3-7按学好查询:

图3-8按姓名查询

第四章总结

4.1遇到的问题及解决方法

首先,是对文件的处理不够熟练,通过看书和搜集一些资料解决了这个问题;

其次,是在编写程序的过程中出现了一些语法错误,后通过调试逐一解决。

4.2收获和体会

此次c++面向对象课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。

程序实现上,设计了简单的菜单界面,将各个功能集中出现在主菜单中,便于调用。

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;

进一步加深对C++语言的理解和掌握。

理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。

我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

参考文献

[1]《C++语言程序设计(第三版)》,郑莉,清华大学出版社,2004

[2]《C++语言程序设计案例教程》,郑莉,清华大学出版社,2005

[3]《C++程序设计教程》,钱能主编,清华大学出版社,1999.4

[4]《C++程序设计》,谭浩强,清华大学出版社,2004

[5]《C++程序设计实践指导》,谭浩强,清华大学出版社,2005

[6]《C++程序设计课程设计》,刘振安,机械工业出版社,2004.8

附录:

程序代码

#include<

iostream>

fstream>

string>

iomanip>

usingnamespacestd;

#defineM200//可以存信息总量

intN=0;

//学生总量

classstudent

{

public:

student();

voidset();

//初始化信息,第一次对信息的录入

voidadd();

//添加学生信息

voiddel();

//删除某学生信息

voidchange();

//修改某学生信息

voidsearch();

//查询某学生信息

voiddisplay();

//显示全部学生信息

private:

staticintnum;

stringname,sex,politic,address;

};

intstudent:

:

num=110;

student:

student(){}

voidstudent:

set()

inti;

stringsetname,setsex,setpolitic,setaddress;

ofstreamoutfile;

outfile.open("

f1.txt"

ios:

out);

//----打开文件----

if(!

outfile)

{

cerr<

<

"

openerror"

endl;

exit

(1);

}

//----依次录入相应个数的学生信息----

for(i=0;

i<

M;

i++)

cout<

当姓名输入为'

0'

时,停止输入!

请输入姓名:

cin>

>

setname;

name=setname;

if(setname=="

0"

)break;

if(setname!

="

{

N++;

num++;

outfile<

num<

"

;

outfile<

setname<

请输入性别:

cin>

setsex;

sex=setsex;

setsex<

请输入政治面貌:

cin>

setpolitic;

politic=setpolitic;

outfile<

setpolitic<

请输入家庭住址:

setaddress;

address=setaddress;

setaddress<

}

outfile.close();

//----关闭文件----

}

add()

stringaddname,addsex,addpolitic,addaddress;

//----以追加的方式录入信息,直接将信息追加到以前文件的末尾----

ofstreamoutfile("

app);

outfile)

N=N+1;

//----依次输入相应的数据,并且追加到之前的文件中去----

cout<

请输入您要添加的数据"

num++;

addname;

addname<

addsex;

addsex<

addpolitic;

addpolitic<

addaddress;

addaddress<

outfile.close();

已添加成功!

del()

intk,i;

intnum[M];

stringname[M],sex[M],politic[M],address[M];

ifstreaminfile("

in);

infile)

N;

infile>

num[i];

setw(9)<

name[i];

sex[i];

politic[i];

address[i];

address[i]<

你想删除第几个?

k;

k=k-1;

infile.close();

//退出程序

//----将数组存取的信息输出到文件中去----

if(i!

=k)

num[i]<

name[i]<

sex[i]<

politic[i]<

N=N-1;

已删除成功!

change()

inti,k;

cerr<

exit

(1);

你想修改第几个数据?

请输入新的数据:

name[k];

sex[k];

politic[k];

address[k];

已修改成功!

search()

inti,n,w=0,num[M],a[M];

charch;

stringsearchname,name[M],sex[M],politic[M],address[M],b[M][4];

a.按学号查找b.按姓名查找"

a[i]=num[i];

b[i][0]=name[i];

b[i][1]=sex[i];

b[i][2]=politic[i];

b[i][3]=address[i];

请输入a或者b!

ch;

if(ch=='

a'

请输入学号!

n;

for(i=0;

if(a[i]==n)

{

w=1;

cout<

学号姓名性别政治面貌家庭住址"

a[i];

b[i][0];

b[i][1];

cout<

b[i][2];

b[i][3]<

}

if(w==0)

无此人信息!

elseif(ch=='

b'

请输入姓名!

searchname;

if(name[i]==searchname)

if(w==0)

elsecout<

没有此选项!

display()

intk,num;

for(k=0;

k<

k++)

num;

name;

sex;

politic;

address;

address<

studentstu;

voidmain()

charch;

voidmenu();

menu();

while(ch!

='

system("

cls"

);

switch(ch)

case'

1'

stu.set();

break;

2'

stu.add();

3'

stu.del();

4'

stu.chang

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

当前位置:首页 > 经管营销

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

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