学生管理系统-火车订票系统 c语言课程设计
概要:
C 语言课程设计一---学生管理系统
使使用 C 语言实现学生管理系统。系统实现对学生的基本信息和考试成绩的 管理。采用终端命令界面,作为系统的输入输出界面。采用文件作为信息存储介质。
功能描述:
学生信息:
基本信息:
学号: int
姓名: char 128
密码: char 32
年龄: int
班级: int
成绩信息:
数学成绩: int
C 语言成绩:int
语文成绩: int
名次: int
1、 实现对学生信息基本信息的录入,其中名次根据成绩自动计算(添加)。学号不能
重复。2、 删除学生信息
3、 修改学生信息
4、 查找学生信息
a) 根据学号查找
b) 根据姓名查找
c) 根据班级群体查找,把属于这个班的学生全部显示5、 显示所有学生信息列表
a) 按学号顺序显示
b) 按名次显示
c) 按某学科(可选)成绩顺序显示,并在最后显示出此科平均分。6、 保存学生信息
修改后的信息保存到文件中。当程序启动后从文件中读取信息,至内存。在做添加删除修改时信息保存至内才中。(在内存中使用链表或数组...保存)。
7、 退出系统
a) 如果有修改操作要提示是否保存。
教师信息:
教员序号:int
教员姓名:char 128
教员密码:char 32
所任班级: int
1、对老师信息的添加、删除、修改、显示、保存。教员序号不能重复。
登陆功能:
1、系统启动后提示登陆界面。使用用户名和密码登陆。学生和老师都可以登陆。
2、用户名和密码正确登陆成功。显示欢迎界面:”欢迎 XX 同学(或老师)登陆”
显示操作界面。
3、如果输入用户名和密码错误接续提示,超过 3 次程序自动退出。
4、除老师和学生外,系统有一个特殊用户超级管理员用户。用户名固定(admin),
也可以固定。
5、超级管理员、老师和学生有不同的操作界面。
管理权限:
超级管理员 :可以对老师学生做所有操作。
老师 :可以查看自己的信息,和修改自己的密码。
可以查看所有学生的信息,修改学生的成绩信息。
学生 :可以查看自己的信息,和修改自己的基本信息。
课程要求:
分以下几步完成。
第一步:完成学生信息管理的部分。
第二步:完成老师信息管理、和登陆管理。
第三步:完成权限管理。
C 语言程序设计二:火车订票系统
一.需求设计: 1.每条线路所涉及的信息有:起点、终点、站名、车次、票价、时间、座位号、所经站点(多 个)。 2.作为示意系统,全部数据保存至文件中。程序启动后从文件中读取加载至内存中。 3.系统能实现的功能和操作如下: 1.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。
2.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办 理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要 可登记排队候补。
3.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然 后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求, 则为他办理订票手续,否则依次询问其他排队候补的客户。
4登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。 5统计功能:将每次车的订票,退票结果统计出来。
6管理功能:列车管理员可以通过调用函数来查看车票及其用户情况.可以增加、删除线路信 息。
7.查询功能:用户可以查询自己需要的车辆信息. 二.总体设计
1. 总体设计说明:
1.数据结构设计:
程序=数据结构+算法,一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息
和用户信息的数据结构.
车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次,起始站,发车时
间,指向下一个结点的指针,指向中途站的指针。纵向链表中每一个结点包含以下内容:
从始发站开始的依次到站,票价,到达时间,是否已被购买标识,采用 mark 标识,当 mark 为 1
时车票已售出,当 mark 为 0 时车票还未售出.以及指向下一个结点的指针.纵向链表采用循
环链表,尾指针指向首指针。
2.
未购票用户信息使用队列来保存,因为考虑到用户会预订票,所以把用户来订票的时间早
晚排在队中.先来先买,后来后买.队列中的每个元素包含以下内容:用户姓名,SFZ 号码,想
要购票的车次,起始站,要到的站,时间.
已经购票用户信息使用一个单链表来保存,链表中的每个结点包含以下内容:用户姓
名,SFZ 号码,已购车票的车次,出发时间,到达时间.
车票信息链表示意图:
车次、 起始站、终点站、发车时间、 到站时间、 票价、 座位号
未购票用户信息队列:
用户姓名
购票的车次 起始站 要到的站 达到时间
注: 座位号包含在车次号中
已购票用户信息链表示意图: 用户姓名
SFZ 号码 已购车票的车次号 出发时间 到达时间
注:座位号包含在车次号中 2、界面设计说明
1、程序开始运行提示: 请选择用户操作: 1、登录 2、新用户注册
2、旅客用户登录后界面: 1、用户基本信息维护 2、查询操作
子菜单如下:
a、按车次,查询车次信息。
b、按车次、日期,查询座位信息。
a、按始发站、终点站、日期查询座位信息。
3、订票操作
4、退票操作
5、注销
3、管理员用户界面:
1、管理旅客用户信息
子菜单如下:
a、旅客用户查询
b、旅客用户信息列表显示
c、旅客用户增加
d、旅客用户删除
e、旅客用户修改
2、管理车次信息
子菜单如下:
a、车次查询
b、车次列表信息显示
c、车次增加
d、车次删除
e、车次修改
3、统计
4、用户信息管理
5、注销
my github :git@github.com:Kevin-Dfg/Data-Structures-and-Algorithm-Analysis-in-C.git
学生管理系统-火车订票系统 c语言课程设计的更多相关文章
- 奥运会订票系统c语言代写源码下载
制作能够实现2008北京奥运会网上订票的系统,能够实现购票人员注册.购票.管理人员可以设置各个比赛场地的赛事安排及票数. 程序要求实现的功能如下: 购票者信息注册:购票者可以用昵称和身份证进行注册,若 ...
- C语言课程设计——电影院订票系统
1. 课题简介 大家都爱看电影,现请参考一个熟悉电影票预订系统,实现C语言版的订票系统.了解订票如何实现的.系统主要有2类用户:管理员用户和顾客用户. 管理员用户登录系统后,实现电影放映厅信息管理和电 ...
- 课程设计之(struts2+Hibernate)航空订票系统
1.题目 课程设计之航空订票系统 为某家机票预订服务商开发一个机票预订和查询管理系统.该系统中的航班和机票信息由多家航空公司负责提供.客户通过上网方式查询航班时间表.机票可用信息.机票折扣信息,可以远 ...
- windows API 开发飞机订票系统 图形化界面 (四)
接下来的是录入航班.修改航班信息功能的实现: //录入航班 BOOL EntryFlight(HWND hEntryDlg){ TCHAR szDiscount[]; TCHAR szFare[],s ...
- web类协议脚本-飞机订票系统示例
以下是LR自带的飞机订票系统的Demo,希望能帮助大家. Action() { int iRand; int iTmp; char *strTmpA; char *strTmpB; char *str ...
- loadrunner飞机订票系统从登陆订票退票登出的脚本实现代码调试通过
在LR自带的飞机订票系统中,完整模拟一个用户从登陆->订票->退票->登出这样一个业务流程,分解每个事务为一个Action: 进入首页->登陆->进入订票页面->选 ...
- loadrunner笔记(二):飞机订票系统--客户信息注册
(一) 几个重要概念说明 集合点:同步虚拟用户,以便同一时间执行任务. 事务:事务是指服务器响应用户请求所用的时间,当然它可以衡量某个操作,如登录所需要的时间,也可以衡量一系列的操作所用的时间,如从 ...
- LoadRunner 自带订票系统flights 功能空白、1080端口被占用的解决办法
LoadRunner 自带订票系统flights 功能空白.1080端口被占用的解决办法 安装LoadRunner8.1后运行Mercury Web Tours Application,点击fligh ...
- Loadrunner录制+运行+结果-【飞机订票系统实战】
目录结构: 一.LoadRunner实现订票系统脚本录制 二.Loadrunner实现订票系统IP欺骗(此处可以不设置) 三.Loadrunner运行录制的脚本 四.Load generator配置 ...
随机推荐
- 建议入门-用ArcMap进行空间查询与空间连接
1.打开arcmap并导入数据(如本图导入美国地图(usa.mxd)): 2.空间查询操作,在地图上的某片区域点击右键,得到下图,点击identify,此时我在阿拉斯加上面点击的 地图会闪现一下被查询 ...
- python视频教程:十分钟快速入门python
想要学习python这门语言,却始终找不到一个全面的Python视频教程,倘若你是真心想学好一门语言,小编建议你亲自动手实践的.下面来看看入门python的学习教程. Python的语言特性 Pyth ...
- EF学习笔记(一)
EF(EntityFramwork)实体框架:主要是将实体类(EntityClass)和数据表(Table)进行映射(Map). EF核心对象: DbContext (数据访问核心对象) ...
- PAT 07-2 A+B和C
有两个值得注意的地方:1.变长数组(VLA)的使用,没想到PAT上的OJ竟然支持C99,一开始不知道就没用,看了看别人的,既然,还是用吧, 它有一点我不太喜欢,它不能像一般数组那样在声明时通过赋一个0 ...
- 2016 - 1 - 22 HTTP(二)
一: 发送HTTP请求的方法 1.在HTTP/1.1中规定了8种发送请求的方法: 2.发送请求时需要参数,比如POST中的账号密码 二:POST与GET的对比 1.GET与POST的主要区别表现在数据 ...
- RAID-4与模2和
在网络传输和磁盘数据管理中经常涉及到的所谓奇偶校验:每N个bit之后加上一个bit保证这N + 1bit的模2和为0(也叫异或,一个意思) 而如果这其中出现了单bit错, 直接导致校验出差,出现偶数b ...
- HID高级攻击姿势:利用PowerShell脚本进行文件窃取
0×01 引言 又到了期中考试了,我又要去偷答案了,一直发现远程下载运行exe的方式不太好,容易报毒所以这里打算用ps脚本. 0×02 关于HID HID是Human Interface Device ...
- Java中接口作为方法的返回
在<算法>中的散列表一节,在用拉链法实现散列表的API时要求实现以下一个方法: public Iterable<Key> keys() 我们知道Iterable是一个接口,那么 ...
- Maven Build profiles
They modify the POM at build time, and are meant to be used in complementary sets to give equivalent ...
- Display Images in widget
在自定义的widget中显示图片. 思路:定义类MyWidget,public 继承自QWidget,然后实现 void paintEvent(QPaintEvent *). 新建Empty qmak ...