C:功能选择菜单

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#define N 20
typedef struct member{
    long num;
    char name[10];
    int points;
    int money;
}MEMBER;

void printlist(MEMBER *x);
int readmember(MEMBER *x);
void printmember(MEMBER *x,int n);
void search(MEMBER *x,int n);
void ascending(MEMBER *x,int n);
void rebate(MEMBER *x,int n);
int main(){
    MEMBER x[N];

    do{
        printlist(x);
        Sleep(1000);
        system("cls");
        fflush(stdin);
        printf("敲击任意键继续");
    }while(getchar());
}
void printlist(MEMBER *x){
    int c=0;
    static int n=0;//如果是动态变量int,则每次调用printlist(),n被重置为0,无法记录保存用户人数
    printf("*******商场VIP客户管理系统*******\n");
    printf("请选择菜单功能:\n");
    printf("1、输入客户信息(账号,姓名,积分)\n");
    printf("2、打印客户信息\n");
    printf("3、按照客户编号查询客户信息\n");
    printf("4、按照客户积分对顾客进行升序排序\n");
    printf("5、年底积分返券\n");
    printf("6、退出\n");

    scanf("%d",&c);
    system("cls");
    switch(c){

        case 1:
            n=readmember(x);
            break;

        case 2:
            printmember(x,n);
            break;

        case 3:
            search(x,n);
            break;

        case 4:
            ascending(x,n);
            break;

        case 5:
            rebate(x,n);
            break;

        case 6:
            exit(0);

        default:
            printf("Input error!\n");


    }

}
int readmember(MEMBER *x){
    printf("输入-1,则结束读取\n");
    int i=-1;
    do{
        i++;
        printf("第%d条用户信息\n",i+1);
        scanf("%ld%s%d",&x[i].num,x[i].name,&x[i].points);
        x[i].money=0;

    }while(x[i].num>0);
    return i;
}

void printmember(MEMBER *x,int n){
    int i;

    for(i=0;i<n;i++){

        printf("%ld\t%s\t%d\n",x[i].num,x[i].name,x[i].points);

    }
}

void search(MEMBER *x,int n){
    long s;
    int i,flag=0;
    printf("请输入查找编号:\n");
    scanf("%ld",&s);
    for(i=0;i<n;i++)
    {
        if(x[i].num==s)
        {
            flag=1;
            break;
        }
    }
    if(flag){
        printf("%ld\t%s\t%d\n",x[i].num,x[i].name,x[i].points);

    }else{
        printf("Not found\n");
    }
}
void ascending(MEMBER *x,int n){
    int i,j;
    MEMBER temp;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-1-i;j++){
            if(x[j].points>x[j+1].points){
               temp=x[j];
               x[j]=x[j+1];
               x[j+1]=temp;
            }
        }
    }
    for(i=0;i<n;i++){

        printf("%ld\t%s\t%d\n",x[i].num,x[i].name,x[i].points);

    }

}

void rebate(MEMBER *x,int n){
    int i;
    for(i=0;i<n;i++){
        if(x[i].points>50000){
            x[i].money+=999;
            x[i].points-=50000;
        }
        if(x[i].points>=30000&&x[i].points<50000)
        {
            x[i].money += 399;
            x[i].points-=30000;
        }
        if(x[i].points>=10000&&x[i].points<30000)
        {
            x[i].money += 199 ;
            x[i].points -=10000;
        }
        if(x[i].points>=5000&&x[i].points<10000)
        {
            x[i].money += 50;
            x[i].points -= 5000;
        }

    }
    for(i=0;i<n;i++){

        printf("%d\n",x[i].money);

    }

}
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值