基于C++的火车票管理系统C++课程设计

基于C++的火车票管理系统C++课程设计
基于C++的火车票管理系统C++课程设计

信息科学与技术学院《程序设计基础》课程设计报告

题目名称:车票管理系统

专业班级:电子信息工程10级2班

学生姓名:王彪樊江涛

学生学号:2010508115 2010508131

指导教师:高攀

完成日期:2011-01目录

1 课程设计综述—————————————————4 1.1 课程设计的目的———————————————4 1.

2 课程设计的题目———————————————4

1.3 题目要求——————————————————4

2 概要设计———————————————————4

3 详细设计———————————————————5 3.1 流程图———————————————————5

3.2 源程序——————————————————6

4 测试———————————————————14

5 课程设计总结—————————————————16

1.课程设计综述

1.1 课程设计的目的

让我们更加深入的了解C++的,使我们一学期学习到的东西得到实践. 1.2 课程设计的题目

火车票管理系统

1.3 题目要求

用c++设计一个系统,能提供下列服务:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据

(2)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询,可按终点站查询

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数

B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数

2 方案选择

1)算法设计说明

由主函数进入,弹出主菜单界面,通过Switch语句选择需要的功能,可以选择班次录入,浏览班次信息,查询班次信息,购票和退票以及退出系统,以完成不同的操作.其中查询班次信息中还可以由班次查询或者终点站查询.整个系统的文件载入用一个文件载入函数承当.

3 详细设计3.1 流程图

3.2 源程序

#include

#include

#include

#include

using namespace std;

void welcome(); //欢迎子函数

void choose(); //选择子函数

void banciluru(); //班次录入子函数

void liulanbancixinxi(); //浏览班次信息子函数

void shoupiao(); //售票子函数

void tuipiao(); //退票子函数

void quit(); //退出子函数

void chaxun(); //查询子函数

int loading(); //文件载入子函数

const int MAX=20; //使数组最大值可调

const int N=50;

struct time //时间结构体,为了与系统时间做比较.

{

int hour;

int minutes;

};

struct ticket //车票结构体,包含车次,时间结构体,起点,终点,行车时间,额定载客量,已订票人数

{

int Number;

struct time Setout;

char Qidian[MAX];

char Zhongdian[MAX];

float Lasttime;

int Fixnumber;

int Fixednumber;

}car[N];

//主函数

int main()

{

welcome();

return 0;

}

//欢迎子函数

void welcome()

{

cout<<"________________________________________________________"<

choose();

}

//选择子函数

void choose()

{

string i;

cin>>i;

if(i=="1")

banciluru();

if(i=="2")

liulanbancixinxi();

if(i=="3")

chaxun();

if(i=="4")

shoupiao();

if(i=="5")

tuipiao();

if(i=="6")

quit();

else

{

cout<<"输入有误!请在数字1-5之间重新您的输入选择!"<

choose();

}

}

//班次录入子函数

void banciluru()

{

string t="1";

ofstream outfile;

outfile.open("班次信息.txt",ios::app);

for(int i=0;t=="1";i++)

{

cout<<"请输入需要添加的火车班次:"<

cin>>car[i].Number;

cout<<"请输入此班次发车时间(格式:先输入小时,回车,再输入分钟):"<

cin>>car[i].Setout.hour;

cin>>car[i].Setout.minutes;

cout<<"请输入出发站:"<

cin>>car[i].Qidian;

cout<<"请输入终点站:"<

cin>>car[i].Zhongdian;

cout<<"请输入行车时间:"<

cin>>car[i].Lasttime;

cout<<"请输入额定载客量:"<

cin>>car[i].Fixnumber;

cout<<"请输入已订票人数:"<

cin>>car[i].Fixednumber;

outfile<

cout<<"是否继续录入?(是请输1,否请输任意键返回主菜单)"<

cin>>t;

if(t!="1")

{

welcome();

}

}

outfile.close();

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//浏览班次子函数

void liulanbancixinxi()

{

int c;

c=loading();

cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<

for(int i=0;i

{

cout<

time_t tval;

struct tm *now;

tval = time(NULL);

now = localtime(&tval);

if((now->tm_hour==car[i].Setout.hour&&now->tm_min>car[i].Setout.minutes)||(now->tm_hour> car[i].Setout.hour))

cout<<"此车已发出"<

}

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//车次查询子函数

void Numbersearch();

void Finalsearch();

void chaxun()

{

string t;

cout<<"1.按班次查询"<

cout<<"2.按终点站查询"<

cout<<"请输入您想选择的查询方法前的数字:"<

cin>>t;

if(t=="1")

Numbersearch();

if(t=="2")

Finalsearch();

if(t!="1"||t!="2")

{

cout<<"输入有误,请重新输入"<

chaxun();

}

}

//班次查询子函数

void Numbersearch()

{

loading();

int SearchNumber;

cout<<"请输入您需要查找的班次号:"<

cin>>SearchNumber;

cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<

cout<

"<

"<

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//终点站查询子函数

void Finalsearch()

{

int R;

R=loading();

int i;

char Address[MAX];

cout<<"请输入终点站名称:"<

cin>>Address;

cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<

for(i=0;i

{

if((strcmp(Address,car[i].Zhongdian))==0)

cout<

"<

}

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//购买火车票子函数

void shoupiao()

{

int R;

R=loading();

int i;

cout<<"请输入要订购的车票的班次:"<

cin>>i;

if(i<=0||i>R)

{

cout<<"对不起,今天没有这趟车,请明天再来,谢谢使用!"<

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

time_t tval;

struct tm *now;

tval = time(NULL);

now = localtime(&tval);

if((now->tm_hour==car[i-1].Setout.hour&&now->tm_mintm_ho ur

{

if(car[i-1].Fixednumber

{

(car[i-1].Fixednumber)++;

ofstream outfile;

outfile.open("班次信息.txt",ios::out);

for(i=0;i

{

outfile<

}

outfile.close();

cout<<"你的订票成功,请按时上车,谢谢使用!"<

}

else cout<<"对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作"<

}

else cout<<"对不起,今天的这趟车已发出,请明天再来,谢谢合作"<

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//退订火车票子函数

void tuipiao()

{

int R;

R=loading();

int i;

cout<<"请输入要退购的车票的班次:"<

cin>>i;

if(i<=0||i>R)

{

cout<<"对不起,今天没有这趟车,无法完成退票.谢谢使用!"<

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

time_t tval;

struct tm *now;

tval = time(NULL);

now = localtime(&tval);

if((now->tm_hour==car[i-1].Setout.hour&&now->tm_mintm_ho ur

{

if(car[i-1].Fixednumber>=1)

{

car[i-1].Fixednumber-=1;

ofstream outfile;

outfile.open("班次信息.txt",ios::out);

for(i=0;i

{

outfile<

}

outfile.close();

cout<<"退订车票成功,谢谢使用!"<

}

else cout<<"对不起,今天的这趟车的票尚未卖出,无法完成退票!"<

}

else cout<<"对不起,今天的这趟车已发出,无法完成退票!"<

cout<<"输入回车键返回"<

getchar();

getchar();

welcome();

}

//退出子函数

void quit()

{

cout<<"*********************谢谢使用本系统,欢迎下次继续使用***********************"<

}

//文件载入子函数

int loading()

{

int i;

ifstream infile;

infile.open("班次信息.txt",ios::in);

if(!infile)

{

cout<<"请查看原文件是否存在!"<

cout<<"按任意键返回";

getchar();

getchar();

welcome();

}

for(i=0;!infile.eof();i++)

{

infile>>car[i].Number>>car[i].Setout.hour>>car[i].Setout.minutes>>car[i].Qidian>>car[i].Zhongdia n>>car[i].Lasttime>>car[i].Fixnumber>>car[i].Fixednumber;

}

return i-1;

}

4 测试主菜单:

班次录入:

浏览班次信息:

查询火车信息:

测试中发现订购和退订车票后,虽然已订购车票数实际上有增减,但不能存入到文件中及时保存.后来通过以文件覆盖的方法重新录入一次文件得以解决.测试中还发现若时间是整点的话,分钟的0只能是一个0,因为分钟定义的格式是int.,但若果改成char格式之后和系统时间比较的函数将不成立.所以这个程序仍然存在这样的一个问题.

5 课程设计总结

通过这次的课程设计,我发现我还有好多的不足之处,还有好多知识不能很好的运用,而且题目中的一个要求没有正常的完成.我觉得我们应该花更多的时间去查找资料,因为仅凭自己已学的知识是无法完成这些内容的.

这次课程设计我用了9个子函数去完成,分开完成各个函数并验证其正确性,这样的方法让我能够顺利完成整个系统.

不足之处还有好多,我应该在以后的学习中更加努力完善.

6参考书目:

[1]谭浩强,《C++程序设计》,北京,清华大学出版社,2006年.

(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,

供参考,感谢您的配合和支持)

文件管理系统课程设计

课程名称:操作系统 实验题目:文件管理系统 1、课程设计选题 (3) 1.1主要设计内容 3 1.2主要设计思路 3 2、课程设计需求分析 3 3、概要设计 (4) 3.1整体设计框架 4 3.2各模块的基本功能 4 4、系统实现 5 4.1原理 6 4.2各模块算法思想 6 4.3流程图描述 9 4.4代码描述 10 5、系统测试 11

5.1系统主界面 11 5.2子系统功能测试 11 6、总结 19 7、参考文献样式 19 1、课程设计选题 1.1主要设计内容 本课程设计主要是用C语言编写,设计的是一个模拟的多用户多级目录的文 件管理系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文 件操作的实现,加深对文件系统内部功能和实现过程的理解。 1.2主要设计思路 首先系统要完成初始化的任务,建立起整个系统,等待用户注册,注册成功后,用户登录模块,对用户的用户名进行验证,如果用户登录成功,则系统进入 等待用户输入的状态,用户选择相应指令后,系统按照即定方式处理用户请求, 用户退出后,系统转入登录模块,等待下一位用户的登录。 2、课程设计需求分析 本系统为多用户多级目录的文件管理系统,用户可以根据所注册的用户名登 陆来对文件或是文件进行操作。多用户功能可以满足不同用户不同的需求,同时 也起到了很好的保密作用。 文件系统为用户提供了按名存取的功能,以使得用户能透明地存储访问文

件。为了实现按名存取,文件需要对文件存储设备进行合理的组织,分配;对存储在文件存储设备上的文件进行保护,保密和提供共享的手段。另外,文件系统还要提供检索文件或文件中记录的手段,文件系统就是完成上述功能的一组软件和数据结构的集合。 模拟一个文件管理系统,要完成对文件的基本操作,文件的基本操作有文件、文件夹的打开、新建、删除和读取写入文件,创建更改目录,列出目录内容等信息。系统建立了文件目录树,存储文件系统中的所有文件。对于用户名下的文件,用文件目录树的分枝来存贮。 采用命令行操作界面很直观,也方便用户进行操作,用户只要按照操作界面所显示的命令来操作就行了。 因为存在着同一个目录下不能有同名文件的问题。所以在进行文件的基本操作时要考虑到在已经有的文件中是否有同名文件,有的话则输出提示信息。 3、概要设计 3.1整体设计框架 系统初始化界面是由用户注册,用户登录,退出系统三个模块组成。用户登录模块再由创建用户,进入目录,删除用户,显示所有用户,显示位示图,修改用户资料几大模块组成。然后各个模块再由一些小模块组成。其中创建文件,打开关闭文件,读写文件等文件操作模块包括在进入目录模块里面。 3.2各模块的基本功能 3.21系统初始化 系统的初始化包括初始化了磁盘的空间即位示图、一个管理员用户 3.22用户注册模块 用户可以在这里注册,用户名和密码的最大长度都为10个字节,如果用户名不重复的话,则注册成功,用户的权限默认为一般用户。

学生选课系统课程设计

课程设计报告 课程名称: 学生选课系统的设计与实现 专业: 12级计算机科学与技术 姓名: 班级: 学号: 年月日 学生选课系统的设计与实现一、需求分析

1.设计背景 随着高校教学改革的不断深入,越来越多的高校都陆续采用了学分制。高校大学生们可以根据自己兴趣和爱好来自由选择自己所喜爱的课程。基于高校校园网的网上选课系统不仅克服了以往人工报送选课方式所暴露出的缺点与不足。同时极大地提高了高校教务人员工作效率,极大地方便了高校师生。网上学生选课系统在C/S的架构下采用了目前最流行的Internet的主流技术C#技术作为运行平台。学生选课系统的推出,使得全校选课的维护、学生选课及查询、成绩录入、统计等工作均变得轻松高效,形成了教与学的积极互动,减轻了系统维护的成本与工作量,方便学生及老师的使用。 学生选课系统要求可以进行课程信息的录入,课程信息的浏览,可以按学分查询。作为学生选课系统,我设计了对学生和老师的信息管理,选课系统包含的信息涉及信息多,所以这方面我额外的增加了这方面的信息管理。 2.设计目标 ●系统能够提供友爱的用户界面,使操作人员的工作量最大限度地减少; ●系统具有良好的运行效率,能够达到提高效率的目的; ●系统应有良好的可扩充性,可以容易地加入其他系统的应用; ●通过这个项目可以锻炼自己,提高自己的开发能力和项目管理能力; 3..实现功能 本设计所开发的系统用户有三类:学生用户,教师用户,管理员用户。 当学校公布可以选课了,学生就应该急时登陆选课系统进行选课。对学生来说,进行登陆选课,系统中有哪些可选的课程由管理员添加。课程重要的信息之一就是该课程的老师。当加入老师时,应该跟老师的信息相关联。当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。学生和老师都不可能使用管理员的功能。 学生选课系统共设计4个模块,其功能介绍如下: ●登录模块:此模块实现用户的的注册和登录 ●学生模块: 1)查询信息:查询学生自己信息 2)录入选课信息 ●教师模块: 1)查询信息:查询教师自己信息 查询选课信息 ●管理员模块: 1)学生信息管理:用于管理学生信息,实现对学生信息的增加,删除,修改等功能。 2)课程信息管理:用于管理课程信息,实现对课程信息的增加,删除,修改等功能。 3)选课系统:用于学生选课,提供学号和课程号,进行选课功能。 4)教师信息管理:用于管理教师信息,实现对教师信息的查询,以及对学生信息的增加,删除,修改等功能。用户管理:用于对用户进行增加,删除,修改操作; 4.数据流图 (1)底层数据流图

c++面向对象课程设计报告

课程设计报告 课程名称面向对象程序设计 课题名称学生成绩管理系统 专业计算机科学与技术 班级计算机 1001 学号 01 姓名 指导教师李珍辉陈淑红李杰军 2011年 12 月 28 日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题学生成绩管理系统 专业班级计算机1001 学生姓名 学号 01 指导老师李珍辉陈淑红李杰军 审批 任务书下达日期 2011 年 11 月 15 日 任务完成日期 2011 年 12 月 28 日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相 应题号的课题。随意换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释)

教务管理系统课程设计报告

教务管理系统课程 设计报告

教务综合管理系统设计报告 专业:软件工程 成员:车振军陆建伟 徐蕾杨思倩指导老师:徐明 日期: -6-15

一、引言 1.1 目的 为了保证项目小组能够按时完成小组任务及目标,便于项目小组成员更好地了解项目情况,使项目小组开展的各个过程合理有序,因此确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。 预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。 1.2 背景 高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。 教务管理系统是一个大型复杂的计算机网络信息系统,满足各类高校现在和将来对信息资源采集、存储、处理、组织、管理和利用的需求,实现信息资源的高度集成与共享,实现信息资源的集中管理和统一调度。为各级决策管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统;为信息交流、教务管理提供一个高效快捷的电子化手段;最终达到进一步

提高各级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻工作负担的目的。 教务管理系统面向管理员、教师和全校学生,实现学生管理、教师管理、课程管理、成绩处理。 1.3 定义 1.3.1 MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,当前属于 Oracle 旗下公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常见标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,特别是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。1.3.2 MyEclipse MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,特别是对各种开源产品的支持相当不错。 二、需求分析 2.1 功能需求 2.1.1 系统目标

面向对象程序设计(C++) 实验指导书

实验 1 类和对象 1.1实验目的和要求 (1) 理解类和对象的概念,掌握声明类和定义对象的方法。 (2) 掌握构造函数和析构函数的实现方法。 (3) 初步掌握使用类和对象编制C++程序。 (4) 掌握对象数组、对象指针和string类的使用方法。 (5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。 (6) 掌握类对象作为成员的使用方法。 (7) 掌握静态数据成员和静态成员函数的使用方法。 (8) 理解友元的概念和掌握友元的使用方法。 1.2实验内容和步骤 1.输入下列程序 //test4-1.cpp #include using namespace std; class Coordinate { public: Coordinate(int x1,int y1) { x=x1; y=y1; } Coordinate(Coordinate &p); ~Coordinate() { cout<<”Destructor is calleded\n”;} int getx() {return x;} int gety() {return y;} private: int x,y; }; Coordinate::Coordinate(Coordinate &p) { x=p.x; y=p.y; cout<<”copy-initialization Constructou is called\n”; } int main() { Coordinate p1(3,4); Coordinate p2(p1);

Coordinate p3=p2; cout<<”p3=(“<

学生选课系统课程设计

数据库课程设计报告 课题名称:学生选课系统 专业:计算机科学与技术 班级:计算机 姓名: 学号: 指导老师:

设计任务书 指导教师(签章): 年月日

摘要: 随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。本次课程设计选做学生选课系统就是建立在面向网络的基础之上,选用Visual Studio 2008 开发工具和SQL Server2005 数据库。所开发出的系统能够方面学生选课、教师查询和管理员管理。具有较强的实时性,在面向网络的基础上可以方便在外用户进行各种操作。 关键词:面向网络;数据库;方便

目录 1 需求分析 (1) 1.1 系统目标 (1) 1.2 系统功能需求 (1) 2 数据库概念设计 (1) 2.1 系统概念模型 (1) 3 将概念模型转换为关系模型 (2) 3.1 将E-R模型转换为关系模型 (2) 3.2 数据库结构设计 (3) 3.3 实现数据完整性 (4) 4 应用程序设计 (4) 4.1 学生选课系统处理流程图 (4) 4.2 总体结构和外部结构设计 (4) 5 编程实现 (5) 5.1 Login.aspx (5) 5.2 Student.aspx (5) 5.3 Teacher.aspx (6) 5.4 guanliyuan.aspx (6) 5.5 Acourse.aspx (7) 5.6 Ateacher.aspx (7) 5.7 Astudent.aspx (7) 5.8 Password.aspx (7) 总结 (9) 致谢 (10) 参考文献 (11)

C#面向对象课程设计--拼图游戏

《C#程序设计》课程设计 题目:拼图游戏 专业:计算机科学与技术 学号: 姓名: 指导老师: 完成日期: 2012/12/26

《C#课程设计》评分标准 题目:拼图游戏专业:计算机科学与技术学号:姓名:

目录 1 前言 (4) 2 需求分析 (4) 要求 (4) 任务 (4) 运行环境 (4) 开发工具 (4) 3 概要设计与详细设计 (5) 系统流程图 (5) 结构功能图 (5) 4 编码与实现 (6) 编码分析 (6) 具体代码实现(附源代码) (9) 5 课程设计总结 (18) 参考文献 (19)

1.前言 拼图游戏一款非常经典的小游戏,因为它比较简单有趣,无论老少都比较适合。拼图的设计对每一个C#语言设计者进行语言提高和进阶都是一个很好的锻炼机会。拼图游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个拼图游戏,对于提高C#开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。一个3×3的魔板,有一个格子是空的,其他格子内随机放置1-8共8个编号的方块,通过单击任意一个与空格子相邻的方块可以把该方块移入空格子,不断的移动方块,直到方块按照图片的原来的顺序排好。 2 需求分析 要求 (1)用C#语言实现程序设计; (2)利用PictureBox控件来实现图片的移动 (3)超过200步提示重新来 (4)界面友好(良好的人机互交),程序要有注释。 任务 (1)制作流程图 (2)编写代码; (3)程序分析与调试。 运行环境 (1)WINDOWS2000/XP/win7系统 (2)编译环境 开发工具

学生管理系统课程设计

《程序设计基础课程设计》 (j1620201) 课程设计报告 设计题目学生通讯录管理系统 学生姓名 学生班级 学生学号 指导教师 成绩评定 完成时间 参考目录:

目录 课程设计的目的---------------------1 设计内容---------------------------1 系统需求分析-----------------------1 系统设计---------------------------1 编码和测试-------------------------1 心得体会---------------------------1 附录--------------------------------1

课程设计的目的 为了进一步巩固程序设计基础课程所学到的知识,理解C++语言的重要概念及基本语法,锻炼学生熟练的运用C++语言设计程序解决实际问题的能力,开设了一周的课程设计。通过此次课程设计,巩固所学面向过程程序设计的知识,熟练掌握Visual Studio C++开发工具的运用,把所学课程相关知识加以融会贯通,全面掌握面向过程的编程思想,为后续课程的学习打下坚实的基础。 设计的内容 这是一个学生通讯录系统,内容主要是记录学生的基本信息。 系统需求分析 学生通讯录管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生通讯录管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生通讯录管理系统能让老师、学校更好地记录学生的信息,例如学生的学号、性别、专业、手机号码,能让老师较方便的查询到学生的信息,给工作带来很多便利。 系统设计 本系统用menu函数显示主界面,用create函数创建通讯录信息子,用print 显示通讯录信息,用del函数删除通讯录,用insert函数添加通讯录信息,用modify函数修改通讯录信息 编码和测试 编码:附录1 测试:

网上选课系统课程设计文档

《网上选课系统》课程设计 20111 / 2012 学年第 1 学期 姓名:____黄勇、王超、陈云_____ 专业:____计算机科学与技术_____ 班级:_______0905092___________ 指导教师:周蓓、周荣、许秀兰、王剑 计算机科学与工程学院 2011

一、系统简介 (3) 1.1系统基本功能简介 (3) 1.2系统需求分析 (3) 1.2.1业务流程分析 (4) 1.2.2数据流分析 (8) 1.2.3数据字典 (11) 二、系统设计 (13) 2.1数据库设计 (13) 2.1.1概念结构设计 (13) 2.1.2逻辑结构设计 (16) 2.2系统模块设计 (22) 三、系统实现 (25) 3.1实现概况 (25) 3.2 登录模块 (26) 3.2.1程序流程图 (26) 3.2.2关键代码 (26) 3.3 排课模块 (29) 3.4选课模块 (32) 3.4.1程序流程图 (32) 3.4.2选课的存储过程 (33) 3.5其他模块简介 (34) 3.6系统界面设计 (35) 3.6.2选课主界面 (35) 结论 (38)

一、系统简介 1.1系统基本功能简介 网上选课系统是根据大学的选课的网上申请与管理而进行开发设计的是实现选课的网上申请与安排,管理。 此系统功能主要根据角色的不同而设置了不同的权限,例如管理员具管理此系统的全部权限(设置选课时间的开放时间),增删改学生,老师,管理员,发布选课信息,排课等。 学生随时都可以进入系统查看选课信息,等选课开放时间开放后能进行自主选课,取消所选课程。 教师没有时间限制,随时可以登录观看自己的上课时间,地点。 1.2系统需求分析 通过对系统需求进行分析,系统中设有三类用户:管理员,教师,学生期末管理员开放成绩输入的时候输入学生成绩。各用户的具体描述如下:(1)管理员 描述:管理员维护整个系统,包括发布选课信息,设置选课时段,选课前学生只能登录查看选课通知,不能选课;选课结束,学生不能再进行选课更改,只能查看选课信息。管理让学生所选的课程。增删改学生、老师,管理员信息。选课结束后,管理员手动进行排课,排课时数据库中有各种验证来验证排课信息的冲突,排完课后,发布排课信息,让老师,学生进行查看,设置成绩输入的开放时间。 (2)教师 描述:只能查看选课通知,排课安排,根据上课时间,地点准备教学资料,期末管理员开放成绩输入的时候输入学生成绩。 (3)学生: 描述:选课前查看选课通知,不能进行选课;等待到选课时间段后,

web管理系统课程设计

湖北第二师范学院 《Web程序设计》 课程设计报告书 班级:12级计算机应用技术(1)班学号: 姓名: 指导老师:王海军 成绩: 设计时间:2014 年 6 月12 日

简单的Web应用系统设计、开发一.登录页面: 登录页面的设计与代码: 主要以不同的角色进去就会跳进不同的页面就会有不同的权限 源代码: 后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class login1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Label7.Text = "当前时间是:" + DateTime.Now.ToString() ;

} protected void Button1_Click(object sender, EventArgs e) { if (rbtstudent.Checked == false && rbtteacher.Checked == false) { Response.Write(""); } else { if ( rbtstudent.Checked == true) { SqlConnection con = new SqlConnection("server=.;database=school;integrated security=SSPI"); con.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; https://www.360docs.net/doc/9f14048421.html,mandText = "select * from student where stdid='" + username.Text + "'and stdmm='" + userpwd.Text + "'"; //https://www.360docs.net/doc/9f14048421.html,mandText = "select * from achievement where stdid='" + username.Text + "'"; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { Session["stdid"] = dr[0]; Session["stdmm"] = dr["stdmm"]; Session["stdxb"]=dr["stdxb"]; Session["stdsfz"] = dr["stdsfz"]; Session["stdrxsj"] = dr["stdrxsj"]; Session["stdbj"] = dr["stdbj"]; Session["stddz"] = dr["stddz"]; Session["stddh"] = dr["stddh"]; Session["stdxm"] = dr["stdxm"]; username.Text= Session["stdid"].ToString(); userpwd.Text= Session["stdmm"].ToString(); Label4.Text = "登陆成功"; username.Text = "";//userID为textbox1 username.Enabled = false; userpwd.Text = "";//userPWD为textbox2

1.面向对象程序设计---课程设计指导书

《面向对象程序设计课程设计》课程设计指导书 一、目的 本课程设计的目标,是以面向对象编程思想进行程序设计为中心。 通过课程设计,使学生了解面向对象分析和设计的基本概念. 熟悉巩固UML工具在面向对象分析和设计中的作用,学会使用UML对系统建模。 能够利用面向对象思想到实际编程应用中去,为今后从事软件开发工作打下基础。 通过课程设计,培养学生针对实际问题,采用面向对象思想来分析问题、解决问题的能力,进一步提高学生独立编程的能力。 二、要求 1.明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。 2.培养正确的设计思想,严谨的工作作风,提高对所学知识应用和分析能力、解决问题的能力,提倡独立思考、刻苦钻研和创新的精神。 3.严格要求、自觉遵守纪律,必须按规定的时间完成设计。缺勤累计时间超过实际设计时间三分之一及以上者,课程设计成绩按不及格处理;不服从指导教师的安排,违反设计纪律,影响设计工作正常进行者,指导教师有权停止其设计工作,成绩以0分计。 4.针对实际案例,根据客户项目需求,进行需求分析。 5.针对实际案例,采用面向对象分析与设计思想,使用UML建模工具完成对系统的分析,画出相应的用例图、类图。 6.针对实际案例进行分析,设计并创建出合适的数据库表。 7.在系统分析完成之后,采用三层架构进行编码,实现系统的功能。 8.完成规范化的课程设计报告的编写。 三、课程设计报告应包括的内容 课程设计的题目、设计目的; 需求分析与系统模块划分(系统功能模块图); UML分析与设计(系统用例图、类图); 数据库分析与设计(数据库表、视图、存储过程等); 编码实现及测试; 课程设计的总结,主要包括以下内容: (1)课程设计中的收获、遇到的主要问题和解决方法; (2)设计中存在的不足,需进一步改进的设想; 以上内容均填写在课程设计报告上,要求格式规范,符合学校关于课程设计的要求和规范。 四、进度安排 序号 课程设计内容 学时分配 备注

选课系统-课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:软件一班 姓名:黄锋 学号:10240506 指导教师:王连相 成绩:

摘要 学生选课系统是C语言应运的一个简单实例,它能实现选课信息的输入、删除、查找、保存等功能。该系统由七个模块组成,各模块的完成分别由指针、数组、链表等实现,最后通过主函数将各个模块加以联结组成此简单的学生选课管理系统。该系统有查找方便、可靠性高、存储量大、保密性好等优点,是一个教育单位不可缺少的部分。 关键词:C语言;学生;信息;选课

目录 一、需求分析 (1) 二、总体设计 (2) 三、详细设计 (3) 1、数据定义 (3) 2、算法流程图 (4) 四、编码 (7) 五、测试 (9) 六、设计总结 (9) 致谢 (14) 参考文献 (15)

一、需求分析 经过简单的调研分析,可以基本确定学生选课系统主要用来实现对选课信息的输入、删除、保存、查找等功能。 1·录入课程信息 教务系统对课程进行安排。 2·课程管理 用户可以查看新增课程和已删除课程。 3·录入学生信息 学生可以输入自己的基本信息。 4·学生信息管理 系统可以对学生输入的信息进行管理,同时用户也可以进行自我信息更改。5·学生选课 学生可以查询已选课程和可选课程,然后进行选课。 6·系统信息查看及及存储 用户可以查看课程信息和学生信息以及及存储自己信息。 7·退出系统 用户完成在学生成绩管理系统的一系列操作后要离开,则就需退出系统。

面向对象程序设计课程设计

《面向对象程序设计》课程设计 课程代码:*****(采用现行5位数字的课程代码) 课程名称:面向对象程序设计课程设计 设计周数:1周 学分:0.5学分 课程类别:必修课 一、课程设计的目的与任务 面向对象程序设计课程设计是计算机科学与技术、网络工程、信息管理与信息系统等专业集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。通过课程设计,学生可以将本课程所学知识点融会贯通,举一反三,加深实践与理解,提高学生综合运用所学知识的能力;另一方面,在参与一系列子项目的实践过程中,能使学生获得相关项目管理和团队合作等众多方面的实践经验。其目的在于加深对面向对象程序设计理论和基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,使学生掌握基本的信息系统分析方法、设计方法和上机操作的各种技巧,对培养学生的逻辑思维能力、团队合作精神、创新能力、动手操作能力各方面素质有提供了良好的实践平台,为后续课程的学习打下一定的基础。 二、本课程设计的基本理论 本课程设计使用面向对象程序设计的方法解决实际问题,涵概了课程的所有重要知识点,如类与对象、继承与组合、虚函数与多态性等。 三、课程设计的形式与基本要求 形式:召开课程设计动员会,根据学生的学习水平和特长进行分组,每组选择指定课程设计的题目和内容。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成所选课题的设计,最后由指导教师进行验收及评定。 基本要求:要求学生做好预习,认真分析设计过程中涉及到的算法,并确定所选课题的功能模块,详细描述各模块的具体内容;用流程图描述实现算法,根据算法进行代码的编写,最后进行反复上机调试修改,直到输出正确结果为止。 认真写好课程设计报告,根据每组学生的分工,各自写出对解决问题的详细分析、模块功能、调试结果,最后将课程设计报告上交给指导教师。 四、课程设计的内容 选题一:员工管理信息系统 (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄(必须计算得到)。

管理信息系统课程设计范例

管理信息系统课程学习报告 专业:计算机信息管理 班级:信息1101 :刚 学号:1125486514 成绩:优 评语:该课程设计详述了“酒店管理信息系统”开发过程,结构清楚,格式能够按照要求完成;重点容叙述较好,容较全面;整体设计能够理论联系实际运用所学知识分析问题,但解决问题能力有待提高。 年月日

一、课程学习目的 管理信息系统(MIS)是管理科学、系统科学、计算机科学和通讯技术等多学科综合发展起来的边缘性、综合性、系统性的学科,它运用经济管理理论、信息理论、系统理论、计算机科学等学科的概念和方法,融合提炼组成一套新的体系,它既具有较深和较宽的理论基础,又是一门实践性很强的学科。 作为一门课程,管理信息系统是经济管理类专业的必修课。本课程的任务和学习目的是使学生掌握管理信息系统的概念、结构和建立管理信息系统的基础、管理信息系统开发方法、管理信息系统开发过程各阶段的任务与技术、管理信息系统的开发环境与工具以及其它类型的信息系统等;使学生通过本课的学习,了解管理信息系统在企业管理中的作用。并通过实践培养学生综合运用知识和分析开发应用系统的初步能力。 二、课程学习容 管理信息系统的学习和设计主要是掌握“管理信息系统开发的五个阶段”: 第一阶段:系统规划 第二阶段:系统分析 第三阶段:系统设计 第四阶段:系统实施 第五阶段:系统运行与维护 1、系统规划阶段 该阶段是将组织目标、支持组织目标所必需的信息、提供这些必须信息的信息系统,以及这些信息系统的实施等诸要素集成的信息系统方案,是面向组织息系统发展远景的系统开发计划。鉴于在实践中选题“酒店管理信息系统”,其系统规划阶段是针对酒店所提供的信息资源,为提高酒店信息管理水平,制定一个较为科学的信息系统开发规划。 其主要任务是在开发环境的调研基础之上,确定酒店管理信息管理系统的开发方向、系统需要达到的目的,制定酒店管理信息系统的总体政策和策略,做出人力、财力和物资的总体安排,制定来发活动的进度安排,制定MIS系统的总体结构,以确保酒店管理信息系统开发的下调行,避免开发的孤立性和重复性,同时预测酒店管理信息系统未来的发展,明确系统今后的发展、研究方向和准则。从战略角度为系统开发

C面向对象程序设计课程设计报告

《C++面向对象程序设计》课程设计报告题目:分数计算器设置 班级: K0312415 专业:计算机科学与技术 学号: 姓名:周林 指导教师: 小组成员:周林,张齐满 二O一三年 10 月 15 日

一、课程设计问题描述 分数计算器设计是高等学校教务管理的重要组成部分,其内容较多,为了简化计论, 要求设计的管理系统能够完成以下功能: (1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。 (2)输入/输出:对流提取和流插入运算符进行重载。 (3)计算功能:可进行分数的加、减、乘和除法运算。 (4)化简功能:将分数化简为最简分数。 (5)异常处理功能:分数中分母不能为零。 (6)菜单功能:每种功能的操作都是在菜单中进行相应选择。 二、课程设计目的和要求: 经过一个学期的《C++面向对象程序设计》课程的学习,已经有了一定地程序设计基础,但是要学好C++面向对象程序设计这门课程,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。 三、系统设计(算法分析) 1、系统由5功能,可分别执分数的.加法运算,减法运算,.乘法运算和除法运算,还可以将分数化简。 1.加法运算可计算两个分数相加。 2.减法运算可计算两个分数相减。 3.乘法运算可计算两个分数相乘。 4.除法运算可计算两个分数相除。 5.化简运算可计算一个分数化简。 2、流程图

3、分数计算器设置各函数的功能和实现的相关功能由对应的函数来实现。 (1)函数jia() (2)函数jian() (3)函数cheng()实现分数乘法运算。 (4)函数chu()实现分数除法运算。 (5)函数shuchu()实现分数的输出和化简。 四、程序源代码 pp : Defines the entry point for the console application.

学生选课系统课程设计报告

学生选课系统课程设计报告

《数据库原理》课程设计报告 题目:实验2学生选课系统 姓名:李子甘 班级:计科0601 学号:200640274 08年1月

一.需求分析 传统的选课方式都是手写的,教务处通知各 个班级选课,各个班长再通知同学,经过统 计在上交,这样繁琐的过程比较浪费时间。 再者选课时不知道所选课人数已满,要等到 教务处统计后才知道,然后再重新选择。网 上选课为同学节省时间的同时,也减少了不 必要的步骤,也更加方便管理员的管理。 网上选课系统为同学们提供了一个自由的 平台,学生们可以选择规定范围内的课程,查看已修课程总数,还可以修改个人信息。 同时也给老师提供了很大的方便,教师可以 根据统计的人数挑选一定数量的学生,也可 以方便的在网上公布成绩,让学生可以在网 上直接查寻成绩。 我国不少高校都实行学分制,它的核心是允 许学生自由选课,即把学生的自主权交给学 生。在这里,学生的选课制约因素比较复杂,工作量也很大,而且往往需要在较短的时间 内完成。运用计算机辅助选课,即能实时地 对大量选课数据进行检验和统计,十分方便 的输出选课结果,同时也避免了人工选课时

容易产生错误。 二.概念机构设计 根据系统功能设计的要求以及功能模块 的划分,各个系统的逻辑实现如下: 1.对于学生选课系统数据库,可以列出以下数 据项和数据结构: 学生信息:学号、学生姓名、学生的系名、学生性别、学生年龄、学生密码。2.对于教师信息维护数据库,可以列出以下数 据项和数据结构: 教师个人信息:教师编号、教师名称、教师密码。 3.对于后台管理数据库,可以列出以下数据项 和数据结构: 管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系。 选课信息:课程号、学生学号、成 绩。 4.数据流:学生管理员和教师分别有自己的权 限,学生可以查看全部选修必修课程,查看

面向对象课程设计任务书

面向对象课程设计任务书

河南城建学院 《面向对象语言程序设计》课程设计任务书 班级0814101/2 专业计算机科学与技术 课程名称面向对象语言程序设计 指导教师耿永军刘荣辉周二强 计算机科学与工程系 2012年06月

《面向对象语言程序设计》课程设计任务书 一、设计时间及地点 1、时间:第19周 2、地点:计算机系实验中心、本班教室10#A103 二、设计目的和要求 本课程设计是在学习C++基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼: 1.能根据实际问题的具体情况,结合C++的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。 三、设计题目和内容 主要有以下设计题目: 题目1 高校人事管理系统 一、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握C++程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的C++程序设计问题。 2、基本要求: (1)要求利用C++的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法; (4)在系统的设计中,要求运用C++的机制(继承、派生及多态性)来

图书管理系统课程设计报告

《管理信息系统实习》报告 专业班级 学生姓名 指导教师王桃群 时间 2012.3.13~2012.3.23 成绩 评语

一、课程设计题目 图书管理系统 二、系统需求 1.系统的准备 操作系统:Windows xp 数据库系统:SQL Server 2000 或 SQL Server 2005 客户端开发工具:Visual Studio 2005或其他开发工具 2.知识准备 熟悉SQL Server 2000 或 SQL Server 2005的使用; 熟悉C#、https://www.360docs.net/doc/9f14048421.html,或其他语言进行数据库编程。 3.系统分析 图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等; 读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等; 读者凭借书证借书,教师最多借书15本书,借书期限最长为90天,学生最多借书8本书,借书期限最长为30天。对于超期未还的读者不能继续借书,每本书每超期一天罚款0.05元。 三、系统设计 1.体系结构 本系统使用c/s模式的两层结构,表示层(USL)和数据访问层(DAL)。 表示层(USL):为客户提供对应用程序的访问,以Windows应用程序或Web 应用程序的形式提供实现的功能。 业务逻辑层(BLL):实现应用程序的业务功能,以类库的形式为表示层提供服务。 数据访问层(DAL):实现整个系统所有的数据库连接、数据存取操作,以组

件类库的形式为业务逻辑层提供服务。 此外,实体类,简单地说是描述一个业务实体的类。业务实体直观一点的理解就是整个应用系统业务所涉及的对象,从数据存储来讲,业务实体就是存储应用系统信息的数据表,将数据表中的每一个字段定义成属性,并将这些属性用一个类封装,这个类就称为实体类。 2.功能模块框图 3.数据库设计 1. 读者类别表(ReaderType)

学生选课系统课程设计报告

学生选课管理系统 摘要 随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。 本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。 文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。 系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。 关键词管理系统;数据库;PowerBuilder9.0;SQL Server 2000

Select Course Management System of Students ABSTRECT With the development of society, not only the stud ent’s number but also the kinds of course increased rapidly, the traditional management mode has been unable to adapt to actual need, so we develop the select course management system of students. According to the actual need of select course, I analyzed t he demand, divided function nodule, analyzed database mode of the system. Then, I designed database of backstage and application program of stage. Firstly, I simply discussed the background of this subject and the basic theory of the database and SQL langu age in the article. Then I analyzed the development tool—PowerBuilder9.0,analyzed in detail to system and divided the concrete function module. Finally, I provided the design process of the system and the key code of each function nodule. The system accomplished some important functions of management system of books, such as: course’s input, output, information inquiry, select courses, create table of course, modify information of the administrators and students, etc. KEY WORDS Management System,Database, PowerBuilder9.0, SQL

相关文档
最新文档