学生管理系统-火车订票系统 c语言课程设计

时间:2021-02-15 02:11:48

学生管理系统-火车订票系统 c语言课程设计

概要:

C 语言课程设计一---学生管理系统

使使用 C 语言实现学生管理系统。系统实现对学生的基本信息和考试成绩的 管理。采用终端命令界面,作为系统的输入输出界面。采用文件作为信息存储介质。

功能描述:

学生信息:

基本信息:
学号: int
姓名: char 128
密码: char 32
年龄: int
班级: int

成绩信息:
数学成绩: int
C 语言成绩:int
语文成绩: int
名次: int

  1. 1、  实现对学生信息基本信息的录入,其中名次根据成绩自动计算(添加)。学号不能
    重复。

  2. 2、  删除学生信息

  3. 3、  修改学生信息

  4. 4、  查找学生信息

    a) 根据学号查找
    b) 根据姓名查找
    c) 根据班级群体查找,把属于这个班的学生全部显示

  5. 5、  显示所有学生信息列表
    a) 按学号顺序显示
    b) 按名次显示
    c) 按某学科(可选)成绩顺序显示,并在最后显示出此科平均分。

  6. 6、  保存学生信息
    修改后的信息保存到文件中。当程序启动后从文件中读取信息,至内存。

    在做添加删除修改时信息保存至内才中。(在内存中使用链表或数组...保存)。

    7、 退出系统

a) 如果有修改操作要提示是否保存。

教师信息:

教员序号:int
教员姓名:char 128
教员密码:char 32
所任班级: int

1、对老师信息的添加、删除、修改、显示、保存。教员序号不能重复。
登陆功能:

1、系统启动后提示登陆界面。使用用户名和密码登陆。学生和老师都可以登陆。
2、用户名和密码正确登陆成功。显示欢迎界面:”欢迎 XX 同学(或老师)登陆”
显示操作界面。
3、如果输入用户名和密码错误接续提示,超过 3 次程序自动退出。
4、除老师和学生外,系统有一个特殊用户超级管理员用户。用户名固定(admin),

也可以固定。
5、超级管理员、老师和学生有不同的操作界面。

管理权限:

      超级管理员 :可以对老师学生做所有操作。
      老师    :可以查看自己的信息,和修改自己的密码。
             可以查看所有学生的信息,修改学生的成绩信息。
      学生    :可以查看自己的信息,和修改自己的基本信息。

课程要求:

  分以下几步完成。
      第一步:完成学生信息管理的部分。
      第二步:完成老师信息管理、和登陆管理。
      第三步:完成权限管理。

学生管理系统-火车订票系统 c语言课程设计

学生管理系统-火车订票系统 c语言课程设计

C 语言程序设计二:火车订票系统

一.需求设计: 1.每条线路所涉及的信息有:起点、终点、站名、车次、票价、时间、座位号、所经站点(多 个)。 2.作为示意系统,全部数据保存至文件中。程序启动后从文件中读取加载至内存中。 3.系统能实现的功能和操作如下: 1.查询路线:根据旅客提出的终点站名输入下列信息:车次、车站名。

2.承办订票业务:根据客户提出的要求查询该车次票额的情况,若尚有余票,则为客户办 理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新查询客户要求,若需要 可登记排队候补。

3.承办退票业务:根据客户提供的情况(车次、时间、座位号)为客户办理退票手续,然 后查询该车次是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求, 则为他办理订票手续,否则依次询问其他排队候补的客户。

4登记旅客情况:包括旅客姓名,性别,年龄,家庭住址,联系方式等。
5统计功能:将每次车的订票,退票结果统计出来。

6管理功能:列车管理员可以通过调用函数来查看车票及其用户情况.可以增加、删除线路信 息。

7.查询功能:用户可以查询自己需要的车辆信息. 二.总体设计

1. 总体设计说明:
1.数据结构设计:
程序=数据结构+算法,一个好的程序必定有一个好的数据结构.本设计主要考虑车票信息
和用户信息的数据结构.
车票信息采用半十字链表.横向链表中的每一个结点包含以下内容:车次,起始站,发车时
间,指向下一个结点的指针,指向中途站的指针。纵向链表中每一个结点包含以下内容:
从始发站开始的依次到站,票价,到达时间,是否已被购买标识,采用 mark 标识,当 mark 为 1
时车票已售出,当 mark 为 0 时车票还未售出.以及指向下一个结点的指针.纵向链表采用循
环链表,尾指针指向首指针。

学生管理系统-火车订票系统 c语言课程设计

2.
未购票用户信息使用队列来保存,因为考虑到用户会预订票,所以把用户来订票的时间早
晚排在队中.先来先买,后来后买.队列中的每个元素包含以下内容:用户姓名,SFZ 号码,想
要购票的车次,起始站,要到的站,时间.
已经购票用户信息使用一个单链表来保存,链表中的每个结点包含以下内容:用户姓
名,SFZ 号码,已购车票的车次,出发时间,到达时间.

车票信息链表示意图:
车次、 起始站、终点站、发车时间、 到站时间、 票价、 座位号

未购票用户信息队列:
用户姓名

购票的车次
起始站
要到的站
达到时间

注: 座位号包含在车次号中

已购票用户信息链表示意图: 用户姓名

SFZ 号码 已购车票的车次号 出发时间 到达时间

注:座位号包含在车次号中 2、界面设计说明

1、程序开始运行提示: 请选择用户操作: 1、登录 2、新用户注册

2、旅客用户登录后界面: 1、用户基本信息维护 2、查询操作

子菜单如下:
a、按车次,查询车次信息。
b、按车次、日期,查询座位信息。
a、按始发站、终点站、日期查询座位信息。

3、订票操作
4、退票操作
5、注销

 

学生管理系统-火车订票系统 c语言课程设计

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