c语言网吧管理系统

一、系统概述

将各种有关的信息从文件读取到链表中,开始进行系统登陆,(需要是超级管理员),然后通过对菜单的选择,进行各种函数操作,最后退出。

二、系统功能结构图

序号

模块

功能

说明

1

卡管理

添加卡

输入卡号、密码、开卡金额等卡信息,将卡信息保存到data文件夹的card.txt文件中

独立完成,组长

2

查询卡

根据输入的卡号,查询卡号相同的卡信息,并以表格形式显示在控制台中

独立完成,组长

3

注销卡

根据输入的卡号、密码,将对应卡的状态改为注销,注销卡不能进行上机

独立完成,组长

4

计费标准管理

新增计费标准

输入计费标准的信息,将输入的计费标准保存到data文件夹的rate.txt文件中

合作完成,组长,组员

5

查询计费标准

根据上机时间,查询对应的计费标准

合作完成,组长,组员

6

删除计费标准

从计费标准文件data文件夹的rate.txt文件中,删除一条计费标准

合作完成,组长,组员

7

修改计费标准

修改一条计费标准

合作完成,组长,组员

8

计费管理

上机

根据输入的卡号、密码,判断该卡能否上机,如果能上机,则保存计费信息

独立完成,组长

9

下机

根据输入下机卡的卡号,进行下机结算操作

独立完成,组长

10

费用管理

充值

给一条已经存在的卡进行充值。

独立完成,组员

11

退费

将卡中余额返回给用户

独立完成,组员

12

查询统计

查询消费记录

查询一张卡在一段时间内的消费记录

独立完成,组长

13

统计总营业额

统计一段时间内,总营业额

独立完成,组长

14

统计月营业额

统计一年中,每个月上机次数、总营业额,将统计结果保存到文本文件中,并以列表形式显示在控制台中。

独立完成,组长

15

权限管理

添加管理员

超级管理员添加一个管理员信息,配置管理员的权限

独立完成,组员

16

删除管理员

超级管理员删除一个管理员信息

独立完成,组员

17

系统

退出

超级管理员和管理员退出系统

合作完成,组长,组员

 主要设计

consume *next1;  卡的消费的数据链表

    int year;    //消费的年份

    int month;      //消费的月份

    int day;   //消费的日期

    int hourstart;   //消费的时

    int hourend;//消费的分

    //开始上机的时间,和下机的时间

    int minstart;  //消费结束的时

    int minend;     //消费结束的分

card *next;   卡的链表

    int num;//卡号

    char password[Maxsize];//卡密

    int money;//卡的余额

    int state;  //卡的状态(是否注销0)

    //卡的状态,1为可用,0为不可上机(默认为1)(未被注销)

    int time;

    //统计上机时间

charge *next;   收费标准的链表

    int time;   //收费的时长

    int money;             //收费的每小时的金额

monitor *next;   管理员的链表

    int num;                //管理员的账号

    char password[Maxsize];  //管理员的密码

    int key[6];

    //权限,初始都为0,(不具有),改为1则具有

  

相关结构体

//卡的结构体

typedef struct card{

    int num;//卡号

    char password[Maxsize];//卡密

    int money;//卡的余额

    struct card *next;

    int state;//卡的状态,1为可用,0为不可上机(默认为1)(未被注销)

    int time;//统计上机时间

    struct lirun A[Maxsize][12]; //统计2010年以后的消费数据

    struct consume *next1;//consume指针,指向消费的结构体

}card;

//消费 相关的结构体

typedef struct consume{

    int year;

    int month;

    int day;

    int hourstart;

    int hourend;//开始上机的时间,和下机的时间

    int minstart;

    int minend;

    //这里要有计算了....

    //要有消费文件的写入了

    struct consume *next; //consume也要有下一个节点指针,指向下一次的消费

}consume;

//计费标准的结构体

typedef struct charge{

    int time1[Maxsize];

    int money1[Maxsize];

    int time;

    int money;

    struct charge *next;

    //分别对应数组,存放什么时间段内的什么金额;

}charge;

//管理员的结构体

typedef struct monitor{

    int num;

    char password[Maxsize];

    int key[6]; //权限,初始都为0,(不具有),改为1则具有

    struct monitor *next;

}monitor;

//营业额 的结构体

typedef struct lirun{

    float allGot;//总营业额

    int allOpen;//总上机次数

}lirun;//一次统计一个月的,用链表展示

typedef struct totallirun{

    struct lirun A[Maxsize][12];

    //行-》代表年份

    //列-》代表月份

}totallirun;//统计总共的消费

  • 36
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值