资源描述:
《C语言网吧计费系统(小项目).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、系统是基于c语言写的小程序,以应付毕业项目或期末考试用。由于用到fopen读写文件操作,编译前必须在当前文件下建立用户信息.txt和充值卡.txt两个文件,否则会报错。效果图#include#include#include#include#include//定义链表typedefstruct{charname[20];charmima[20];intstate;intjine;}user;typedefstructlnod{userdata;structln
2、od*next;}lnod,*linklist;//充值卡定义链表typedefstruct{charname[30];intjine;}kami;typedefstructkk{kamidata;structkk*next;}kk,*kamil;//创建链表voidcreatelist_l(linklist*l){*l=(linklist)malloc(sizeof(lnod));(*l)->next=NULL;}//插入用户信息(尾插法)intlistinset_l(linklist*l,userdata){linklistp=*l,q;if(NU
3、LL==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;return0;}//载入文件到链表voidfilelist_l(linklist*l){inti;FILE*fp1;useruser0;fp1=fopen("用户信息.txt","rb");for(i=0;i<50;i++){if(1!=fread(&user0,sizeof(user),1,fp1)){break;}l
4、istinset_l(l,user0);}fclose(fp1);}//查找制定用户是否存在intlocateelem_l(linklistl,charname[]){linklistp;p=l->next;while(p!=NULL){if(!(strcmp(p->data.name,name))){break;}p=p->next;}if(p==NULL){return-1;}elsereturn0;}//查找指定用户和密码intlocateelem_l2(linklistl,charname[],charmm[]){linklistp;inta,
5、b;p=l->next;while(p!=NULL){a=strcmp(p->data.name,name);b=strcmp(p->data.mima,mm);if(a==0&&b==0){//p->data.state=1;break;}p=p->next;}if(p==NULL){return-1;}elsereturn0;}//登陆后state=1;voidgaistate_l(linklist*l,charname[]){linklistp;intb;p=(*l)->next;while(p!=NULL){b=strcmp(p->data.n
6、ame,name);if(b==0){p->data.state=1;break;}else{p=p->next;}}}//下线state=0voidxiaxian_l(linklist*l,charname[]){linklistp;intb;p=(*l)->next;while(p!=NULL){b=strcmp(p->data.name,name);if(b==0){p->data.state=0;break;}else{p=p->next;}}}//修改金额voidgaijine_l(linklist*l,charname[],intj){li
7、nklistp;intb;p=(*l)->next;while(p!=NULL){b=strcmp(p->data.name,name);if(b==0){p->data.jine=p->data.jine+j;printf("您当前余额为%d元",p->data.jine);break;}else{p=p->next;}}}//修改密码voidgaimm_l(linklist*l,charname[],chargmm[]){linklistp;intb;p=(*l)->next;while(p!=NULL){b=strcmp(p->data.name
8、,name);if(b==0){strcpy(p->data.mima,gmm);break;