收藏 分销(赏)

c语言饭卡管理系统代码档.doc

上传人:二*** 文档编号:4497963 上传时间:2024-09-25 格式:DOC 页数:10 大小:46KB 下载积分:5 金币
下载 相关 举报
c语言饭卡管理系统代码档.doc_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
(word完整版)c语言饭卡管理系统代码档 c语言饭卡管理系统代码档 #include<stdio.h〉 #include<string.h> #include<conio。h〉 #include〈stdlib.h〉 #define N 100 struct card { char num[10]; char name[10];float money;int g; }; void myprint(); void mycreate(); void mybuy(); void mysave(); void myadd(); void mydel(); void mylost(); void mydisplayall(); void main() { char choose='\0’,yes_no='\0'; do { myprint(); printf(" ”); choose=getch(); switch(choose) { case'1’:mycreate();break; /*创建*/ case’2':mybuy();break; /*买饭*/ case’3’:mysave();break; /*续钱*/ case'4’:myadd();break; /*添加*/ case'5’:mydel();break; /*注销*/ case'6':mylost();break; /*挂失*/ case'7':mydisplayall();break;/*显示全部*/ case'0’:exit(0); default:printf("\n %c为非法选项!\n”,choose); } printf(”\n 要继续选择吗(Y/N)?\n”); do { yes_no=getche(); } while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N’&&yes_no!='n'); }while(yes_no==’Y’||yes_no=='y’); } void myprint() /*显示菜单界面*/ { system("cls"); /*调用清屏函数。若在TC下运行,改用clrscr()*/ printf(" |--—-—-—---—-————--—-———---——---——--————————|\n”); printf(” | 请输入选项编号(0—7): |\n"); printf(" |-—-—---———-———--——-———-—--——----—-—--—---—-|\n”); printf(" | 1—-—- 创建饭卡 |\n”); printf(” | 2-——- 买饭 |\n"); printf(" | 3———— 续钱 |\n”); printf(" | 4-—-- 添加新饭卡 |\n"); printf(” | 5——-- 注销旧饭卡 |\n”); printf(” | 6-—-- 设置与解除挂失 |\n"); printf(” | 7-——- 显示全部信息 |\n”); printf(” | 0--—— 退出 |\n"); printf(” |—---—---——-—-—------——-—-—------—-———-——-—-|\n”); } void mycreate() /*定义创建饭卡的函数*/ { int i=1; struct card temp ={0}; FILE * fp=NULL; fp=fopen("d:\\JiLu。dat",”w"); if (fp==NULL) { printf(”\n 打开文件夹失败!\n”); return; } system(”cls”); /*调用清屏函数。若在TC下运行,改用clrscr()*/ printf("\n 请输入第一个记录:\n"); printf(" 卡号(用#结束输入):”); do { gets(temp。num); } while(strcmp(temp.num,”")==0); printf(” 姓名(用#结束输入):”); gets(temp.name); printf(” 金额(用#结束输入):"); scanf(”%f”,&temp。money); printf(" 挂失信息(1有,—1无)(用#结束输入):”); scanf("%d”,&temp.g); while(temp。num[0]!=’#') { fprintf(fp,”%15s%15s%15f%15d\n",temp.num,temp.name,temp。money,temp.g); i++; printf(”\n 请输入第%d个记录:\n”,i); printf(” 卡号(用#结束输入):”); do { gets(temp。num); } while(strcmp(temp。num,”")==0); printf(" 姓名(用#结束输入):”); gets(temp。name); printf(" 金额(用#结束输入):”); scanf("%f",&temp.money); printf(" 挂失信息(1有,—1无)(用#结束输入):”); scanf("%d”,&temp.g); } fclose(fp); } void mybuy() /*定义买饭的函数*/ { char c='\0'; int n=0;float mtemp; struct card*find=NULL,temp={0},record[100]={0},*p=NULL; FILE*fp=NULL; fflush(stdin); fp=fopen(”d:\\JiLu.dat","r”); if(fp==NULL) { printf("\n 打开文件失败!\n”);return; } p=record; while(feof(fp)==0) { fscanf(fp,"%15s%15s%15f%15d\n",p—>num,p-〉name,&p—>money,&p—>g); p++; n++; } fclose(fp); if(n==0) { ("\n 文件中无记录!\n”);return; } printf(”\n请输入要买饭的学号:"); gets(temp。num); for(p=record;p<record+n;p++) if(strcmp(temp.num,p->num)==0) { find=p;break; } if(p==record+n) { printf(”\n 无此卡!\n”);return; } if(p->g==—1) { printf("此卡已挂失\n”); return; } else { if(p—〉money<5.0) { printf("不足5元,请续钱\n”); return; } if(p—>money>5.0) { printf("请输入金额”); scanf(”%f",&mtemp); if(p—>money>mtemp) { printf(”Before:%f元\n",(p—〉money)); (p-〉money)=(p—>money)-mtemp; printf(”After:%f元\n",(p->money)); } if(p-〉money<mtemp) { printf(”金额不足,请续钱\n”); return; } } } fp=fopen(”d:\\JiLu.dat”,"w"); if(fp==NULL) { printf(”\n 打开文件失败!\n");return; } for(p=record;p〈record+n;p++) fprintf(fp,"%15s%15s%15f%15d\n”,p->num,p-〉name,p-〉money,p—>g); fclose(fp); } void mysave() /*定义续钱的函数*/ { char c=’\0'; int n=0;float mtemp; struct card*find=NULL,temp={0},record[100]={0},*p=NULL; FILE*fp=NULL; fflush(stdin); fp=fopen(”d:\\JiLu。dat”,”r"); if(fp==NULL) { printf("\n 打开文件失败!\n");return; } p=record; while(feof(fp)==0) { fscanf(fp,"%15s%15s%15f%15d\n”,p—>num,p—〉name,&p-〉money,&p-〉g); p++; n++; } fclose(fp); printf("\n请输入要续费的卡号:"); gets(temp。num); for(p=record;p<record+n;p++) if(strcmp(temp。num,p—>num)==0) { find=p;break; } if(p==record+n) { printf("\n 无此卡!\n");return; } if(p-〉g==—1) { printf(”此卡已挂失\n”); return; } printf(”请输入金额:”); scanf("%f",&mtemp); printf("Before:%f元\n”,(p—〉money)); (p->money)=(p—>money)+mtemp; printf(”After:%f元\n”,(p-〉money)); fp=fopen(”d:\\JiLu.dat",”w”); if(fp==NULL) { printf("\n 打开文件失败!\n");return; } for(p=record;p〈record+n;p++) fprintf(fp,”%15s%15s%15f%15d\n”,p—〉num,p—〉name,p->money,p-〉g); fclose(fp); } void myadd() /*定义添加新饭卡的函数*/ { char c=’\0'; int n=0; struct card temp={0},record[N]={0},*p=NULL; FILE * fp=NULL; fflush(stdin); fp=fopen("d:\\JiLu.dat”,"r”); if(fp==NULL) { printf(”\n 打开文件失败!\n "); } p=record; while(feof(fp)==0) { fscanf(fp,"%15s%15s%15f%15d\n”,p—〉num,p-〉name,&(p->money),&(p—>g)); p++; n++; } fclose(fp); do { printf("\n 请输入新添加的卡号:"); do { gets(temp.num); } while(strcmp(temp.num,"")==0); printf("\n 请输入新添加的姓名: ”); gets(temp。name); printf(”\n 请输入新添加的金额: ”); scanf(”%f”,&temp.money); printf(”\n 请输入新添加的挂失信息: "); scanf(”%d”,&temp。g); for(p=record;p〈record+n;p++) if(strcmp(temp。num,p->num)==0) { printf(”\n 卡号重复,要重新输入吗(Y/N)?"); do { c=getche(); } while(c!=’Y'&&c!='y'&&c!=’N’&&c!=’n'); putchar(’\n'); break; } if(p==record+n) {*p=temp;break;} } while(c=='y’||c=='Y’); fp=fopen(”d:\\JiLu。dat","w”); if(fp==NULL) { printf(”\n 打开文件失败!\n”); return; } for(p=record;p〈record+n+1;p++) fprintf(fp,"%15s%15s%15f%15d\n",p-〉num,p->name,(p-〉money),(p->g)); fclose(fp); } void mydel() /*定义注销饭卡的函数*/ { char tempnum[8]=”"; int n=0; struct card record[N]={0},*p=NULL,*k=NULL; FILE*fp=NULL; fflush(stdin); fp=fopen(”d:\\JiLu。dat","r”); if(fp==NULL) { printf("\n 打开文件失败!\n”);return; } p=record; while(feof(fp)==0) { fscanf(fp,"%15s%15s%15f%15d\n",p->num,p—〉name,&p-〉money,&p-〉g); p++; n++; } fclose(fp); printf("\n 请输入要注销的卡号:"); gets(tempnum); p=record; for(k=record;k<record+n;k++) if(strcmp(tempnum,k—>num)==0) break; if(k<record+n) for(p=k;p<k+n—1;p++) *p=*(p+1); else printf(”\n 无此卡!\n”); fp=fopen(”d:\\JiLu。dat”,”w”); if(fp==NULL) { printf("\n 打开文件失败!\n");return; } for(p=record;p<record+n-1;p++) fprintf(fp,"%15s%15s%15f%15d\n”,p->num,p->name,p—〉money,p—>g); fclose(fp); } void mylost() /* 定义修改挂失信息的函数*/ { char c='\0’; int n=0; struct card *find=NULL,temp={0},record[100]={0},*p=NULL; FILE*fp=NULL; fflush(stdin); fp=fopen(”d:\\JiLu.dat",”r"); if(fp==NULL) { printf("\n 打开文件失败!\n");return; } p=record; while(feof(fp)==0) { fscanf(fp,”%15s%15s%15f%15d\n”,p->num,p-〉name,&p—>money,&p-〉g); p++; n++; } fclose(fp); if(n==0) { printf("\n 文件中无记录!\n”);return; } printf("\n 请输入要修改挂失信息的卡号:"); gets(temp.num); for(p=record;p〈record+n;p++) if(strcmp(temp。num,p-〉num)==0) { find=p;break; } if(p==record+n) { printf("\n 无此卡!\n”);return; } printf(" 请输入挂失信息:”); scanf("%d",&p->g); fp=fopen("d:\\JiLu。dat”,”w”); if(fp==NULL) { printf("\n 打开文件失败!\n”);return; } for(p=record;p〈record+n;p++) fprintf(fp,”%15s%15s%15f%15d\n”,p—>num,p->name,p-〉money,p—>g); fclose(fp); } void mydisplayall() /*定义显示全部信息的函数*/ { int n=0; struct card temp={0}; FILE*fp=NULL; fp=fopen(”d:\\JiLu。dat",”r"); if(fp==NULL) { printf("\n 打开文件失败!\n"); return; } system(”cls”); printf(" 卡号 姓名 金额 挂失信息\n”); while(feof(fp)==0) { fscanf(fp,”%15s%15s%15f%15d\n",temp.num,temp.name,&temp.money,&temp.g); printf("%15s%15s%15f%15d\n",temp.num,temp。name,temp。money,temp。g); n++; } if(n==0) printf("\n 文件中无记录!\n"); else printf("\n 文件中共有%d个记录!\n”,n); fclose(fp); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服