学生管理系统-火车订票系统 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配置 ...
随机推荐
- RPI学习--webcam_用fswebcam抓取图片
若 ls /dev 下没有video0,可以参考http://www.cnblogs.com/skynext/p/3644873.html,更新firmware 1,安装fswebcam: sudo ...
- ajax 请求超过了5s 还没有返回 的话 就自动取消
ajax请求时有个参数可以借鉴一下 var ajaxTimeOut = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : ' ...
- iOS上架(转)
自己的经验总结,有错的话请留言,第一时间更改. 先大概说一下IOSAPP上架的几个步骤(详细步骤见下图): 创建证书请求文件 登录苹果开发者中心生成发布者证书(下载下来要双击一下) 设置APPID(要 ...
- Ubuntu 14.10 下运行进程实时监控pidstat命令详解
简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...
- 封装定制的Kali Live ISO
打造专属的Kali ISO – 简介 封装定制的Kali ISO很简单,很有趣,很有意义.你可以用Debian的live-build脚本对Kali ISO进行全面的配置.这些脚本以一系列配置文件的方式 ...
- OD调试篇5--如何应对OD使用中的一些问题
打开小甲鱼给的进行恶搞过的程序,会发现一些问题 发现程序直接暂停,或者加载进来有问题. 那机智的我 通过对上一个没有恶搞过的exe可执行文件的PE头进行了比较 会发现其中的猫腻 那么我们去正常的修改一 ...
- 使用RBL拦截垃圾邮件
1. sbl-xbl.spamhaus.org 2 bl.spamcop.net 3 zen.spamhaus.org
- 15、SQL基础整理(视图)
视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select stude ...
- 学习进度条<第一周>
所花时间(包括上课):8小时(上课4,编程0.5,写博客1,读书2.5) 代码量:90行 博客量:4篇 了解到的知识点:什么是BUG 哪怕有几万分之一的概率也要考虑安全 ...
- CentOS 6.6 MySQL install
/************************************************************************* * CentOS 6.6 MySQL instal ...