C语言如何实现会员管理系统

C语言如何实现会员管理系统

本文小编为大家详细介绍“C语言如何实现会员管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现会员管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

会员信息包括:会员号(6位数,唯一),姓名,身份证号,联系电话,状态(1表示正常,0表示挂失)。

会员管理包括:会员的添加、删除、修改(会员号不能修改)、挂失、查询、接触挂失。

先给大家看看效果:

上代码:

#include<stdio.h>#include<stdlib.h>#include<string.h>structVIP//定义结构体,存储会员账号、姓名、身份证号、联系方式、状态、余额{longno;charname[20];//姓名、身份证号含有字符,使用char定义charIDcard[19];charphone[12];//联系电话有11位,超出了int的范围,使用字符串定义intzhuangtai;//如果状态为1,则正常,若为0,则状态为挂失intyue;};structVIPs[50];//定义结构体数组intn=0;//n表示存入的会员数量voidinit();//含义见main主函数voidprint();structVIPgete();voidadd1();voidfindbyno();voidfindbyname();voidfindbyIDcard();voidfindbyphone();voidmod();voiddel();voidsort();voidtransaction();voidinit()//初始化(唯一的6位会员账号){intf=1;//1唯一0不唯一printf("请输入会员的账号,姓名,身份证号码,联系电话,余额,状态\n");printf("当输入会员号为0时停止输入\n");while(n<=50){printf("请输入会员的账号:\n");scanf("%ld",&s[n].no);while(s[n].no!=0){if(s[n].no/1000000==0&&s[n].no/100000!=0){inti;for(i=0;i<n&&f==1;i++){if(s[n].no==s[i].no){f=0;printf("请输入唯一的6位会员账号\n");}}if(f==1)break;}else{printf("请输入6位会员账号\n");printf("请重新输入会员的账号:\n");scanf("%d",&s[n].no);}}if(s[n].no==0)break;//如果输入的账号为0,结束输入printf("请输入会员的姓名:\n");scanf("%s",s[n].name);printf("请输入会员的身份证号,联系电话,余额,状态:\n");scanf("%s%s%d%d",s[n].IDcard,s[n].phone,&s[n].yue,&s[n].zhuangtai);n++;}}voidprint()//输出{//|和=组合起来,使输出结果时有表格样式//%t、空格使输出时数据对其intj;printf("会员信息记录如下:\n");printf("|===================================================================================|\n");printf("|账号\t姓名\t身份证号\t联系电话\t余额\t状态|\n");printf("|-----------------------------------------------------------------------------------|\n");for(j=0;j<n;j++){printf("|%ld\t%s\t%s\t%s\t%d\t",s[j].no,s[j].name,s[j].IDcard,s[j].phone,s[j].yue);if(s[j].zhuangtai==1)printf("正常|\n");elseprintf("挂失|\n");if(j<(n-1))printf("|-----------------------------------------------------------------------------------|\n");}printf("|===================================================================================|\n");}structVIPgete()//输入{structVIPe;printf("请输入账号:\n");scanf("%d",&e.no);intf=1;while(e.no){if(e.no/1000000==0&&e.no/100000!=0){inti;for(i=0;i<n&&f==1;i++){if(e.no==s[i].no){f=0;printf("请输入唯一的6位会员账号\n");scanf("%d",&e.no);}}if(f==1)break;}else{printf("请输入6位会员账号\n");printf("请重新输入会员的账号:\n");scanf("%d",&e.no);}}printf("请输入姓名:\n");scanf("%s",&e.name);printf("请输入会员的身份证号,联系电话,余额,状态:\n");scanf("%s%s%d%d",&e.IDcard,&e.phone,&e.yue,&e.zhuangtai);returne;}voidadd1()//添加新的会员信息{structVIPe=gete();inti;printf("请输入要插入的位置(1-%d):\n",n);scanf("%d",&i);while(i<1||i>n+1){printf("您输入的位置有误!\n");printf("请重新输入要插入的位置(1-%d):\n",n);scanf("%d",&i);}for(intj=n-1;j>=i-1;j--){s[j+1]=s[j];}s[i-1]=e;n++;}voidfindbyno()//根据会员账号查找会员信息{intnum,i;intfound=1;charchoice;while(1){printf("请输入要查找的会员的账号:\n");scanf("%d",&num);getchar();for(i=0;i<n&&found==1;i++){if(s[i].no==num){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续查询(Y/N)\n");choice=getchar();if(choice=='N'||choice=='n')break;}}voidfindbyname()//根据会员姓名查找会员信息{charname[20];charchoice;intfound=1;inti;while(1){printf("输入要查询会员的姓名:\n");scanf("%s",name);getchar();for(i=0;i<n&&found==1;i++){if(strcmp(s[i].name,name)==0){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续查询(Y/N)\n");choice=getchar();if(choice=='N'||choice=='n')break;}}voidfindbyIDcard()//根据身份证号查找会员信息{charnum[19];inti;intfound=1;charchoice;while(1){printf("请输入要查找的会员的身份证号:\n");scanf("%s",num);getchar();for(i=0;i<n&&found==1;i++){if(strcmp(s[i].IDcard,num)==0){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续查询(Y/N)\n");choice=getchar();if(choice=='N'||choice=='n')break;}}voidfindbyphone()//根据联系电话查找会员信息{charnum[12];inti;intfound=1;charchoice;while(1){printf("请输入要查找的会员的联系电话:\n");scanf("%s",num);getchar();for(i=0;i<n&&found==1;i++){if(strcmp(s[i].phone,num)==0){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续查询(Y/N)\n");choice=getchar();if(choice=='N'||choice=='n')break;}}voidmod()//修改已有的会员信息{intnum,i;intfound=1;charchoice;intopt;while(1){printf("请输入要修改的会员的账号(会员号无法修改):\n");scanf("%d",&num);getchar();for(i=0;i<n&&found==1;i++){if(s[i].no==num){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失\n");printf("--请选择--1.修改身份证号2.修改联系电话3.修改状态\n");scanf("%d",&opt);getchar();switch(opt){case1:printf("请输入身份证号新值:\n");scanf("%s",s[i].IDcard);getchar();break;case2:printf("请输入联系电话新值:\n");scanf("%s",s[i].phone);getchar();break;case3:printf("请输入状态新值:\n");scanf("%d",&s[i].zhuangtai);getchar();break;}}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续修改(YorN)\n");choice=getchar();getchar();if(choice=='N'||choice=='n')break;}}voiddel()//删除已有会员信息{intnum,i,j;intfound=1;charchoice;while(1){printf("请输入要删除的会员的账号:\n");scanf("%d",&num);getchar();for(i=0;i<n&&found==1;i++)//51-5{if(s[i].no==num){found=0;printf("你要删除的会员信息为:\n");printf("会员账号姓名身份证号联系电话余额状态\n");printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");for(j=i;j<n-1;j++){s[j]=s[j+1];}n--;}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续(Y/N)\n");choice=getchar();getchar();if(choice=='N'||choice=='n')break;}}voidtransaction()//消费或充值{intnum,i,a,b;intfound=1;charchoice;while(1){printf("请输入会员的账号:\n");scanf("%d",&num);getchar();for(i=0;i<n&&found==1;i++)if(s[i].no==num){found=0;printf("%ld\t%s\t%d\t%d\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");printf("请选择类型:1.消费2.充值\n");scanf("%d",&a);getchar();printf("请输入金额:\n");scanf("%d",&b);getchar();if(a==1){s[i].yue=s[i].yue-b;printf("%ld\t%s\t%s\t%s\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}else{s[i].yue=s[i].yue+b;printf("%ld\t%s\t%s\t%s\t%d\t",s[i].no,s[i].name,s[i].IDcard,s[i].phone,s[i].yue);if(s[i].zhuangtai==1)printf("正常\n");elseprintf("挂失!\n");}}if(found==1){printf("未找到!\n");}found=1;printf("是否继续(Y/N)\n");choice=getchar();getchar();if(choice=='N'||choice=='n')break;}}voidsort()//根据会员账号从小到大排序{inti,j;structVIPtemp;for(i=0;i<n;i++){for(j=i+1;j<n;j++){if(s[i].no>s[j].no){temp=s[i];s[i]=s[j];s[j]=temp;}}}printf("\n排序后的会员信息:\n");}intmain(){intopt;printf("|*============================================*|\n");printf("|*欢迎使用会员管理系统*|\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("|*8.删除已有会员记录*|\n");printf("|*9.根据会员账号排序并显示*|\n");printf("|*10.会员消费或充值*|\n");printf("|*0.退出会员信息管理系统*|\n");printf("|*============================================*|\n");while(1){printf("请输入要完成的功能:0-10:");scanf("%d",&opt);getchar();//吸收回车switch(opt){case1:init();print();break;//初始化case2:add1();print();break;//添加case3:mod();print();break;//修改case4:findbyno();print();break;//根据账号查询case5:findbyname();print();break;//根据姓名查询case6:findbyIDcard();print();break;//根据身份证号查询case7:findbyphone();print();break;//根据联系电话查询case8:del();print();break;//删除case9:sort();print();break;//排序case10:transaction();print();break;//消费/充值case0:system("cls");exit(0);break;//退出default:printf("请输入0-10中的数!\n");break;}}}

读到这里,这篇“C语言如何实现会员管理系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注恰卡编程网行业资讯频道。

发布于 2022-03-18 22:47:34
收藏
分享
海报
0 条评论
31
上一篇:Java二叉搜索树与数组查找的方法 下一篇:React组件中的state和setState如何使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码