学生籍贯管理系统学生籍贯管理系统
天津城市建设学院
课程设计任务书
2011—2012学年第1学期
电子与信息工程系 班级
课程设计名称: 数据结构课程设计
设计题目: 学生籍贯管理系统
完成期限:自2011 年 1月2日至2011 年 1月 6 日共 1 周 一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求
在本课程设计过程中要求学生:
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭...
学生籍贯管理系统
天津城市建设学院
课程设计任务书
2011—2012学年第1学期
电子与信息
系 班级
课程设计名称: 数据结构课程设计
设计题目: 学生籍贯管理系统
完成期限:自2011 年 1月2日至2011 年 1月 6 日共 1 周 一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求
在本课程设计过程中要求学生:
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭
者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全
部人员皆以零分计入本课程设计成绩。
(3)学生在接受设计任务后,根据要求认真完成。
(4)认真编写课程设计报告。
三、设计内容
1)问题描述
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯、通信地址。 2) 基本要求
(1)输入学生信息并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;
(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息;
(6)显示输出天津籍和非天津籍学生的信息并可分别存盘;
(7) 按学号进行排序。
四、参考文献
1、王红梅,数据结构,清华大学出版社
2、谭浩强,C++程序设计,清华大学出版社
目录
1、需求
..................................................................................................................................... 3
2、概要设计..................................................................................................................................... 3
3、详细设计..................................................................................................................................... 4
(1)定义一个学生类class stu .......................................................................................... 4
(2)定义主函数void main .................................................................................................. 4
(3)用do-while语句进行执行过程的判断 ....................................................................... 5
(4)用switch-case实现多分支选择 ................................................................................. 6
4、调试分析..................................................................................................................................... 7
(1)运行程序,进入主菜单 ................................................................................................. 7
(2)数据录入,把学生的姓名,学号,籍贯录入 ............................................................. 8
(3)显示所有学生的信息 ..................................................................................................... 8
(4)添加人员的信息 ............................................................................................................. 9
(5)添加人员(张凯)的信息后显示所有人员的信息 ..................................................... 9
(6)删除人员的信息 ........................................................................................................... 10
(7)删除人员(刘俊旺)的信息后显示所有的人员信息 ............................................... 10
(8)按姓名查询人员(胡浩)的信息 ............................................................................... 11
(9)按学号查询人员(王圆)的信息 ............................................................................... 11
(10)按籍贯查询王圆与张凯的信息 ................................................................................. 12 5、核心源程序清单和执行结果 ................................................................................................... 12
(1)数据录入 ....................................................................................................................... 12
(2)增加成员 ....................................................................................................................... 13
(3)删除人员 ....................................................................................................................... 14
(4)按姓名查询 ................................................................................................................... 15
(5)按学号查询 ................................................................................................................... 16
(6)按籍贯查询 ................................................................................................................... 17 6、
................................................................................................................................... 18
7、参考资料................................................................................................................................... 18
1、需求分析
用C++编写一个程序,完成一个学生籍贯管理系统,实现添加,删除,修改,查询等功能。
2、概要设计
整体流程图:
显天津
显示非天津
3、详细设计
(1)定义一个学生类class stu class stu
{
char name[20];
int number;
char bornplace[50]; public:
stu()
{
}
stu(char n[20],int num,char born[50])
{
strcpy(name,n);
number=num;
strcpy(bornplace,born); }
friend void main(); };
(2)定义主函数void main,输出数据录入,添加成员,删除成员,修改数据,
按姓名查找,按学号查询,输出所有学生的籍贯信息,按籍贯查询等;并用
do-while语句进行功能选择。
void main()
{
cout<<"请选择您需要的操作~"<
>p;
if((p>='0'&&p<='6'))
flag2=1;
else
cout<<"指令错误~请重新输入:"<>p;
if((p>='0'&&p<='6'))
flag2=1;
else
cout<<"指令错误~请重新输入:"<>name;
cout<<"请输入学号:"<>number;
cout<<"请输入籍贯:"<>bornplace;
file[j]=new ofstream("d:\\document.txt",ios::ate);
*file[j]<<"姓名"<>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误~请重新输入~"<>c;
}
else
flag2=1;
}
while(flag2==0); }
while(c=='y'); break;
}
4、调试分析
(1)运行程序,进入主菜单。
(2)数据录入,把学生的姓名,学号,籍贯录入。
(3)显示所有学生的信息。
(4)添加人员的信息。
(5)添加人员(张凯)的信息后显示所有人员的信息。
(6)删除人员的信息。
(7)删除人员(刘俊旺)的信息后显示所有的人员信息。
(8)按姓名查询人员(胡浩)的信息。
(9)按学号查询人员(王圆)的信息。
(10)按籍贯查询王圆与张凯的信息。
5、核心源程序清单和执行结果
(1)数据录入
case '0':
{
char c;
char name[20],bornplace[50];int number; do{
cout<<"请输入姓名"<>name;
cout<<"请输入学号:"<>number;
cout<<"请输入籍贯:"<>bornplace;
file[j]=new ofstream("d:\\document.txt",ios::ate);
*file[j]<<"姓名"<>c;
flag2=0;
do
{
if(c!='y'&&c!='n') {
指令错误~请重新输入~"<>c;
}
else
flag2=1;
}
while(flag2==0); }
while(c=='y'); break;
}
运行结果:刘俊旺 1 天津
胡浩 2 天津
王圆 3 天津
(2)增加成员
case '1':
{
char name[20],bornplace[50];int number;
char c;
do
{
cout<<"请输入您要增加的学生的姓名:"<>name;
cout<<"请输入学号:"<>number;
cout<<"请输入籍贯:"<>bornplace;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误~请重新输入~"<>c;
}
}while(c=='y');
break;
}
运行结果:刘俊旺 1 天津
胡浩 2 河南
王圆 3 天津
张凯 4 张凯
(3)删除人员
case '2':
{
char name[20];bool flag3=0;char c; do{
cout<<"请输入您要删除的学生姓名:"<>name;
for(int h=0;hname)==0) {
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在~请检查输入的正确性~";
cout<<"要继续删除吗,(y/n)"<>c;
if(c!='y'&&c!='n') {
cout<<"指令错误~请重新输入~"<>c;
}
}while(c=='y');
break;
}
运行结果:胡浩 2 河南
王圆 3 天津
张凯 4 天津
(4)按姓名查询
case '4':
{
char t[20];
char c;
do
{
int flag1=0;
cout<<"请输入你要查询学生的姓名"<>t;
for(int q=0;q>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误~请重新输入~"<>c;
}
}
while(c=='y');
break;
}
运行结果: 2 河南
(5)按学号查询
case '5':
{
int n ;int j=0;char c;
do{
int flag=0;
cout<<"请输入你要查询的学生学号:"<>n;
for(int j=0;j>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误~请重新输入~"<>c;
}
}
while(c=='y');
break;
}
运行结果:王圆 天津
(6)按籍贯查询
case '7':
{
char m[20];int j=0;char c;
do{
int flag=0;
cout<<"请输入你要查询籍贯:"<>m;
for(int w=0;w>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误~请重新输入~"<>c;
}
}
while(c=='y');
break;
}
运行结果:王圆 3
6、心得体会
通过这次的数据结构课程设计,让我学到了用C++编写程序的一些知识,包括定义一个类,如程序中定义的class stu类,并且对类的访问类型进行定义,如程序中的pulic:stu(),还有就是用主函数进行输出,如用void main()主函数对籍贯管理中的数据录入,人员信息的添加,删除,修改以及对他们的信息进行用姓名查询,学号查询,并输出所有成员的信息,按籍贯输出他们的籍贯信息。在编程过程中还用到了用file[j]=new ofstream("d:\\document.txt",ios::ate)语句进行信息的保存并保存到txt文件中,用do-while循环语句进行执行判断,用switch-case多分枝选择语句实现人员信息的添加,删除,修改,查询等功能,感触颇深。以前学理论知识的时候不怎么会用,对当前编程所用到的知识了解并加深印象。
7、参考资料
1、王红梅,数据结构,清华大学出版社
2、谭浩强,C++程序设计,清华大学出版社
本文档为【学生籍贯管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。