实际上,这个是大一上学期与室友一起做的C语言结课作业,当作我的成长记录吧,中间肯定还有很多青涩与生疏的地方,有人看到请轻虐:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 5
struct fanka{char number[20];char name[20];int zhuangtai;float yue;
}fanka[MAX];
int count=0;
void jianli();
void maifan();
void xuqian();
void tianjia();
void shanchu();
void guashi();
void tonggua();
void xianshi();int main()
{int choose;
do {system("cls");printf("===================饭卡管理系统==================\n");printf("\t\t0.显示已建立的饭卡\n");printf("\t\t1.建立饭卡\n");printf("\t\t2.买饭\n");printf("\t\t3.续钱\n");printf("\t\t4.添加新饭卡\n");printf("\t\t5.注销旧饭卡\n");printf("\t\t6.设置与解除挂失\n");printf("\t\t7.统计挂失人数\n");printf("\t\t8.退出程序\n\n");fflush(stdin);printf("请输入功能选项:");scanf("%d",&choose);switch(choose){case 0:xianshi();break;case 1:jianli();break;case 2:maifan();break;case 3:xuqian();break;case 4:tianjia();break;case 5:shanchu();break;case 6:guashi();break;case 7:tonggua();break;case 8:break;}
}while(choose!=8);
return 0;
}void xianshi()
{int j;char x;do{printf("\t卡号\t姓名\t状态\t余额\n");for(j=0;j<count;j++)printf("\t%s\t%s\t%d\t%6.2f\n",fanka[j].number,fanka[j].name,fanka[j].zhuangtai,fanka[j].yue);fflush(stdin);printf("请输入回车以返回:");x=getchar();}while(x=='n');
}void jianli()
{char a;do{fflush(stdin);printf("\n请输入卡号:");gets(fanka[count].number);fflush(stdin);printf("\n请输入姓名:");gets(fanka[count].name);fflush(stdin);fanka[count].zhuangtai=0;fflush(stdin);printf("\n请输入饭卡余额:");scanf("%f",&fanka[count].yue);fflush(stdin);printf("     建立完成    ");printf("是否继续建立新饭卡?(y/n)?");a=getchar();count++;}while((a=='y')&&(count<=MAX));}void guashi()
{char temp[20];int b,c;fflush(stdin);printf("请输入卡号:");gets(temp);for(c=0;c<count;c++){if(strcmp(temp,fanka[c].number)==0)break;}fflush(stdin);printf("\n请选择功能:1.挂失 2.解除挂失 (1 or 2)?");scanf("%d",&b);if(b==1){fanka[c].zhuangtai=1;printf("挂失已成功!\n");}if(b==2){fanka[c].zhuangtai=0;printf("解除挂失已成功!");}xianshi();}void shanchu()
{ char number[20],c;int a,b,i;do{fflush(stdin);printf("请输入要删除的卡号:");gets(number);for(a=0;a<count;a++){   if(strcmp(number,fanka[a].number)==0)break;}for(b=a;b<count;b++)fanka[b]=fanka[b+1];if(a>count)printf("未找到!!!");else {count--;printf("剩余的饭卡为:\n");for(i=0;i<count;i++)printf("%s   %s\n",fanka[i].number,fanka[i].name);}fflush(stdin);printf("是否继续删除?(y/n)");c=getchar();}      while(c=='y');
}void tianjia()
{int i;char c;do{fflush(stdin);printf("\n请输入卡号:");gets(fanka[count].number);fflush(stdin);printf("\n请输入姓名:");gets(fanka[count].name);fflush(stdin);printf("\n请输入饭卡状态,已挂失输入1,未挂失输入0:");scanf("%d",&fanka[count].zhuangtai);fflush(stdin);printf("\n请输入饭卡余额:");scanf("%f",&fanka[count].yue);for(i=0;i<count;i++)if(strcmp(fanka[count].number,fanka[i].number)==0){printf("该卡号已被注册,请重新输入!!!\n");break;} if(i==count){printf("您已注册成功!\n");count=count+1;xianshi();}printf("是否继续添加?(y/n)\n");fflush(stdin);c=getchar();}while(c=='y');}void maifan()
{int i;float m;char a;char num[20];do{system("cls");fflush(stdin);printf("\n请输入饭卡号:");gets(num);fflush(stdin);printf("\n请输入饭费:");scanf("%f",&m);if(m<=0)printf("\n请输入正确的饭费!\n");else{for(i=0;i<count;i++)if(strcmp(num,fanka[i].number)==0)break;if(i==count)printf("没有找到该账户\n");else if(fanka[i].zhuangtai==1)printf("本卡已冻结\n");else if(fanka[i].yue<5)printf("金额不够,请续钱\n");else{printf("\n消费前:%5.2f\n",fanka[i].yue);fanka[i].yue=fanka[i].yue-m;printf("\n消费后:%5.2f\n",fanka[i].yue);}}printf("\n是否继续买饭?\n请输入y或n:");fflush(stdin);a=getchar();}while(a=='y');}void xuqian()
{int i;float m;char num[20];char a;do{system("cls");fflush(stdin);printf("\n请输入饭卡号:");gets(num);fflush(stdin);printf("\n请输入续钱额:");scanf("%f",&m);if(m<=0)printf("\n请输入正确的饭费!\n");else{for(i=0;i<count;i++)if(strcmp(num,fanka[i].number)==0)break;if(i==count)printf("没有找到该账户\n");else if(fanka[i].zhuangtai==1)printf("本卡已冻结\n");else{printf("\n续费前:%5.2f\n",fanka[i].yue);fanka[i].yue=fanka[i].yue+m;printf("\n续费后:%5.2f\n",fanka[i].yue);}}printf("\n是否继续续钱?\n请输入y或n:");fflush(stdin);a=getchar();}while(a=='y');}void tonggua()
{int i,sum;for(i=0,sum=0;i<count;i++)if(fanka[i].zhuangtai==1){sum=sum+1;printf("\n饭卡号:%s\t姓名:%s\t余额:%5.2f\n",fanka[i].number,fanka[i].name,fanka[i].yue);}printf("\n挂失饭卡数:%d\n",sum);printf("\n按任意键继续:");fflush(stdin);getchar();}

饭卡管理的C语言实现相关推荐

  1. 校园卡管理系统设计c语言,校园一卡通系统的设计与实现.pdf

    <自动化技术与应用>2014年第33卷第2期 通 信 与 信 息 处 理 COmmunicatiOnandInformationProcessing 校园一卡通系统的设计与实现 赵 迎春 ...

  2. 饭卡充值系统c语言,求助,单位食堂饭卡充值系统出问题了

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 HP电脑,win7系统,本人不懂程序,百度时灵机一动,想到来程序员吧求助,太机智了有木有! 食堂饭卡充值系统,有一个USB读卡器,最近因为充值系统升级,读 ...

  3. Java课程设计——饭卡管理系统(javaSwing、JavaFX、MySQL)附源代码

    项目名:饭卡管理系统 @author :第四维度 创建时间:2021-6-21 描述:这是一个涉及 MySQL + IDEA + Jdk8 + swing + javaFX 的项目,能实现对数据库的增 ...

  4. 一卡通(M1卡)破解过程记录——数据分析(水卡、饭卡及门禁)

    前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--准备篇              理论篇          ...

  5. c语言饭卡服务程序设计思路,C语言设计—饭卡管理程序.doc

    C语言设计-饭卡管理程序 C语言课程设计报告饭卡管理程序 完成日期:2009年12月 [题目描述]该程序为饭卡管理程序,具有下列功能:(1) 录入某位持卡人的基本信息?教师:职工号?姓名?院系?金额; ...

  6. c语言饭卡管理系统_C语言饭卡管理系统(附代码).doc

    C语言饭卡管理系统(附代码) C语言饭卡管理系统,代码超简单,纯c语言基础知识,本人大一时期自己打的代码与实验报告(作图是直接word,可直接修改,不需安装visio),上传只为赚取百度财富值,支持原 ...

  7. cuid卡写入后锁死_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...

    2019年双十一期间,入手了荣耀magic2手机,其实去年用过一次,今年换了多次还是特别喜欢,主要是麒麟980旗舰CPU,全面滑屏特有面子. 入手的第一时间,自己就启用了手机的钱包功能,手机钱包除了小 ...

  8. HDU2546 饭卡【贪心+0-1背包】

    饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  9. mysql食堂系统E R图_饭卡管理系统学生E-R图

    - 2 - 1.1 可行性分析 1.1.1 项目背景 近年来学生食堂饭卡的使用给高校餐饮管理带来了一次革命, 从结算方式到账户管理, 从卫生便捷到数据统计等,不仅给就餐者带来了方便,也使餐饮结算手段发 ...

最新文章

  1. 四百元值不值——论小米2A与2S
  2. Java并发编程——线程池的使用
  3. HP大中华区总裁孙振耀谈工作、职业与人生规划
  4. Golang Java 实现 【将有序数组装换为二叉搜索树】
  5. Linux 命令(102)—— zip 命令
  6. zuc算法代码详解_最短路算法-dijkstra代码与案例详解
  7. [C# 线程处理系列]专题四:线程同步
  8. 这7个web前端开发写代码软件,你过用几个?
  9. 创业/商业计划书10大禁忌
  10. 工作展望简短_简短的工作计划
  11. 双活数据中心解决方案
  12. 美通企业日报 | 四所中国大陆高校进入亚洲大学前十;工作时间过长威胁IT从业人员健康...
  13. 电脑开机后进不了系统怎么办?
  14. 【python设计模式】6、装饰器模式
  15. 英文诗歌 学习 月是故乡明
  16. Java 在线反编译
  17. 迷你云搭建自己的云盘
  18. 谈谈我对京东的认识(6):京东云提供的5大类云服务
  19. 利用RaspberryPI搭建无线AP抓取智能积木无线数据包
  20. Python starred expression 星号*(乘法或不确定的参数的定义与输入)与**(指数运算或不确定的字典类参数的定义与输入)用法分析

热门文章

  1. java 窗口置顶_JAVA如何让窗体置于所有应用前面?
  2. 夏日PHP图书管理系统 v0.3(源码)
  3. 忘记PPT密码怎么办?附解决办法
  4. 如何用ARIMA模型做预测?
  5. MySQL默认 InnoDB 存储引擎 详解
  6. php 去除中英文空格,php去除字符串首尾中英文空格程序
  7. 常用的Linux命令(面试/工作必备)
  8. Windows电脑值得下载使用的文件同步工具
  9. 【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 建模方案及代码实现
  10. bzero与memset