设计一个会员卡计费管理系统。
1、 新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
2、 会员信息修改。
3、 会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
4、 会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
5、 会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
6、 会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
7、 用菜单进行管理
8、 统计功能。
1) 能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
2) 能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
9、 只有正确输入用户名密码才能使用此系统。
10、 所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。
1、 新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
2、 会员信息修改。
3、 会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
4、 会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
5、 会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
6、 会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
7、 用菜单进行管理
8、 统计功能。
1) 能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
2) 能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
9、 只有正确输入用户名密码才能使用此系统。
10、 所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。
/*--------包含引入区----------------------------------------------------------*/#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"/*----------------------------------------------------------------------------*/
/*--------预定义区------------------------------------------------------------*/typedef struct tagFILETYPE /* 自定义的数据库文件格式 */
{
char Flag[4]; /* 标志,我的是"QDB\0" */
long rCount; /* 总记录数 */
long rLen; /* 每个记录长度 */
char fPass; /* 密码标志,1表示有密码 */
char Pass[8]; /* 密码 */
char rev1; /* 保留字节,恒为零,作密码结尾 */
char rev[106]; /* 保留字节,作为以后扩展用 */
}FILETYPE;typedef struct tagCONTACTS /* 会员结构,个人信息请从身份证号解析 */
{
char ID[18]; /* 身份证号码 */
char rev1; /* 保留字节,恒为零,作身份证号码的结尾 */
char Card[10]; /* 会员卡号 */
char rev2; /* 保留字节,恒为零,作会员卡号码的结尾 */
char Pass[8]; /* 会员卡号 */
char rev3; /* 保留字节,恒为零,作会员卡号码的结尾 */
char Name[10]; /* 姓名 */
char rev4; /* 保留字节,恒为零,作姓名的结尾 */
char Tel_Mobile[11]; /* 手机号码 */
char rev5; /* 保留字节,恒为零,作手机号码的结尾 */
float Money; /* 帐户余额 */
float Result; /* 消费累计 */
char Level; /* 会员等级,1以上表示VIP */
}CONTACTS;typedef struct tagRECORD /* 数据记录双链表 */
{
CONTACTS *Data; /* 当前数据管家 */
struct tagRECORD *prev; /* 上一数据记录 */
struct tagRECORD *next; /* 下一数据记录 */
}RECORD;
/*----------------------------------------------------------------------------*/
/*--------自定义函数声明区----------------------------------------------------*/void AddRecord(CONTACTS *nCon); /* 添加记录 */
void DelRecord(RECORD *nCon); /* 删除记录 */RECORD * FindFromCard(char *Card); /* 根据卡号查找,其他查找自己做 */
RECORD * FindFromID(char *ID); /* 根据身份证查找,其他查找自己做 */int LoadData(char *FileName); /* 从文件读取数据 */
int SaveData(char *FileName); /* 保存数据到文件 */void SafeClose(); /* 结束前清理 */int InitSys(); /* 初始化系统 */
void ShowMenu(); /* 显示菜单界面 */
void NewReg(); /* 会员登记 */
void Modify(); /* 会员修改 */
void MoreMoney(); /* 会员续费 */
void Loss(); /* 会员挂失 */
void Quit(); /* 会员退会 */
void Statistics(int m); /* 消费统计 */
void Consume(); /* 消费结帐 */void ShowInfo(RECORD *rec); /* 显示单个记录信息 */
int SelectYN(char *Info); /* Yes/No选择 */
int GetStr(char *p,int len,int pFlag);/* 输入字串,pFlag=1时*号显示 */
float GetNum(); /* 输入浮点数 */
void Sort(int n); /* 排序,只给最简单的选择排序 */void SetPass(); /* 设置系统密码 */int WriteCard(char *code,char *pass); /*写卡 */
int ReadCard(char *code,char *pass); /*读卡 *//*----------------------------------------------------------------------------*/
/*--------全局变量定义区------------------------------------------------------*/RECORD *First=NULL; /* 创建记录首指针 */
RECORD *Tail =NULL; /* 创建记录尾指针 */ FILETYPE fHead; /* 数据库文件头 */
char fName[100]; /* 数据库文件名 */int Simulator; /* 模拟器标志 */
/*----------------------------------------------------------------------------*/
/*--------主程序--------------------------------------------------------------*/
void main()
{
int sKey=0; /* 菜单项目 */
int RUN=1; /* 退出标志 */
int rMenu=1; /* 菜单刷新标志 */ if(InitSys()) /* 初始化如果失败就结束程序 */
{
printf("\n\n初始化失败...\n\n");
return;
}while(RUN)
{
if(rMenu) ShowMenu(); /* 根据菜单刷新标志确定显示菜单与否 */rMenu=1;
sKey=getch(); /* 取得按键 */if(sKey>='2'&&sKey<='8'&&First==NULL)
{
system("cls");
printf("\n\n\n 目前还没有注册任何会员.");
printf("\n\n\n 按任意键返回.");
getch();
continue;
}switch(sKey) /* 根据按键执行相应程序 */
{
case '1': NewReg(); break;
case '2': Modify(); break;
case '3': MoreMoney(); break;
case '4': Loss(); break;
case '5': Quit(); break;
case '6': Consume(); break;
case '7': Statistics(0); break;
case '8': Statistics(1); break;
case '9': SetPass(); break;
case '0': Simulator^=1; break;
case 27 : RUN=0; break;
default : rMenu=0; break;
}
}
SafeClose(); /* 程序结束前要释放内存 */
}
要到了一个 代码 但运行不了 哪 位 牛牛 帮忙修改下啊 或 发自己代码 急