结构体链表

本文介绍了使用C语言编写的订单管理系统,包含用户验证、订单显示、添加、取消和修改等功能,以及主函数中菜单的交互流程。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<string.h>
#include<malloc.h>
struct order_mes{
    char or_num[20];
    char or_sell[10];
    char or_com[20];
    char *next;
};

void Menu(){
    printf("\n***订单管理系统***\n");
    printf("0.退出操作\n");
    printf("1.订单操作\n");
    printf("2.管理操作\n");

}
int User(char *name,char *number){
    char message1[20]="123456",message2[20]="message";
    printf("***用户验证***\n");
    if(strcmp(name,message1)==0){
        if(strcmp(number,message2)==0)
            return 0;
    }
    else return 1;
}

void Order_dis(  struct order_mes *temp){
    //订单号 卖家信息 商品信息订单状态
    struct order_mes *mc=temp;
    while(mc!=NULL){
        printf("%s ",mc->or_num);
        printf("%s ",mc->or_sell);
        printf("%s\n",mc->or_com);
        mc=mc->next;
    }
}
void Order_add(struct order_mes *temp){
    struct order_mes * ad_Node=(struct order_mes*)malloc(sizeof(struct order_mes));
    struct order_mes *mc=temp;
    while(mc->next!=NULL){
        mc=mc->next;
    }
    mc->next=ad_Node;
    gets(ad_Node->or_num);
    gets(ad_Node->or_sell);
    gets(ad_Node->or_com);
    ad_Node->next=NULL;
printf("输入成功\n");
}
void Order_cha(struct order_mes *temp,char number[]){
    struct order_mes *mc=temp;
    while(mc!=NULL){
        if(strcmp(mc->or_num,number)==0)
        {
            printf("输入想要修改的信息:\n");
            gets(mc->or_sell);
            gets(mc->or_com);
            break;
        }
        mc=mc->next;
    }
    printf("修改成功\n");
}
void Order_change(struct order_mes *temp){
    struct order_mes *te=temp;
    char num[10]="\n";
    printf("输入数字(1,2,3)对订单进行操作:\n");
    char arr='0';
    do {
    scanf("%c",&arr);
    getchar();
    int number=0;
    //用订单列表存储所有订单信息,包括添加订单,取消订单,修改订单状态
    //order_mes
        switch (arr - '0') {
            case 1:
                printf("添加订单\n");
                printf("输入添加订单个数:\n");
                gets(num);
                for(int i=0;i<strlen(num);i++){
                Order_add(te);}
                Order_dis(te);
                break;
            case 2:
                printf("取消订单\n");
                break;
            case 3:
                printf("修改订单状态\n");
                printf("输入修改订单位置:\n");
                gets(num);
                Order_cha(te,num);
                Order_dis(te);
                break;
            default:
                printf("没有此选项,重新选择!\n");
                break;
        }

    }while(arr - '0'==0);
}
int main(){
    int num=0,count=0;
    char choice[2];
    struct order_mes * Node=(struct order_mes*)malloc(sizeof(struct order_mes));
    strcpy(Node->or_num,"1");
    strcpy(Node->or_sell,"护肤品旗舰店");
    strcpy(Node->or_com,"未发货");
    Node->next=NULL;

    do {
        char message[20], code[20];
        printf("账号:\n");
        gets(message);
        printf("密码:\n");
        gets(code);

    }while(num!=0);

    int a=-1;
    do{
        Menu();
        printf("输入操作选项:\n");
        gets(choice);
        a=choice[0]-'0';
        switch(a)
        {
            case 0:
                printf("正在退出\n");
                break;
            case 1:
                printf("1订单操作\n");
                Order_dis(Node);
                break;
            case 2:
                printf("2管理操作\n");
                Order_change(Node);
                break;
            default:
                printf("重新选择:\n");
                break;
        }

    }while((a!=0)&&(a!=1)&&(a!=2));

printf("订单完成\n");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值