学生社团管理系统程序C++课程设计1.docx
《学生社团管理系统程序C++课程设计1.docx》由会员分享,可在线阅读,更多相关《学生社团管理系统程序C++课程设计1.docx(26页珍藏版)》请在冰豆网上搜索。
学生社团管理系统程序C++课程设计1
合肥学院
计算机科学与技术系
课程设计报告
2010~2011学年第二学期
课程
C++课程设计
课程设计名称
学生社团管理程序
学生姓名
章丹
学号
1004013033
专业班级
计科
(1)班
指导教师
华姗姗
2011年6月
一、课程设计目的:
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。
(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序和修改程序。
二、需求分析:
课程设计名称:
学生社团管理程序
设计内容:
编写一个简单的学生社团管理程序,帮助管理学生社团信息。
要求具有学生信息管理和社团信息管理的功能。
其中学生信息管理包括学生基本信息的录入、删除和修改等功能。
社团信息管理包括社团信息的录入,查看,删除,修改等功能。
二算法设计
1.设计思想:
学生社团管理程序(添加信息、修改信息、删除信息,查询信息,);
要完成这个题目,主要是建立解决输入的信息的存储,解决的方法是建立动态数组,用于存储信息。
解决了这个问题后就是如何建立联系了,解决的方法是创建一个文件档用来储存输入的信息。
2.功能要求
在学生社团管理系统中须实现以下功能:
(1)添加社员信息:
能够社员的信息,添加信息如下图;
(2)修改社员信息:
能对学生社团管理系统中存储的信息进行修改;
(3)删除社员信息:
可以删除学生社团管理系统中所有社员的信息;
(4)查询社员信息:
按照每个社员的会员号可以进行查询社员的情况;
(5)存储信息:
能够记录保存在设定的文件档中,以便使用;
(6)退出系统:
任务完成后,能够正常退出系统。
3.技术要求
(1)学生信息管理包括学生基本信息的录入、删除和修改等功能。
社团信息管理包括社团信息的录入,查看,删除,修改等功能。
(2)信息以文件档的形式存储,存储位置,文件名,文件格式由设计者确定。
(3)以菜单方式实现功能选择控制。
三.学生社团管理程序的框图设计
1总体实现功能
主要的数据结构:
社员会员号、社员姓名,社员年龄,社员性别,社员专业,社员班级、社团名称。
以这些数据来存储学生的信息,能够了解学生社团的各项情况。
下图给出了学生社团管理程序的功能结构:
(1)添加信息模块
社员进入该模块,输入自己的相关信息,输入后,保存自己的信息,这样系统就存储了你的信息。
(2)修改信息模块
社员进入该模块,输入自己的社员会员号,在进入自己的信息区域,修改自己的相关信息,再保存,即可。
(3)删除信息模块
社员进入模块,可以删除社员的所有信息,进行查看。
(4)查询信息模块
社员进入该模块,可以查询自己的信息情况。
(5)退出系统
2、设计功能的实现和分析
(1)定义结构体
structMessage//构造学生信息结构体
{
stringID;//社团会员号
stringname;//社员姓名
stringsex;//社员性别
stringage;·················`//社员年龄
stringprofession;//社员专业
stringgrade;//社员班级
stringclub;//社团名称
(2)学生信息类
classstudentmessage
{
public
charMenu();//菜单
voidAdd();//添加社员信息
voidChange();//修改社员信息
voidDelate();//删除社员信息
voidSearch();//查询社员信息
voidWrite();//写入文件
voidRead();//从文件中读取
private:
vectormes;
staticinttimes;
};
(3)显示菜单函数
/////////////菜单////////////////////
charstudentmessage:
:
Menu()
{
cout<cout<cout<cout<<"学生社团管理系统---选项"<cout<<"***********************************************"<cout<cout<<"1.添加社员信息"<cout<<"2.修改社员信息"<cout<<"3.删除社员信息"<cout<<"4.查询社员信息"<cout<<"5.退出程序"<charchoose;
cin>>choose;
returnchoose;
}
(4)函数的分析
<1>添加社员信息
//////////////录入////////////////////
voidstudentmessage:
:
Add()
{
Read();//从文件档中读取已存的信息
Messagetemp;//构建一个临时的temp
cout<<"请依次输入新社员的信息"<cout<<"社员会员号:
"<cin>>temp.ID;
cout<<"社员姓名:
"<cin>>temp.name;
cout<<"社员性别:
"<cin>>temp.sex;
cout<<"社员年龄:
"<cin>>temp.age;
cout<<"社员专业:
"<cin>>temp.profession;
cout<<"社员班级:
"<cin>>temp.grade;
cout<<"社团名称:
"<cin>>temp.club;
mes.push_back(temp);//运用push_back把输入的新信息存储到文件档中
times++;
Write();
}
将原有文件档中的信息读取出来,然后将信息添加在其后,再一起存入文件档中。
〈2〉修改社员信息
voidstudentmessage:
:
Change()
{
{
Read();//从文件档中读取已存的信息
stringsign;//构建一个临时的sign
cout<"<cin>>sign;
for(inti=0;i{
if(mes[i].ID==sign)
{
cout<"<cout<<"社员会员号:
"<cout<<"社员姓名:
"<cout<<"社员性别:
"<cout<<"社员年龄:
"<cout<<"社员专业:
"<cout<<"社员班级:
"<cout<<"社团名称:
"<cout<cout<cout<<"请依次输入新教材的信息"<cout<<"社员会员号:
"<cin>>mes[i].ID;
cout<<"社员姓名:
"<cin>>mes[i].name;
cout<<"社员性别:
"<cin>>mes[i].sex;
cout<<"社员年龄:
"<cin>>mes[i].age;
cout<<"社员专业:
"<cin>>mes[i].profession;
cout<<"社员班级:
"<cin>>mes[i].grade;
cout<<"社团名称:
"<cin>>mes[i].club;
Write();
break;
}
}
先将文件档中的信息读取出来,然输入自己需要修改的会员号,利用for循环查找文件档中是否存在该会员,如果不存在,则为空,跳出循环,结束程序,如果存在,先把信息显示出来,然后改写信息。
<4>查找社员信息
voidstudentmessage:
:
Search()
{
Read();//从文件档中读取已存的信息
stringsign;
cout<"<cin>>sign;
boolflog=false;
for(inti=0;i{
if(mes[i].ID==sign)
{
cout<"<cout<<"社员会员号:
"<cout<<"社员姓名:
"<cout<<"社员性别:
"<cout<<"社员年龄:
"<cout<<"社员专业:
"<cout<<"社员班级:
"<cout<<"社团名称:
"<flog=true;
break;
}
}
if(flog==false)cout<<"noun"<}
}
先将文件档中的信息读取出来,然输入自己需要查找的会员号,利用for循环查找文件档中是否存在该会员,如果不存在,则为空,跳出循环,结束程序,如果存在,把该会员的信息显示出来。
<5>
//////////////////写入/////////////