C语言网吧计费系统(小工程)资料.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言网吧计费系统(小工程)资料

系统是基于c语言写的小程序,以应付毕业项目或期末考试用。 由于用到fopen读写文件操作,编译前必须在当前文件下建立 用户信息.txt 和 充值卡.txt 两个文件,否则会报错。 效果图 #include stdio.h #include windows.h #include string.h #include stdlib.h #include time.h //定义链表 typedef struct { char name[20]; char mima[20]; int state; int jine; }user; typedef struct lnod { user data; struct lnod *next; }lnod, *linklist; //充值卡定义链表 typedef struct { char name[30]; int jine; }kami; typedef struct kk { kami data; struct kk *next; }kk, *kamil; //创建链表 void createlist_l(linklist *l) { *l = (linklist)malloc(sizeof(lnod)); (*l)-next = NULL; } //插入用户信息(尾插法) int listinset_l(linklist *l,user data) { linklist p = *l,q; if (NULL==p) return -1; while (NULL!=p) { q = p; p = p-next; } p = (linklist)malloc(sizeof(lnod)); p-data = data; p-next = q-next; q-next = p; return 0; } //载入文件到链表 void filelist_l(linklist *l) { int i; FILE *fp1; user user0; fp1 = fopen(用户信息.txt,rb); for (i = 0;i50;i++) { if (1!=fread(user0,sizeof(user),1,fp1)) { break; } listinset_l(l,user0); } fclose(fp1); } //查找制定用户是否存在 int locateelem_l(linklist l,char name[]) { linklist p; p = l-next; while (p!=NULL) { if (!(strcmp(p-data.name,name))) { break; } p = p-next; } if (p == NULL) { return -1; } else return 0; } //查找指定用户和密码 int locateelem_l2(linklist l,char name[],char mm[]) { linklist p; int a,b; p = l-next; while (p!=NULL) { a = strcmp(p-data.name,name); b = strcmp(p-data.mima,mm); if (a==0b==0) { //p-data.state = 1; break; } p = p-next; } if (p == NULL) { return -1; } else return 0; } //登陆后state = 1; void gaistate_l(linklist *l,char name[]) { linklist p; int b; p = (*l)-next; while (p!=NULL) { b = strcmp(p-data.name,name); if (b==0) { p-data.state=1; break; } else { p = p-next; } } } //下线state = 0 void xiaxian_l(linklist *l,char name[]) { linklist p; int b; p = (*l)-next; while (p!=NULL) { b = strcmp(p-data.name,name); if (b==0) { p-data.stat

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档