设计一个C语言程序·会员卡计费系统

qq773834228 2011-06-27 07:51:07
C语言会员卡计费系统

设计一个会员卡计费管理系统。
1、 新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
2、 会员信息修改。
3、 会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
4、 会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
5、 会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
6、 会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
7、 用菜单进行管理
8、 统计功能。
1) 能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
2) 能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
9、 只有正确输入用户名密码才能使用此系统。
10、 所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。

各位大大,高手哦......
帮一帮我解决这个问题吧
...全文
1964 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sa2321300 2011-07-06
  • 打赏
  • 举报
回复
看不懂呀
gz_qmc 2011-06-30
  • 打赏
  • 举报
回复
/*----------------------------------------------------------------------------*/
/*--------主程序--------------------------------------------------------------*/


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(); /* 程序结束前要释放内存 */
}
gz_qmc 2011-06-30
  • 打赏
  • 举报
回复
/*============================================================================*/
/*--------包含引入区----------------------------------------------------------*/

#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; /* 模拟器标志 */
gz_qmc 2011-06-30
  • 打赏
  • 举报
回复
那天给的没有排序,而且有点小漏洞
今天在给你个完整的吧,带模拟器的,模拟器可以代替读卡器
方便你操作

菜单也作了改进,如果有Menu.lst文件存在,就以该文件为菜单
相对漂亮点,没有就按缺省字串显示的

排序用最简单的直接选择排序,交作业够了
有读卡器的话,完全可以在你家公司用了
MA_XILAI 2011-06-27
  • 打赏
  • 举报
回复
这个不是几行代码就可以搞定的.贴到这儿来也不会有人免费给你代码的.
luciferisnotsatan 2011-06-27
  • 打赏
  • 举报
回复
论坛里有收费替人做作业的,也有收分的。
http://topic.csdn.net/u/20110624/16/04db9cc0-c9ce-4b44-8528-d87f4823ff48.html
qq773834228 2011-06-27
  • 打赏
  • 举报
回复
~必须是C语言的
老师让我们写的......
qq773834228 2011-06-27
  • 打赏
  • 举报
回复
题目3:会员卡计费系统
设计一个会员卡计费管理系统。
1、 新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。)
2、 会员信息修改。
3、 会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信息。)
4、 会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。
5、 会员退卡。(收回会员卡,并将余额退还,删除该会员信息。)
6、 会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。)
7、 用菜单进行管理
8、 统计功能。
1) 能够按每个会员的缴费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
2) 能够按累计消费总额进行排序。在排序的最后一行显示所有会员的缴费总额,以及消费总额。
9、 只有正确输入用户名密码才能使用此系统。
10、 所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。

风吹PP凉SS 2011-06-27
  • 打赏
  • 举报
回复
VC设计吧

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧