资源简介
使用C语言,在Linux系统环境下,使用链表编写的一个简单的彩票管理系统,供大家学习交流,本人经验有限,欢迎批评。
代码片段和文件信息
/*
功能类fun.c文件
函数功能:
获取当前本地时间,创建四条链的数据文件(初始化),管理员开奖,自动兑奖
删除失效用户,查看所有用户,查看所有购票,查看所有已开奖,查看彩票中心
营收记录,用户链按用户ID排序/按用户ID查找/按购买次数排序/按中奖次数排
序,彩票链按期号排序/按期号查找/按用户ID查找/按彩票ID排序,历史开奖链
按中奖金额排序/按期号排序/按期号查找,用户购票/选择彩票类型/选择号码/
查看个人信息/支付/修改个人信息/查询购买历史/账户充值,用户密码加密/密
码解密
*/
#include “fun.h“
/*****************************************
功能:获取当前本地时间
参数:无
返回值:struct tm *类型的指针
******************************************/
struct tm *time_now()//————函数 4
{
long t = 0;
t = time(NULL);//调用时间API,获取从1970年1月1号0点到当前时间所历经的秒数,日历时间
localtime(&t);//系统API,将日历时间转换为本地时间,并且存储在struct tm类型的结构体中,返回值为指向该结构体的指针
return (localtime(&t));
}
/*****************************************
*功能:创建四条链的文本文件,并且进行相应的初始化
*参数:无
*返回值:int类型,1表示数据库文件存在或者创建成功,
*0表示数据库文件创建失败
******************************************/
int init_all()//————函数 49
{
USER *user_head = NULL;
LOTTERY *lottery_head = NULL;
HISTORY *history_head = NULL;
MONEY *money_head = NULL;
system(“clear“);//清屏
user_head = load_user(user_head);//用户链加载文本文件————函数 2
lottery_head = load_lottery(lottery_head);//彩票链加载文本文件————函数 27
history_head = load_history(history_head);//历史开奖链加载文本文件————函数 29
money_head = load_money(money_head);//彩票营收链加载文本文件————函数 31
if(user_head == NULL || lottery_head == NULL || history_head == NULL || money_head == NULL)
//判断四条链的文本文件是否都存在
{
free_user(user_head);//包含头节点释放用户链————函数 21
free_lottery(lottery_head);//包含头节点释放彩票链————函数 22
free_history(history_head);//包含头节点释放历史开奖链————函数 23
free_money(money_head); //包含头节点释放彩票营收链————函数 24
printf(“\n\n\t * * * \033[;33;1m创 建 彩 民 数 据 库\033[0m * * *\n\n“);
user_head = malloc(sizeof(USER));//创建用户链头节点
if(user_head == NULL)
{
printf(“\n\n\n\033[;31;1m动态内存分配失败!无法创建彩民数据库\033[0m\n\n\n“);
return 0;//若用户链头节点创建失败,则返回0,退出本函数
}
user_head->next = NULL;//头节点指针域置空
printf(“\t\033[;33m请输入彩民起始ID:\033[0m“);
scanf(“%d“&user_head->user_id);//头节点存放用户的起始ID(自动编号)
save_user(user_head);//用户链保存文本文件头结点也保存————函数 25
printf(“\t\033[;32m您输入的彩民起始ID为%d\n\t彩民数据库创建成功!\033[0m\n“
user_head->user_id);
printf(“\n\n\t * * * \033[;33;1m创 建 彩 票 数 据 库\033[0m * * *\n\n“);
lottery_head = malloc(sizeof(LOTTERY));//创建彩票链头节点
if(lottery_head == NULL)
{
printf(“\n\n\n\033[;31;1m动态内存分配失败!无法创建彩票数据库\033[0m\n\n\n“);
return 0;//若彩票链头节点创建失败,则返回0,退出本函数
}
lottery_head->next = NULL;//头节点指针域置空
printf(“\t\033[;33m请输入彩票起始ID:\033[0m“);
scanf(“%d“&lottery_head->lot_id);//头节点存放彩票的起始ID(自动编号)
save_lottery(lottery_head);//彩票链保存文本文件,头结点也保存————函数 26
printf(“\t\033[;32m您输入的彩票起始ID为%d\n\t彩票数据库创建成功!\033[0m\n“
lottery_head->lot_id);
printf(“\n\n\t * * * \033[;33;1m创 建 开 奖 数 据 库\033[0m * * *\n\n“);
history_head = malloc(sizeof(HISTORY));//创建历史开奖链头节点
if(history_head == NULL)
{
printf(“\n\n\n\033[;31;1m动态内存分配失败!无法创建开奖数据库\033[0m\n\n\n“);
return 0;//若历史开奖链头节点创建失败,则返回0,退出本函数
}
history_head->next = NULL;//头节点指针域置空
printf(“\t\033[;33m请输入开奖起始期号:\033[0m“);
scanf(“%d“&history_head->issue);//头节点存放开奖的起始期号(自动编号)
save_history(history_head);//历史开奖链保存文本文
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 74 2015-10-11 20:12 lottery\bin\history.txt
文件 100 2015-10-11 20:12 lottery\bin\lottery.txt
文件 59770 2015-09-21 19:04 lottery\bin\main
文件 153 2015-10-11 20:12 lottery\bin\money.txt
文件 156 2015-10-11 20:12 lottery\bin\user.txt
文件 27316 2015-09-21 19:04 lottery\fun.o
文件 4964 2015-09-21 19:04 lottery\history.o
文件 3406 2015-09-18 15:38 lottery\include\fun.h
文件 1601 2015-09-18 15:21 lottery\include\history.h
文件 1826 2015-09-18 15:14 lottery\include\lottery.h
文件 1837 2015-09-18 15:05 lottery\include\menu.h
文件 1089 2015-09-18 14:58 lottery\include\money.h
文件 1707 2015-09-18 14:57 lottery\include\user.h
文件 5928 2015-09-21 19:04 lottery\lottery.o
文件 1012 2015-09-21 19:04 lottery\main.o
文件 640 2015-09-18 13:08 lottery\makefile
文件 24416 2015-09-21 19:04 lottery\menu.o
文件 3448 2015-09-21 19:04 lottery\money.o
文件 63252 2015-09-21 19:03 lottery\src\fun.c
文件 10365 2015-09-18 15:24 lottery\src\history.c
文件 11762 2015-09-18 15:19 lottery\src\lottery.c
文件 857 2015-09-18 15:12 lottery\src\main.c
文件 48471 2015-09-21 15:17 lottery\src\menu.c
文件 5208 2015-09-18 15:02 lottery\src\money.c
文件 16594 2015-09-18 15:01 lottery\src\user.c
文件 7992 2015-09-21 19:04 lottery\user.o
目录 0 2016-05-10 14:58 lottery\bin
目录 0 2016-05-10 14:59 lottery\include
目录 0 2016-05-10 14:59 lottery\src
目录 0 2016-05-10 14:59 lottery
............此处省略3个文件信息
相关资源
- 《linux编程技术》-实验2 .doc
- 《Linux操作系统》实验报告
- 《Linux多线程服务端编程:使用muduo
- linux下安装oracle最全的缺少包
- bazel-0.24.1-installer-linux-x86_64.sh
- C实现http服务源码 适用于linux 和wind
- linux系统_局域网通信软件
- linux下c语言写的俄罗斯方块
- linux下C语言网络编程会话聊天室
- linux下C语言实现的航班管理系统
- linux下C语言俄罗斯方块代码
- Linux 用C语言实现shell
- linux环境下C语言实现的俄罗斯方块
- 模拟 Linux 文件系统 C++
- Matlab R2020b linux安装包
- linux类EXT2文件系统源码
- Linux下局域网语音对讲
- C语言Linux串口编程(serial.c)
- linux下QT调用讯飞sdk
- 主存资源的分配与回收
- AES 算法实现(linux) 可移植
- Linux FTP模拟系统
- Linuxsocket文件传输C语言支持断点
- C/C++仿真实现Linux文件系统
- Linux下的简单聊天工具
- libstdc++-libc6.2-2.so.3.tar.g
- Linux环境下C语言Socket编程——客户端
- linux C与C++混合编程通用makefile
- C语言socket/smtp发送邮件,支持附件,
- libstdc++-libc6.2-2.so.3.tar.gz
评论
共有 条评论