IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言 饭卡管理系统 -> 正文阅读

[C++知识库]C语言 饭卡管理系统

大一时期编写的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 zhuxiao();
void guashi();
void guashu();
int main()
{int choose;
do {
? ? system("cls");
?? ?printf("===================饭卡管理系统==================\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\t0.退出程序\n\n");

?? ?fflush(stdin);

?? ?printf("请输入功能选项:");
?? ?scanf("%d",&choose);
?? ?switch(choose)
?? ?{
?? ?case 1:jianli();break;
?? ?case 2:maifan();break;
?? ?case 3:xuqian();break;
?? ?case 4:tianjia();break;
?? ?case 5:zhuxiao();break;
?? ?case 6:guashi();break;
?? ?case 7:guashu();break;
?? ?case 0:printf("感谢使用本软件!已正常退出,按任意键结束!\n");break;}
}while(choose!=0);
return 0;
}
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("解除挂失成功!");
?? ?}

}
void zhuxiao()
{
?? ?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;
?? ??? ?}
? ? ? ? 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 guashu()
{
?? ?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++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:12:48  更:2021-12-04 13:13:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:16:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码