会员信息包括:会员号(6位数,唯一),姓名,身份z号,联系电话,状态(1表示正常,0表示挂失)。
会员管理包括:会员的添加、删除、修改(会员号不能修改)、挂失、查询、接触挂失。
先给大家看看效果:
上代码:
#include#include #include struct VIP //定义结构体,存储会员账号、姓名、身份z号、联系方式、状态、余额 { long no; char name[20]; //姓名、身份z号含有字符,使用char定义 char IDcard[19]; char phone[12]; //联系电话有11位,超出了int的范围,使用字符串定义 int zhuangtai; //如果状态为1,则正常,若为0,则状态为挂失 int yue; }; struct VIP s[50]; //定义结构体数组 int n=0; //n表示存入的会员数量 void init(); //含义见main主函数 void print(); struct VIP gete(); void add1(); void findbyno(); void findbyname(); void findbyIDcard(); void findbyphone(); void mod(); void del(); void sort(); void transaction(); void init() //初始化(唯一的6位会员账号) { int f=1; //1唯一 0不唯一 printf("请输入会员的账号,姓名,身份z号码,联系电话,余额,状态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) { int i; for(i=0;i n+1) { printf("您输入的位置有误!n"); printf("请重新输入要插入的位置(1-%d):n",n); scanf("%d",&i); } for(int j=n-1;j>=i-1;j--) { s[j+1]=s[j]; } s[i-1]=e; n++; } void findbyno() //根据会员账号查找会员信息 { int num,i; int found=1; char choice; while(1) { printf("请输入要查找的会员的账号:n"); scanf("%d",&num); getchar(); for(i=0;i s[j].no) { temp=s[i]; s[i]=s[j]; s[j]=temp; } } } printf("n排序后的会员信息:n"); } int main() { int opt; printf(" |*============================================*|n"); printf(" |* 欢迎使用会员管理系统 *|n"); printf(" |*============================================*|n"); printf(" |* 1.初始化 *|n"); printf(" |* 2.添加新的会员记录 *|n"); printf(" |* 3.修改已有会员记录/挂失 *|n"); printf(" |* 4.根据账号查询已有会员记录 *|n"); printf(" |* 5.根据姓名查询已有会员记录 *|n"); printf(" |* 6.根据身份z号查询已有会员记录 *|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) { case 1:init();print();break; //初始化 case 2:add1();print();break; //添加 case 3:mod();print();break; //修改 case 4:findbyno();print();break; //根据账号查询 case 5:findbyname();print();break; //根据姓名查询 case 6:findbyIDcard();print();break; //根据身份z号查询 case 7:findbyphone();print();break; //根据联系电话查询 case 8:del();print();break; //删除 case 9:sort();print();break; //排序 case 10:transaction();print();break; //消费/充值 case 0:system("cls");exit(0);break; //退出 default:printf("请输入0-10中的数!n");break; } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)