《2022年c语言网吧计费系统源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言网吧计费系统源代码 .pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#include #include #include #include #define N 5 struct user char ID_card30; char user_card10; char user_level50; float add_money; /充值; struct LinkList struct user struct_user; LinkList *pNext; ; struct control char control_name20; char control_password15; control_person=apollo,apollo;/管理员账户和密码设置/ vo
2、id enter(int x); void tab(int x); void start(); void login(); void mainmenu(); void submenu1(); void submenu2(); void submenu3(); void submenu4(); void xian_shi(LinkList *pHead); LinkList *adduser(LinkList *pHead); LinkList *addmoney(LinkList *pHead); /充值LinkList *shang_wang(LinkList *pHead); /上网Lin
3、kList *zhu_xiao(LinkList *pHead); /注销会员void save(LinkList *pTemp); LinkList *readsave(); void cha_xun_shen(LinkList *pHead); void cha_xun_hui(LinkList *pHead); / /启动void start() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - system(cls);
4、for(int k=0;k2;k+) for(int i=0;iN;i+) system(color B); enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 1 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+)
5、system(cls); /circle 2 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 3 end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - enter(7); tab(3); printf( 星星
6、网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 4 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 5 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4);
7、 printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 6 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - for(i=0;i100000000;i+) sy
8、stem(cls); /circle 7 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 8 end enter(7); tab(3); printf( 星星网吧计费管理系统); enter(2); tab(4); printf( ); enter(1); tab(4); for(i=0;i100000000;i+) system(cls); /circle 9 end log
9、in(); /登陆函数void login() char name20; char password15; while(1) system(cls); enter(7); tab(3); printf( 管理员登录); enter(2); tab(4); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - printf(Count:); fflush(stdin); if(strcmp(gets(name),control_per
10、son.control_name)=0) leap: system(cls); enter(7); tab(3); printf( 管理员登录); enter(2); tab(4); printf(Password:); fflush(stdin); if(strcmp(gets(password),control_person.control_password)=0) mainmenu(); break; else char ch; tab(4); printf(Your password is error!n); tab(4); printf(Do you want to try agai
11、n?(Y/N):); scanf(%c,&ch); if(ch=Y | ch=y) goto leap; else if(ch=N | ch=n) exit(0); else system(cls); enter(7); tab(1); printf(Error!Please check your code then login again,thank you!n); tab(3); exit(0); else char i; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,
12、共 23 页 - - - - - - - - - system(cls); enter(7); tab(4); printf(Your count is erorr!n); tab(4); printf(Do you want to try again?(Y/N):); scanf(%c,&i); if(i=Y | i=y) continue; else if(i=N | i=n) exit(0); else system(cls); enter(7); tab(1); printf(Error!Please check your code then login again,thank you
13、!n); tab(3); exit(0); /enter 函数void enter(int x) for(int i=0;ix;i+) printf(n); /tab 函数void tab(int x) for(int i=0;ix;i+) printf(t); /mainmenu 主菜单void mainmenu() struct LinkList *pHead=NULL; /初始化while(1) int i; system(cls); printf(nnnnnttt*星星网吧计费管理系统*n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
14、 - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - printf(ttt* 1.注册会员*n); printf(ttt* *n); printf(ttt* 2.会员管理*n); printf(ttt* *n); printf(ttt* 3.注销*n); printf(ttt* *n); printf(ttt* 4.重启*n); printf(ttt* *n); printf(ttt* 5.关闭系统*n); printf(ttt*n); printf(ttt请选择 :); fflush(stdin); scanf(%d,&
15、i); switch(i) case 1:pHead=adduser(pHead);break; case 2:submenu1();break; case 3:login();break; case 4:start();break; case 5:submenu2();break; default:printf( 输入错误 !n);for(int j=0;j100000000;j+)break; /submenu1 会员管理菜单void submenu1() struct LinkList *pHead=NULL; while(1) int i; system(cls); printf(nn
16、nnnttt*会员管理 *n); printf(ttt* 1.会员消费*n); printf(ttt* *n); printf(ttt* 2.注销会员*n); printf(ttt* *n); printf(ttt* 3.查找会员信息*n); printf(ttt* *n); printf(ttt* 4.查询所有会员信息*n); printf(ttt* *n); printf(ttt* 5.返回上一级菜单*n); printf(ttt*n); printf(ttt请选择 :); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
17、师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - fflush(stdin); scanf(%d,&i); switch(i) case 1:submenu3();break; case 2:pHead=zhu_xiao(pHead);break; case 3:submenu4();break; case 4:;xian_shi(pHead);break; case 5:mainmenu();break; default:printf( 输入错误 !n);for(int j=0;j100000000;j+)break; /submenu2
18、关闭系统void submenu2() system(cls); printf(nnnnnttt*星星网吧计费管理系统*n); printf(ttt* 谢谢您的使用 ! *n); printf(ttt* *n); printf(ttt* 欢迎再次使用 ! *n); printf(ttt* *n); printf(ttt* 技术支持 : *n); printf(ttt* imti_ *n); printf(ttt* 版权所有 : *n); printf(ttt* 湖南长沙英泰学院09081A 班*n); printf(ttt* 2009.10 *n); printf(ttt*n); exit(0
19、); /submenu3 消费菜单void submenu3() int i; LinkList *pHead=NULL; while(1) system(cls); printf(nnnnnttt*消费内容 *n); printf(ttt* 1.充值*n); printf(ttt* *n); printf(ttt* 2.上网*n); printf(ttt* *n); printf(ttt* 3.返回上一级菜单*n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23
20、 页 - - - - - - - - - printf(ttt*n); printf(ttt请选择 :); fflush(stdin); scanf(%d,&i); switch(i) case 1:pHead=addmoney(pHead); break; case 2:pHead=shang_wang(pHead); break; case 3:submenu1();break; default: printf( 输入错误 !请重新输入 !n);for(int j=0;j100000000;j+)break; /submenu4 会员查找函数void submenu4() int i; L
21、inkList *pHead=NULL; while(1) system(cls); printf(nnnnnttt*查找会员 *n); printf(ttt* 1.按身份证号码查找*n); printf(ttt* *n); printf(ttt* 2.按会员卡号号码查找*n); printf(ttt* *n); printf(ttt* 3.返回上一级菜单*n); printf(ttt*n); printf(ttt请选择 :); fflush(stdin); scanf(%d,&i); switch(i) case 1:cha_xun_shen(pHead); break; case 2: c
22、ha_xun_hui(pHead); break; case 3:submenu1();break; default: printf( 输入错误 !请重新输入 !n);for(int j=0;jstruct_user.ID_card); for(int i=0;istruct_user.ID_cardi9 | pTemp-struct_user.ID_cardistruct_user.ID_card)!=18 | strlen(pTemp-struct_user.ID_card)=0) system(cls); printf( 输入不合法 !n 请重新输入 !n); goto leap; lo
23、op: printf(ntt); printf( 请输入卡号 (8 位):); fflush(stdin); gets(pTemp-struct_user.user_card); for(i=0;istruct_user.user_cardi9 | pTemp-struct_user.user_cardistruct_user.user_card)!=8 | strlen(pTemp-struct_user.user_card)=0) system(cls); printf( 输入不合法 !n 请重新输入 !n); goto loop; k: printf(nntt|-会员优惠活动-|n);
24、printf(tt| 普通会员0 10 20 30 struct_user.add_money); /充值if(pTemp-struct_user.add_money1000 | pTemp-struct_user.add_moneystruct_user.add_money0 & pTemp-struct_user.add_moneystruct_user.user_level, 普通会员 ); printf( 恭喜你 !你已成为本网吧普通会员!n); else if(pTemp-struct_user.add_money10 & pTemp-struct_user.add_moneystr
25、uct_user.user_level, 铜卡会员 ); printf( 恭喜你 !你已成为本网吧铜卡会员!n); pTemp-struct_user.add_money+=10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 23 页 - - - - - - - - - else if(pTemp-struct_user.add_money20 & pTemp-struct_user.add_moneystruct_user.user_level, 银卡会员 );
26、printf( 恭喜你 !你已成为本网吧银卡会员!n); pTemp-struct_user.add_money+=20; else if(pTemp-struct_user.add_money=30 & pTemp-struct_user.add_moneystruct_user.user_level, 金卡会员 ); printf( 恭喜你 !你已成为本网吧金卡会员!n); pTemp-struct_user.add_money+=30; else if(pTemp-struct_user.add_money=100) tab(2); strcpy(pTemp-struct_user.us
27、er_level,VIP会员 ); printf( 恭喜你 !你已成为本网吧VIP 会员 ! n); pTemp-struct_user.add_money+=80; pTemp-pNext=NULL; / if(pHead=NULL) pHead=pTemp; else p=pHead; while(p-pNext!=NULL) p=p-pNext; p-pNext=pTemp; save(pTemp); return pHead; /保存会员注册void save(LinkList *pTemp) FILE *fp=fopen(user,ab); if(fp=NULL) tab(3); p
28、rintf( 读取失败 !n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 23 页 - - - - - - - - - exit(0); tab(3); printf( 开始保存文件!n); if(fwrite(pTemp,sizeof(struct LinkList),1,fp)=1) tab(3); printf( 文件保存成功!n); getch(); else tab(3); printf( 文件保存失败!n); getch(); fclose(fp);
29、 /读取保存LinkList *readsave() LinkList *pHead=NULL,*p; FILE *fp; fp=fopen(user,rb); if(fp=NULL) tab(3); printf( 文件打开失败!n); getch(); return pHead; while(!feof(fp) LinkList *pTemp=(LinkList*)malloc(sizeof(LinkList); int t=fread(pTemp,sizeof(struct LinkList),1,fp); pTemp-pNext=NULL; if(t0) if(pHead=NULL)
30、pHead=pTemp; else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - p=pHead; while(p-pNext!=NULL) p=p-pNext; p-pNext=pTemp; else break; fclose(fp); return pHead; /显示所有会员信息void xian_shi(LinkList *pHead) FILE *fp=fopen(user,rb); if(fp=NULL) s
31、ystem(cls); printf(nnnnnnnntttt); printf( 没有会员信息!n); getch(); return; LinkList *pTemp,*p; pTemp=(LinkList *)malloc(sizeof(LinkList); int count=0; system(cls); enter(5); printf( -|-|-|-n); printf(t 身份证号码 tt 会员卡号 t 卡上余额 t 会员级别 n); printf( -|-|-|-n); while(!feof(fp) int t=fread(pTemp,sizeof(LinkList),1
32、,fp); pTemp-pNext=NULL; / if(t0) count+; if(pHead=NULL) pHead=pTemp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 23 页 - - - - - - - - - else p=pHead; while(p-pNext!=NULL) p=p-pNext; p-pNext=pTemp; else break; printf(t%-20st%-10st%-5.1f元tt%-6sn,pTemp-struct_
33、user.ID_card,pTemp-struct_user.user_card,pTemp-struct_user.add_money,pTemp-struct_user.user_level); printf( -|-|-|-n); printf(ntt共有会员 %d 个n,count); getch(); fclose(fp); /查找会员信息(按身份证号码查找) void cha_xun_shen(LinkList *pHead) LinkList *pTemp; char shen_fen100; system(cls); enter(9); tab(3); printf( 身份证号
34、码 :); fflush(stdin); gets(shen_fen); if(strlen(shen_fen)!=18) tab(3); printf( 输入错误 !n); getch(); return; pHead=readsave(); if(pHead=NULL) tab(3); printf( 没有找到会员信息或会员不存在!n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 23 页 - - - - - - - - - getch(); return;
35、pTemp=pHead; while(pTemp) if(strcmp(pTemp-struct_user.ID_card,shen_fen)=0) system(cls); enter(5); printf( -|-|-|-n); printf(t 身份证号码 tt 会员卡号 t 卡上余额 t 会员级别 n); printf( -|-|-|-n); printf(t%-20st%-10st%-5.1f元tt%-6sn,pTemp-struct_user.ID_card,pTemp-struct_user.user_card,pTemp-struct_user.add_money,pTemp-
36、struct_user.user_level); printf( -|-|-|-n); getch(); break; pTemp=pTemp-pNext; /查找会员信息(按会员卡号查找) void cha_xun_hui(LinkList *pHead) LinkList *pTemp; char shen_fen100; system(cls); enter(9); tab(3); printf( 卡号 (8 位:); fflush(stdin); gets(shen_fen); if(strlen(shen_fen)!=8) tab(3); printf( 输入错误 !n); getc
37、h(); return; pHead=readsave(); if(pHead=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 23 页 - - - - - - - - - tab(3); printf( 没有找到会员信息或会员不存在!n); getch(); return; pTemp=pHead; while(pTemp) if(strcmp(pTemp-struct_user.user_card,shen_fen)=0) system(cls); en
38、ter(5); printf( -|-|-|-n); printf(t 身份证号码 tt 会员卡号 t 卡上余额 t 会员级别 n); printf( -|-|-|-n); printf(t%-20st%-10st%-5.1f元tt%-6sn,pTemp-struct_user.ID_card,pTemp-struct_user.user_card,pTemp-struct_user.add_money,pTemp-struct_user.user_level); printf( -|-|-|-n); getch(); break; pTemp=pTemp-pNext; /保存充值、注销和上网
39、消费后的后的会员信息void save_chong(LinkList *pHead) FILE *fp=fopen(user,wb); if(fp=NULL) tab(3); printf( 文件打开失败!n); getch(); return; LinkList *pTemp; pTemp=pHead; if(pHead=NULL) printf( 没有找到会员信息!n); getch(); return; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 23 页 -
40、 - - - - - - - - printf( 开始保存修改!n); while(pTemp) fwrite(pTemp,sizeof(LinkList),1,fp); pTemp=pTemp-pNext; printf( 保存成功 !n); getch(); fclose(fp); /充值LinkList *addmoney(LinkList *pHead) LinkList *pTemp; char shen_fen100; system(cls); enter(9); tab(3); printf( 卡号 (8 位):); fflush(stdin); gets(shen_fen);
41、if(strlen(shen_fen)!=8) tab(3); printf( 输入错误 !n); getch(); return pHead; pHead=readsave(); /very important if(pHead=NULL) tab(3); printf( 没有找到会员信息或会员不存在!n); getch(); return pHead; pTemp=pHead; while(pTemp) if(strcmp(pTemp-struct_user.user_card,shen_fen)=0) system(cls); enter(5); 名师资料总结 - - -精品资料欢迎下载
42、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 23 页 - - - - - - - - - printf( -|-|-|-n); printf(t 身份证号码 tt 会员卡号 t 卡上余额 t 会员级别 n); printf( -|-|-|-n); printf(t%-20st%-10st%-5.1f元tt%-6sn,pTemp-struct_user.ID_card,pTemp-struct_user.user_card,pTemp-struct_user.add_money,pTemp-struct_u
43、ser.user_level); printf( -|-|-|-n); float m=pTemp-struct_user.add_money; printf( 请输入充值金额:); scanf(%f,&(pTemp-struct_user.add_money); pTemp-struct_user.add_money+=m; save_chong(pHead); break; pTemp=pTemp-pNext; return pHead; /上网LinkList *shang_wang(LinkList *pHead) LinkList *pTemp; char shen_fen100;
44、system(cls); enter(2); printf(nnnnttt*网吧计费管理系统*n); printf(ttt* 1.普通会员3元 /时*n); printf(ttt* *n); printf(ttt* 2.铜卡会员2.5 元 /时*n); printf(ttt* *n); printf(ttt* 3.银卡会员2元 /时*n); printf(ttt* *n); printf(ttt* 4.金卡会员1.5 元 /时*n); printf(ttt* *n); printf(ttt* 5.VIP 会员1 元/时*n); printf(ttt*n); printf( 请输入会员卡号码(8
45、 位数字 ):); fflush(stdin); gets(shen_fen); if(strlen(shen_fen)!=8) tab(3); printf( 输入错误 !n); getch(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 23 页 - - - - - - - - - return pHead; pHead=readsave(); /读取文件if(pHead=NULL) /如果头指针为空,说明没有该链表 tab(3); printf( 没有找到会
46、员信息或会员不存在!n); getch(); return pHead; pTemp=pHead; /头指针不为空while(pTemp) / 访问节点 if(strcmp(pTemp-struct_user.user_card,shen_fen)=0) /如果找到与输入的会员卡号相同 / 则 输 出 该 会 员信息printf( -|-|-|-n); printf(t 身份证号码 tt 会员卡号 t 卡上余额 t 会员级别 n); printf( -|-|-|-n); printf(t%-20st%-10st%-5.1f元tt%-6sn,pTemp-struct_user.ID_card,p
47、Temp-struct_user.user_card,pTemp-struct_user.add_money,pTemp-struct_user.user_level); printf( -|-|-|-n); float m=pTemp-struct_user.add_money;/ 上网前的卡上余额float time; printf( 请输入上网时间(时):); fflush(stdin); scanf(%f,&time); if(strcmp(pTemp-struct_user.user_level, 普通会员 )=0) / 按会员级别来管理 / 每 小 时 上网的费用pTemp-str
48、uct_user.add_money=m-3*time; / 上网后的卡上余额save_chong(pHead); /保存修改后的内容break; else if(strcmp(pTemp-struct_user.user_level, 铜卡会员 )=0) pTemp-struct_user.add_money=m-2.5f*time; save_chong(pHead); break; else if(strcmp(pTemp-struct_user.user_level, 银卡会员 )=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
49、- - - - 名师精心整理 - - - - - - - 第 20 页,共 23 页 - - - - - - - - - pTemp-struct_user.add_money=m-2*time; save_chong(pHead); break; else if(strcmp(pTemp-struct_user.user_level, 金卡会员 )=0) pTemp-struct_user.add_money=m-1.5f*time; save_chong(pHead); break; else if(strcmp(pTemp-struct_user.user_level,VIP会员 )=0
50、) pTemp-struct_user.add_money=m-1*time; save_chong(pHead); break; pTemp=pTemp-pNext;/ 指针指向下一个查找,直到找到满足上面条件为止 return pHead; /注销会员LinkList *zhu_xiao(LinkList *pHead) LinkList *pTemp,*p; char shen_fen100; system(cls); enter(9); tab(3); printf( 卡号 :); fflush(stdin); gets(shen_fen); pHead=readsave(); /读取