c++课程设计 车次信息管理系统
C语言课程设计火车票管理系统

二、设计内容设计一个火车票务管理系统,用C语言实现。
对该系统的要求如下: 需求描述:1. 系统功能(1)火车时刻信息录入。
包括车次、日期、起点、终点、开车时间、到达时间、票价。
数据存入数据文件hchsk.dat 或hchsk.txt 中。
(2)火车时刻信息查询。
按照车次查询按终点查询按起点查询按终点和日期查询(3) 统计按终点统计每日的车次数按起点统计每日的车次数2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出三、详细设计说明#include<stdio.h>#include<string.h>#include<stdlib.h>int MENU(); //菜单模块void INPUT(); //输入模块void SEARCH(); //查询模块void SELECT(); //统计模块void WRITE(); //文件记录模块void PRINT(); //打印模块void READ(); //文件读取模块void WRONG(); //纠错模块#define N 1000 //最大列车组数#define Print " %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].pr ice //输出记录格式#define Wrong "\n ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入! ! ! ! ! ! ! ! ! ! ! \n"#define GeShi " 车次日期起点终点开车时间到达时间票价\n"struct Train{char code[10]; //车次char data[10]; //日期//left place 起点char lp[10];char ap[10]; //arrive place 终点char lt[10]; //left time 开车时间char at[10]; //arrive time 到达时间char price[10]; // 票价}T[N];/* 全局变量*/int i=0; // 输入计数器int n=0; // 合计计数器char l[20]; // 纠错空间/////////////////////////////////////////////////////////////////////////////////////// 主函数int main(){int x;do{x=MENU();switch(x){case 1:INPUT(); break;case 2:SEARCH(); break;case 3:SELECT(); break;case 4:printf("\nprintf("\nprintf("\n\nprintf("\n");break;default:WRONG(); break; } }while(x!=4);return 0;}------------------------- "); 正在退出,请按任意键退出");");\n/////////////////////////////////////////////////////////////////////////////////////// 菜单模块int MENU(){int choice;system("cls");printf("\n -------------------------------------------------------------------------- \n");printf(" ------------------------------------------------------------------------- \n");printf(" --- ---\n");printf(" --- 欢迎进入火车票务管理系统---\n");printf(" --- ---\n");printf(" ------------------------------------------------------------------------- \n");printf(" ------------------------------------------------------------------------- \n\n");printf(" \n --------------------------------------------- 请输入选项 ----------- \n");printf(" 1.录入火车时刻信息\n");printf(" 2.查询火车时刻信息\n");printf(" 3.统计火车车次\n");printf(" 4.退出\n");printf(" ------------------------------------------------------------------------- \n");printf(" 请选择:");scanf("%d",&choice);gets(l);return choice;}/////////////////////////////////////////////////////////////////////////////////////// 输入模块void INPUT(){char ch;do{system("cls");printf("\n\n 欢迎进入录入火车时刻信息界面\n");do{printf("\n 新建列车信息?(y/n) ");scanf("%c",&ch);gets(l);if(ch!='y'&&ch!='n')WRONG ();}while(ch!='y'&&ch!='n');if(ch=='n')break;printf(" --------------------------- ");printf("\n 录入第%d 趟列车信息\n",n+1); printf(" 车次");gets(T[i].code);printf(" 日期");gets(T[i].data);printf(" 起点");gets(T[i].lp);printf(" 终点");gets(T[i].ap);printf(" 开车时间");gets(T[i].lt);printf(" 到达时间");gets(T[i].at);printf(" 票价");gets(T[i].price);n++;i++; }while(i<N);系统记载的列车信息如下 \n");printf(" PRINT();}/////////////////////////////////////////////////////////////////////////////////////// 文件记录模块 void WRITE(){FILE *fp,*fp1;if((fp=fopen("hchsk.txt","w"))==NULL){printf(" 无法创建文件 !\n\n"); getchar(); return;}if((fp1=fopen("N.txt","w"))==NULL)// 用于记录共几趟车{printf(" 无法创建文件 !\n"); getchar(); return;}for(i=0;i<n;i++)if(fwrite(&T[i],sizeof(struct Train),1,fp)==0)printf(" 写入数据失败 !\n\n");fprintf(fp1,"%d",n); fclose(fp); fclose(fp1);WRITE(); system("cls"); printf("\n"); printf("\n");printf(" \n\n");/////////////////////////////////////////////////////////////////////////////////////// void READ(){FILE *fp,*fp1;if((fp=fopen("hchsk.txt","r"))==NULL){printf(" 无法打开文件\n");getchar();return;}if((fp1=fopen("N.txt","r"))==NULL){printf(" 无法打开文件!\n\n");getchar();return;}fscanf(fp1,"%d",&n);fclose(fp1);for(i=0;i<n;i++){fread(&T[i],sizeof(struct Train),1,fp);}fclose(fp);}/////////////////////////////////////////////////////////////////////////////////////// void PRINT(){char ch[10];READ();printf("\n=\n"); printf(GeShi); for(i=0;i<n;i++) 文件读取模块打印模块printf("=====\n");printf("\n 按任意键返回上级菜单: "); gets(ch);} /////////////////////////////////////////////////////////////////////////////////////// 查询模块void SEARCH(){char name1[10];// 车次char name2[10];// 终点char name3[10];// 起点char name41[10];// 终点char name42[10];// 日期char choice;int j;int k;do{system("cls");printf("\n\n ==================== 欢迎进入查询火车时刻信息界面====================\n");printf("\n ++++++++++++++++++ 请选择查找方式++++++++++++++++++\n\n");printf(" -- 1. 显示所有列车信息 2.按车次查询 3.按终点查询--- \n");printf(" ---- 4. 按起点查询 5.按终点和日期查询6.返回上级菜单 --- \n");printf("\n 请选择:");scanf("%d",&j);gets(l);switch(j){case 1:PRINT(); break;case 2:printf("\n --- 请输入车次--- :"); gets(name1);break;case 3:printf("\n --- 请输入终点--- :"); gets(name2);break;case 4:printf("\n --- 请输入起点--- :"); gets(name3);break;case 5:printf("\n --- 请输入终点--- :");gets(name41);printf("\n --- 请输入日期--- :");gets(name42);break;printf(Print); k++;}case 6:break; default:WRONG (); break;}READ(); k=0; if(j==2){for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){printf("\n功!\n");printf("\n\n");printf(GeShi); break;}}for(i=0;i<n;i++){if(strcmp(T[i].code,name1)==0){按 车次 查找列车信息成printf("printf(Print); k++;}=====\n");printf("\n--> 共查询到%d 趟列车信息 ,请按任意键返回<-- ",k);gets(l);}if(j =3){for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf("\n按 终点 查找列车信息成功!\n");printf("\n\n");printf(GeShi); break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name2)==0){printf("printf(Print); k++;}=====\n");printf("\n--> 共查询到%d 趟列车信息 ,请按任意键返回<-- ",k);gets(l);}if(j =4){for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf("\n按 起点 查找列车信息成功!\n");printf("\n\n");printf(GeShi); break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name3)==0){printf("printf(Print); k++;}=====\n");printf("\n--> 共查询到 %d 趟列车信息 ,请按任意键返回<-- ",k);gets(l);}if(j==5){for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)= =0&&strcmp(T[i].data,name42)==0){printf("\n按 终点和日期 查找列车信息成功 !\n");printf("\n\n");printf(GeShi); break;}}for(i=0;i<n;i++){if(strcmp(T[i].ap,name41)==0&&strcmp(T[i].data,name42)==0){printf("=====\n");printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}do{system("cls");printf("\n\n -->继续查找(1), 返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='1'&&choice!='2');}while(choice!='2');}/////////////////////////////////////////////////////////////////////////////////////// 统计模块void SELECT(){char name1[10];// 终点char name2[10];// 起点int t,k;char choice;dosystem("cls");{{{==================== 欢 迎 进 入 统 计 火 车 车 次 界 面 \n");gets(l); switch(t) case 1:printf(" 请输入终点: "); gets(name1); break; case 2:printf(" 请输入起点: "); gets(name2); break; default:WRONG(); break;}READ(); if(t==1){k=0;for(i=0;i<n;i++)if(strcmp(T[i].lp,name1)==0)printf(" 1.按终点统计每日的车次数 \n"); printf(" 2.按起点统计每日的车次数 \n");printf("\n请选择: ");printf("\n |- -|- -|- -|- 请选择统计方式 -|- -|- -|- -|- \n\n");scanf("%d",&t);printf("\n\nprintf("\n 按终点统计列车信息成功!\n");break;}}for(i=0;i<n;i++){if(strcmp(T[i].lp,name1)==0)k++;}printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}if(t==2){k=0;for(i=0;i<n;i++){if(strcmp(T[i].lp,name2)==0){printf("\n 按起点统计列车信息成功!\n");break;}}for(i=0;i<n;i++)if(strcmp(T[i].lp,name2)==0)k++;{}printf("\n --> 共查询到%d 趟列车信息,请按任意键返回<-- ",k);gets(l);}do{system("cls");printf("\n\n -->继续统计(1), 返回主菜单(2)<-- ");choice=getchar();gets(l);if(choice!='1'&&choice!='2')WRONG ();}while(choice!='1'&&choice!='2');}while(choice!='2');}/////////////////////////////////////////////////////////////////////////////////////// 纠错模块void WRONG(){system("cls");printf("\n\n ---> ! ! ! 输入错误,请按任意键返回! ! ! <--- ");gets(l);}。
c语言课程设计车票管理系统

c语言课程设计车票管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本技能,能够运用C语言设计简单的车票管理系统。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构;–理解车票管理系统的业务逻辑和需求;–了解软件开发的基本流程。
2.技能目标:–能够使用C语言编写程序,实现车票管理系统的基本功能;–能够进行程序调试和优化,提高程序的性能和可维护性;–能够运用面向对象编程思想,设计合理的软件架构。
3.情感态度价值观目标:–培养学生的编程兴趣,增强自信心;–培养学生团队合作精神和自主学习能力;–培养学生对软件行业的热爱和对编程事业的敬业精神。
二、教学内容本课程的教学内容主要包括C语言基础知识、车票管理系统的需求分析、系统设计、编码实现和测试等。
具体安排如下:1.C语言基础知识:–数据类型、变量和常量;–运算符和表达式;–控制语句;–函数和数组。
2.车票管理系统的需求分析:–理解车票管理系统的业务流程;–分析系统需求,确定功能模块。
3.系统设计:–设计系统的数据结构和算法;–设计系统的界面和交互逻辑。
4.编码实现:–使用C语言编写程序,实现车票管理系统的基本功能;–进行程序调试和优化。
5.测试与总结:–对程序进行测试,确保功能正确;–总结学习过程,提高编程能力。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法和车票管理系统的业务逻辑,使学生掌握相关知识。
2.案例分析法:分析实际案例,使学生更好地理解车票管理系统的需求和设计。
3.实验法:让学生动手编写程序,培养实际操作能力和编程技能。
四、教学资源本课程所需的教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》;2.参考书:《C语言编程思想》或《C语言实例教程》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络环境等。
以上教学资源将有助于实现本课程的教学目标,提高学生的编程能力,为学生的职业发展奠定基础。
c语言课程设计车票管理系统

c语言课程设计车票管理系统车票管理系统是一种用于管理和查询车票信息的软件系统。
在现代社会中,人们经常需要购买车票进行出行,而车票管理系统能够提供方便快捷的购票、退票、查询等功能,极大地方便了人们的出行需求。
车票管理系统需要具备用户管理功能。
用户可以通过注册账号和登录系统来使用各种功能。
系统需要记录用户的个人信息,包括姓名、身份证号码、电话号码等,以便于用户购票和退票时的身份验证。
用户可以通过修改个人信息来更新自己的基本资料。
车票管理系统需要提供车次管理功能。
系统需要记录不同车次的信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、票价等。
管理员可以通过系统添加、修改和删除车次信息。
用户可以查询某一特定车次的详细信息,包括车次编号、发车时间、到达时间、起始站点、终点站点、余票数量、票价等。
车票管理系统还需要提供购票和退票功能。
用户可以通过系统选择某一特定车次和日期,然后查询该车次的余票数量。
如果有余票,用户可以选择购买相应数量的车票,并完成支付操作。
购票成功后,系统会生成一张电子车票并发送到用户的手机上。
如果用户需要退票,可以在规定的时间范围内选择相应的车票进行退票操作。
系统会根据退票规则进行退款处理,并将退款金额返还到用户的账户余额。
车票管理系统还需要提供车票查询功能。
用户可以通过系统选择起始站点和终点站点,然后查询符合条件的车次列表。
系统会根据用户的选择显示车次编号、发车时间、到达时间、余票数量、票价等信息。
用户可以根据自己的需求选择最合适的车次进行购票。
车票管理系统还需要具备统计分析功能。
管理员可以通过系统生成各种报表,包括每日、每周、每月的车票销售情况、客流量统计、收入统计等。
这些报表可以帮助管理员了解车票销售的情况,从而进行合理的调整和优化。
车票管理系统是一种方便快捷的软件系统,能够满足用户购票、退票和查询的需求。
通过该系统,用户可以轻松地选择合适的车次、购买车票,并随时查询车票信息。
c语言课程设计车票管理系统

河北建筑工程学院课程设计报告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院专业:信息与计算科学班级:信142学号:20143140219姓名:李嘉星指导教师:李鸿强完成日期:2015-6-17河北建筑工程学院课程设计报告目录前言 (2)第1章概要设计 (3)1.1题目的内容与要求 (3)1.2总体结构 (3)第2章详细设计 (4)主模块流程图 (4)车票管理系统软件详细设计 (4)第3章调试分析 (6)第4章使用说明与执行结果 (7)参考文献 (15)附录(程序清单) (16)致谢 (32)河北建筑工程学院课程设计报告前言前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
Visual C++6.0 是一种功能强大行之有效的可视化编程工具。
因此此软件是在Visual C++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++6.0环境下的车票管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
c语言车辆管理系统课程设计

c语言车辆管理系统课程设计一、课程目标知识目标:1. 学生能掌握C语言基础,包括数据类型、运算符、控制结构等,并运用到车辆管理系统的设计与实现中。
2. 学生能理解并运用数组、结构体等数据结构进行车辆信息的存储与管理。
3. 学生能运用文件操作实现对车辆信息数据的持久化存储。
技能目标:1. 学生能运用C语言编写出功能完整的车辆管理系统,包括车辆信息的添加、删除、查询和修改。
2. 学生通过课程学习,培养编程思维和解决问题的能力,具备一定的系统分析和设计能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣,形成积极的学习态度和自主探究的精神。
2. 学生通过团队协作完成项目,培养沟通协作能力和集体荣誉感。
3. 学生在课程实践中,体会科技对生活的改变,增强对社会主义核心价值观的认同。
分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 掌握C语言基础知识,能独立完成车辆管理系统的基础功能编写。
2. 学会使用数据结构进行信息管理,提高代码的可读性和可维护性。
3. 通过项目实践,培养团队协作能力和解决问题的实际操作能力。
二、教学内容1. C语言基础:变量、数据类型、运算符、表达式、控制结构(顺序、选择、循环)。
相关教材章节:第一章至第四章。
2. 函数:函数定义、调用、参数传递、返回值。
相关教材章节:第五章。
3. 数组:一维数组、二维数组、数组操作。
相关教材章节:第六章。
4. 指针:指针的概念、指针操作、指针与数组、指针与函数。
相关教材章节:第七章。
5. 结构体:结构体定义、结构体变量操作、结构体数组、结构体指针。
相关教材章节:第八章。
6. 文件操作:文件打开、关闭、读写、定位。
相关教材章节:第十章。
7. 车辆管理系统设计与实现:系统需求分析、模块划分、功能实现、测试与调试。
教学内容安排:- 系统需求分析与设计:1课时- 车辆信息管理模块实现:2课时- 车辆信息查询模块实现:2课时- 车辆信息添加、删除、修改模块实现:2课时- 系统测试与调试:1课时教学内容确保科学性和系统性,以教材为基础,结合实际案例,使学生能够将所学知识应用于车辆管理系统的设计与实现中。
c课程设计车辆管理系统

c 课程设计车辆管理系统一、教学目标本课程旨在通过学习车辆管理系统,使学生掌握C语言编程的基本概念和方法,培养学生解决实际问题的能力。
具体目标如下:1.理解C语言的基本语法和数据类型。
2.掌握函数的定义和调用。
3.了解指针的概念和应用。
4.熟悉结构体的定义和使用。
5.掌握文件操作的基本方法。
6.能够使用C语言编写简单的程序。
7.能够运用结构体和指针处理复杂的数据结构。
8.能够使用文件操作实现数据的持久化存储。
9.能够独立分析和解决实际问题,编写相应的车辆管理系统程序。
情感态度价值观目标:1.培养学生的编程兴趣,提高自主学习的积极性。
2.培养学生的团队合作意识,学会与他人分享和交流。
3.培养学生的创新精神,鼓励学生大胆尝试和发现问题。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、函数、指针、结构体和文件操作等。
具体安排如下:1.C语言的基本语法和数据类型:介绍C语言的基本结构和数据类型,包括整型、浮点型、字符型等。
2.函数的定义和调用:讲解函数的声明、定义和调用,包括递归函数和外部函数。
3.指针的概念和应用:介绍指针的基本概念和运算,包括指针的声明、指针的赋值和指针的解引用等。
4.结构体的定义和使用:讲解结构体的定义和使用,包括结构体的声明、结构体的成员访问和结构体的指针等。
5.文件操作的基本方法:介绍文件的打开、关闭、读写等基本操作,包括文本文件和二进制文件的读写。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解和示范,使学生掌握C语言的基本概念和方法。
2.讨论法:学生进行小组讨论,培养学生的团队合作意识和问题解决能力。
3.案例分析法:通过分析实际案例,使学生了解C语言在车辆管理系统中的应用。
4.实验法:安排实验室实践,让学生亲自动手编写程序,巩固所学知识。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
c语言课程设计车票管理系统

c语言课程设计车票管理系统车票管理系统是一个用于管理车票信息的软件系统。
它可以记录并管理车票的购买、退票、查询等操作,实现对车票信息的全面管理和统计。
本文将从需求分析、系统设计和实现三个方面来介绍车票管理系统的开发过程。
一、需求分析车票管理系统主要面向客户和管理员两类用户。
客户可以通过系统购买车票、查询车票信息,管理员可以管理车票信息、处理退票等操作。
1. 用户管理车票管理系统需要实现用户的注册和登录功能,以保证用户购票时的身份认证和信息安全。
2. 车次管理系统需要记录车次的信息,包括车次编号、起始站点、终点站点、发车时间、到达时间、票价等。
管理员可以对车次信息进行增删改查操作。
3. 车票管理系统需要记录车票的信息,包括车票编号、车次编号、座位号、购票人、购票时间等。
客户可以通过系统购买车票,管理员可以对车票信息进行增删改查操作。
4. 车票查询客户可以根据起始站点、终点站点和发车时间等条件来查询车票信息,以便选择合适的车次和座位。
5. 车票购买客户可以选择合适的车次和座位进行购票,系统需要实时更新车票信息,避免重复售票或超售情况的发生。
6. 车票退票客户可以通过系统进行退票操作,系统需要实时更新车票信息,并进行相应的退款处理。
二、系统设计基于需求分析的结果,我们可以设计出如下的系统架构:1. 用户管理模块包括用户注册、登录、信息修改等功能。
2. 车次管理模块包括车次信息的增删改查功能。
3. 车票管理模块包括车票信息的增删改查功能。
4. 车票查询模块根据用户输入的条件查询车票信息并展示给用户。
5. 车票购买模块根据用户选择的车次和座位进行购票,并更新车票信息。
6. 车票退票模块根据用户选择的车票进行退票,并更新车票信息和退款处理。
三、系统实现车票管理系统的实现主要依赖于数据库和编程语言。
我们可以选择使用MySQL作为数据库,使用C语言进行系统的开发。
1. 数据库设计根据需求分析的结果,我们可以设计出如下的数据库表结构:- 用户表:包括用户ID、用户名、密码等字段。
车票管理系统c语言课程设计

车票管理系统 c语言课程设计一、教学目标本节课的教学目标是使学生掌握车票管理系统的设计与实现,通过学习,学生应能理解C语言在实际应用中的编程方法,熟练运用C语言实现一个简单的车票管理系统。
具体来说,知识目标包括理解车票管理系统的业务流程,掌握C语言的基本数据类型和控制结构;技能目标包括能够使用C语言编写程序,实现车票管理系统的基本功能;情感态度价值观目标包括培养学生的团队协作意识,提高学生解决实际问题的能力。
二、教学内容本节课的教学内容主要包括车票管理系统的业务流程分析、C语言基本数据类型和控制结构的学习,以及车票管理系统程序的编写和调试。
首先,学生需要了解车票管理系统的业务流程,包括车票的购买、退票、改签等操作;其次,学生需要学习C语言的基本数据类型和控制结构,如整数、浮点数、字符、条件语句、循环语句等;最后,学生需要运用所学知识,编写车票管理系统程序,并进行调试。
三、教学方法为了达到本节课的教学目标,将采用讲授法、案例分析法和实验法等多种教学方法。
首先,通过讲授法向学生传授车票管理系统的业务流程和C语言的基本知识;其次,通过案例分析法,分析车票管理系统的实际应用,使学生更好地理解所学知识;最后,通过实验法,让学生动手编写和调试车票管理系统程序,提高学生的实际操作能力。
四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书将提供车票管理系统的设计原理和C语言编程方法的理论知识;多媒体资料将展示车票管理系统的实际应用场景,帮助学生更好地理解所学知识;实验设备将支持学生进行车票管理系统程序的编写和调试,提高学生的实际操作能力。
五、教学评估本节课的教学评估将采用多元化的评估方式,包括平时表现、作业和考试等,以全面客观地评价学生的学习成果。
平时表现将占课程总评的30%,主要评估学生在课堂上的参与程度和表现;作业将占课程总评的30%,主要评估学生对车票管理系统设计和C语言编程的掌握情况;考试将占课程总评的40%,主要评估学生对车票管理系统设计和C语言编程的综合运用能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计的原始资料及依据查阅有关资料,进一步理解面向对象程序设计的思想,并编写一个简单的windows系统。
通过本设计可以加深理解使用面向对象程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。
二、课程设计主要内容及要求设计内容:查询:为对车次信息的查询和对车票信息的查询。
车次信息包括:日期、车次、出发地、目的地。
车次信息只允许乘客查询,不能修改。
记录应包括:日期、车次、出发地、目的地。
设计要求:(1)要求利用面向对象的方法完成系统的设计;(2)要求在设计的过程中建立清晰的类层次,并画出类图;(3)设计功能满足要求、易于操作的友好界面;(4)界面中需有菜单、工具栏、状态栏;(5)在系统的设计中,至少要用到面向对象的一种机制:继承、多态等;(6)在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。
三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。
一般不应少于3000字。
2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
4.课程设计说明书手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。
5.课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
四、设计完成后应提交成果的种类、数量、质量等方面的要求1.完成“任务书”中指定的功能,运行结果正确。
2.课程设计说明书。
五、时间进度安排六、主要参考资料(文献)[1]郑莉董渊张瑞丰编着. 《C++语言程序设计》(第4版). 北京:清华大学出版社.2010[2] 陈维兴, 林小茶.《C++高级程序设计教程》. 北京:清华大学出版社[3] 谭浩强.《C++程序设计教程》. 北京:中国科学技术出版社[4] 王燕.《面向对象的理论与C++实践》. 北京:清华大学出版社[5] 马石安, 魏文平. 主编《Visual C++程序设计与应用教程》. 北京:清华大学出版社[6] 王育坚. 主编《Visual C++面向对象编程教程》(第二版). 北京:清华大学出版摘要本文的设计名称为车次信息管理系统,此程序既可以用于管理员管理车次信息也可以用于乘客查询有关的车次信息。
首先为了让程序开始界面一目了然,使得程序更容易操作,该设计制作了用户登陆界面,用户可以通过选择不同序号进行操作。
在该程序中主要定义三个类,分别是维护类、查询类和统计类,维护类作为基类主要实现的功能有增加车次信息、删除车次信息、修改车次信息,其中车次信息包括途经各站点的名称及时间,通过指针、链表的应用实现其功能。
查询类作为维护类的一个派生类,主要增加的功能是查询列车信息,查询时可实现按站名查询、按车次查询,并提供站-站查询,其中使用while循环结构、if语句及switch语句。
统计类是维护类的另一个派生类,实现的功能主要是统计车次信息,输入一个站名,可统计经过该站的列车数目,输入两个站名如A、B,则可统计同时经过A和B的所有列车数目,同时在系统设计中,用到了面向对象的两种机制:继承、多态。
关键词:类继承多态车次信息管理目录目录摘要 (I)第1章绪论 (1)1.1 C++语言的发展 (1)1.2概要设计 (1)1.3功能分析 (1)1.4设计分工及编程实现 (2)第2章需求分析 (3)2.1 系统设计目的与意义 (3)2.2 系统数据流图 (3)2.3 系统功能介绍 (4)2.4 系统功能模块图 (4)第3章详细设计 (5)3.1类设计 (5)3.2程序代码描述 (12)3.3界面设计与各功能模块实现 (13)第4章系统测试 (24)4.1测试过程中的问题 (24)4.2测试结果说明 (24)4.3设计回顾 (24)结论 (25)致谢 (26)参考文献 (27)第1章绪论1.1 C++语言的发展美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。
一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。
虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。
1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1988-1998。
C++是具有国际标准的编程语言,通常称作ANSI/ISOC++。
C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。
这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。
当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。
1.2概要设计为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
(1)准确性和及时性:系统处理的准确性和及时性是系统的必要性能。
系统应能及时而且准确的根据用户权限及所输入的信息做出响应。
车次的数量和时间影响用户的决策活动,在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
(2)易用性:本系统是直接面对用户的,这就要求系统提供良好的用户接口,易用的人机交互界面,这就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
(3)安全性:订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、以及日常安全管理等工作。
1.3功能分析(1)查询为对车次信息的查询和对车票信息的查询。
车次信息包括:日期、车次、出发地、目的地。
车次信息只允许乘客查询,不能修改。
记录应包括:日期、车次、出发地、目的地。
(2)账户管理。
只允许管理人员登录,管理人员可以修改信息修改的信息包括:日期、车次、出发地、目的地。
1.4设计分工及编程实现本小组课程设计是由两人参与完成的。
我的工作是完成派生类和主函数,完成操作的汇合和界面操、作基类的构造为闫浩编写,该类的名称为weihulei。
编程主要经过四个步骤:编辑、编译、链接、运行调试。
编辑是将自己设计好的源程序输入计算机中,生成后缀为.cpp的磁盘文件;编译是将程序的源代码转换为机器语言代码,这一过程是计算机自动执行的,我们人是看不到的;链接是将多个源程序文件以及库中的某些文件连在一起,生成一个后缀为为.exe的可执行文件;运行调试是会运行出一个界面,状态栏会提示相应的信息,如没有错误,或者是错误在哪一行,错误的原因等。
程序的运行和调试是一个很困难的过程,但经过本次课设,我们对本课程的学习有了很大的进步。
第2章需求分析2.1 系统设计目的与意义要求用C++面向程序设计语言编写车次信息管理系统,1.使学生进一步理解和掌握课堂上所学内容。
2.使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
3.使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
4.提高学生的论文写作能力5.本次课程设计是计算机专业的主要实践性教学环节之一,要求运用所学专业的相关知识,结合实际操作与应用而进行的一次编程综合能力的训练,旨在培养学生在应用软件程序设计方面,初步掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及设计程序、调试程序、编写基本软件等能力,为毕业设计及今后从事专业相关的工作打下一定的基础。
2.2 系统数据流图实现的主要功能有:车次信息的查询:输入查询车次的信息编号或站点;车次信息的添加功能:添加的信息有车次编号,起点站和终点站;车次信息的查询功能:查询车次的所有信息;车次信息的修改功能,任意修改所有信息;;车次信息的删除功能:删除所有或个别车次信息。
图2.1系统数据流图2.3 系统功能介绍此程序名称为《车次信息管理系统》,顾名思义,这是一个可以管理列车基本信息的一个基本程序,它可以实现简单的列车信息查询和管理车次信息以及查看等功能,具体有以下功能:1.为了让程序开始界面一目了然,使得程序更容易操作,故再次设计了用户登陆界面。
2.主要功能还是车次信息的管理与维护,包括有:增加车次信息、删除车次信息、修改车次信息。
其中车次信息包括途经各站点的名称及时间。
3.当然作为一个信息的管理系统,另一项主要的功能就是车次的查询系统,本程序设计了查询时可实现按站名查询、按车次查询,并且提供站—站查询。
4.最后一项功能即为列车统计,即输入一个站名,可统计经过该站点的列车数目,如果输入两个站名,则可以统计同时经过这两个站点的所有列车数目。
2.4 系统功能模块图本系统的输入输出为:1.车次信息录入2.车次信息显示3.车次信息的删除4.车次信息的修改5.统计全部车次信息图2.2系统功能流图第3章详细设计3.1类设计类是面向对象程序设计方法的核心,利用类可以实现对数据的封装和隐藏。
在面向过程的结构化程序设计中,程序的模块是由函数构成的,函数将逻辑上相关的语句与数据封装,用于完成特定的功能。
在面向对象程序设计中,程序模块是由类构成的。
类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。
因此,后者的集成程度更高,也就更适合用于大型复杂程序的开发。
类的成员包括数据成员和函数成员,它们分别描述了问题的属性和行为,是不可分割的两个方面。