C 언어 배달 관리 시스템 구현

본 고 는 C 언어 배달 관리 시스템 의 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
내용.
설명(쓸데없는 소리):지난 학기 에 쓴 과정 디자인 의 주 제 는 배달 관리 시스템 입 니 다.인터넷 주문,가게 업무,전담자 관리 과정 을 모 의 할 수 있 기 를 바 랍 니 다.그리고 등록 과 로그 인 및 기본 정보의 수출 을 실현 합 니 다.개인 이 게 을 러 서 정리 하지 못 했 습 니 다.오늘 시간 이 나 면 여러분 의 소중 한 의견 을 얻 으 면 영광 입 니 다.
중점 내용
『8195』3 단 로그 인:각각 관리자,사용자 와 가게 주인 입 니 다.양쪽 의 등록 은 각각 사용자 와 점포 로 그 중에서 가게 의 등록 성공 은 관리자 의 심 사 를 받 아야 한다.
  • 관리 자 는 가게 정 보 를 조회 할 수 있 고 가게 정보 수정(첨삭 검사 로 나 뉜 다),신청 점 포 를 처리 하고 본인 의 정 보 를 수정 할 수 있다
  • 4.567917.전체 81955.사용자 측 은 사용자 관련(사용자 본인 이 자신의 정보 에 대한 조작)으로 나 뉘 어 주문 서 를 조회 하고 메뉴 를 조회 하 며 메뉴 를 구 매 하고 주문 순 서 를 매 한다
  • 관리 자 는 요 리 를 추가 하고 요 리 를 삭제 하 며 요 리 를 수정 하고 요리 와 실적 을 조회 합 니 다(총 주문 과 총 수입 통계)
  • 그리고:
    1.가게 등록 에 필요 한 것 은 관리자 의 인증 을 받 고 인증 을 통과 한 후에 야 로그 인 할 수 있 습 니 다.
    2.비밀번호 수정 은 오래된 비밀 번 호 를 입력 해 야 합 니 다.세 번 의 오 류 는 비밀 번 호 를 찾 을 수 있 고 핸드폰 번 호 를 입력 할 수 있 습 니 다.만약 에 핸드폰 번호 가 적당 하면 세 자리 수의 무 작위 인증 코드 가 생 길 수 있 습 니 다.인증 번 호 를 입력 하면 수정 할 수 있 습 니 다.
    3.이미 3 분 이 넘 은 주문 에 대해 서 는 수정 할 수 없습니다.이미 배 송 되 었 기 때 문 입 니 다.
    4.사용자 의 잔액 을 제한 하고 구 매 시 잔액 이 부족 할 때 계좌 충전 을 해 야 하 며 구 매가 끝나 면 계좌 잔액 도 상응 하 게 줄어든다.
    다음은 기능 모듈 그림 입 니 다.

    다음은 함수 호출 관계 도 입 니 다.

    다음은 전체 코드 입 니 다.
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h> 
    #include<windows.h>
    #include<time.h>
    #include<conio.h>
    void choose();
    //           
    typedef struct shop
    {
      char name[20];
      char phone[20];
      char address[30];
      char password[20];
      struct shop *next;
    }shop,*link_shop;
    //           
    typedef struct food
    {
      char name[20];
      int type;
      int amount;
      int price;
      int total;
      char shop[20];
      char yonghu[20];
      char leibie[20]; 
      struct food *next; 
    }food,*link_food;
    //          
    typedef struct user
    {
      char name[20];
      char delivery[39];
      char password[15];
      char number[15];
      int score;
      struct user *next;
    }user,*link_user;
    typedef struct money
    {
      char person[20];
      char card[25];
      char mima[20];
      struct money *next;
    }money,*link_money;
    char yh[20];//         
    char dp[20];//         
    time_t start,end;
    //    
    void foodwrite(link_food LF);
    void shopwrite1(link_shop LS);
    void dingdanwrite(link_food LF);
    void user_moneywrite(link_user LM);
    void welcome()
    {
      int i=0;
      char a[52]="▲WELCOME TO RESTAURANT MANAGEMENT SYSTEM▲";
      //system("color 0a");
      printf("



    \t\t"); while(a[i]) { printf("%c",a[i]); Sleep(50); i++; } printf("



    \t\t"); } void Exit() { int i=0; system("cls"); char a[20]="LOVE you,byebye^_^"; system("color 03"); printf("


    \t\t\t"); while(a[i]) { printf("%c",a[i]); Sleep(100); i++; } } void ME() { system("color 0b"); printf("


    \t\t☆★ W E L C O M E ☆★

    \t , :"); printf("

    \t\t\t1. "); printf("\t\t\t2. \t\t\t0.
    "); } // ( ) void MENU() { printf("



    \t\t\t\t\t================================
    "); printf("\t\t\t\t\t
    "); printf("\t\t\t\t\t 1.
    "); printf("\t\t\t\t\t 2.
    "); printf("\t\t\t\t\t 3.
    "); printf("\t\t\t\t\t 0.
    "); printf("\t\t\t\t\t================================
    "); } // void MENU1() { system("color 0f"); printf(" : 5 ^-^
    "); printf("

    \t\t\t\t\t1. ▲
    "); printf("\t\t\t\t\t--------------
    "); printf("\t\t\t\t\t2.
    "); printf("\t\t\t\t\t--------------
    "); printf("\t\t\t\t\t3. ▲
    "); printf("\t\t\t\t\t--------------
    "); printf("\t\t\t\t\t4.
    "); printf("\t\t\t\t\t--------------
    "); printf("\t\t\t\t\t0. ▲
    "); } // void MENU2() { system("color 0f"); printf("

    \t\t\t\t 1. ▲\t\t\t 5.
    "); printf("\t\t\t\t---------------\t\t\t---------------
    "); printf("\t\t\t\t 2. ▲\t\t\t 6.
    "); printf("\t\t\t\t---------------\t\t\t---------------
    "); printf("\t\t\t\t 3. ▲\t\t\t 0.
    "); printf("\t\t\t\t---------------\t\t\t---------------
    "); printf("\t\t\t\t 4. ▲
    "); } // void MENU3() { system("color 0f"); printf("


    \t\t\t ________ Shop Version _______
    "); printf("\t\t\t| |
    "); printf("\t\t\t| 1. |
    "); printf("\t\t\t| 2. |
    "); printf("\t\t\t| 3. |
    "); printf("\t\t\t| 4. |
    "); printf("\t\t\t| 5. |
    "); printf("\t\t\t| 0. |
    "); printf("\t\t\t|_____________________________|
    "); } // void *creatf() { int i=0,n; link_food LF; food *s,*r; char a[10]; //srand((unsigned)time(NULL));// LF=(food *)malloc(sizeof(food)); LF->next=NULL; r=LF; while(1) { printf(" :"); scanf("%s",a); if(strcmp(a,"0")!=0) { s=(food *)malloc(sizeof(food)); printf(" :"); scanf("%d",&s->price); printf(" "); scanf("%s",s->leibie); strcpy(s->name,a); s->total=(s->amount)*(s->price); r->next=s; s->next=NULL; r=s; } else break; } foodwrite(LF); } shop *creats() { char a[30],b[20],c[15],d[20]; link_shop LS; shop *s,*r; LS=r=(shop *)malloc(sizeof(shop)); LS->next=NULL; r=LS; while(1) { printf(" :
    "); printf("\t\t● :"); scanf("%s",a); printf("
    \t\t● :"); scanf("%s",b); if(strcmp(b,"0")!=0) { printf("
    \t\t● :"); scanf("%s",c); printf("
    \t\t● :"); scanf("%s",d); s=(shop *)malloc(sizeof(shop)); strcpy(s->name,a); strcpy(s->phone,b); strcpy(s->address,c); strcpy(s->password,d); r->next=s; s->next=NULL; r=s; } else break; } return LS; } void Outputshop(link_shop Ls) { int n=0; shop *p,*u; p=Ls->next; system("cls"); printf(" :
    "); printf("\t\t\t\t-------------------------------------------
    "); printf("\t\t\t\t \t \t
    "); printf("\t\t\t\t-------------------------------------------
    "); while(p) { printf("\t\t\t\t%8s\t%8s\t%7s
    ",p->name,p->phone,p->address); printf("\t\t\t\t-------------------------------------------
    "); p=p->next; } for(u =Ls->next; u != NULL;u = u->next) n++; printf("\t\t\t\t \t\t\t\t%d
    ",n); printf("\t\t\t\t-------------------------------------------
    "); } void Outputfood(link_food LF) { food *s; s=LF->next; int sum=0; printf(" :
    "); printf("\t----------------------------------------------------------------------------------------------------
    "); printf("\t \t\t / \t\t / \t\t / \t\t \t\t \t\t
    "); printf("\t----------------------------------------------------------------------------------------------------
    "); for(s=LF->next;s!=NULL;s=s->next) { if(strcmp(s->yonghu,yh)==0) { printf("\t%-8s\t%-8d\t%-8d\t%-8d\t%-10s\t%-10d\t%s
    ",s->name,s->amount,s->price,s->total,s->shop,s->type,s->yonghu); printf("\t----------------------------------------------------------------------------------------------------
    "); sum=sum+s->total; } } printf("\t / \t\t\t\t\t\t\t%d
    ",sum); printf("\t----------------------------------------------------------------------------------------------------
    "); if(sum==0) { printf("○ , φ(>ω<*) "); printf("
    \t\t\t\t\t->"); Sleep(1000); printf("->"); Sleep(1000); printf("->"); Sleep(1000); system("cls"); MENU2(); return; } } void outputfood(link_food LF) { food *p; p=LF->next; printf("
    \t\t\t "); printf("
    \t\t\t--------------------------------------------------
    "); printf("\t\t\t
    "); printf("\t\t\t---------------------------------------------------
    "); while(p) { printf("\t\t\t%-13s%-12d%-14s%s
    ",p->name,p->price,p->shop,p->leibie); printf("\t\t\t---------------------------------------------------
    "); p=p->next; } } // user* addmoney(user *u) { int n; char y; char a[20]; FILE *fp; link_money LY; money *p,*r; printf(" :%d",u->score); printf(" ?Y/else"); fflush(stdin);// y=getchar(); if(y=='Y') { fp=fopen("yue.txt","rt"); LY=r=(money *)malloc(sizeof(money)); LY->next=NULL; while(!feof(fp)) { p=(money *)malloc(sizeof(money)); fscanf(fp,"%s %s %s
    ",p->person,p->card,p->mima); p->next=NULL; r->next=p; r=p; } fclose(fp); p=LY->next; while(1) { if(strcmp(yh,p->person)==0) { break; } else p=p->next; } printf(" ?"); scanf("%d",&n); printf(" :"); scanf("%s",a); if(strcmp(p->mima,a)==0) { u->score=(u->score+n); printf(" "); } else printf("\t\t× , "); } else printf(" "); return u; } // void name_sort(link_shop LS) { int i,j,n; n = 0; // ; shop *u,*q,*p; for(u =LS->next; u != NULL;u = u->next) n++; // for(i=1;i<=n;i++) { u =LS; for(j=0;j<n-i;j++) { p = u->next; q = p->next; if(strcmp(p->name,q->name) > 0 || strcmp(p->name,q->name) == 0) { u->next = q; p->next = q->next; q->next = p; } u = u->next; } } printf("\t
    "); Outputshop(LS); return; } void address_sort(link_shop LS) { int i,j,n; n = 0; // ; shop *u,*q,*p; for(u =LS->next; u != NULL;u = u->next) n++; // for(i=1;i<=n;i++) { u =LS; for(j=0;j<n-i;j++) { p = u->next; q = p->next; if(strcmp(p->address,q->address) > 0 || strcmp(p->address,q->address) == 0) { u->next = q; p->next = q->next; q->next = p; } u = u->next; } } printf("\t\t\t\t
    "); Outputshop(LS); return; } void dingdan_name_sort(link_food LF) // { int i,j,n; n = 0; // ; food *u,*q,*p; for(u =LF->next; u != NULL;u = u->next) n++; // for(i=1;i<=n;i++) { u =LF; for(j=0;j<n-i;j++) { p = u->next; q = p->next; if(strcmp(p->name,q->name) > 0 || strcmp(p->name,q->name) == 0) { u->next = q; p->next = q->next; q->next = p; } u = u->next; } } Outputfood(LF); return; } void dingdan_total_sort(link_food LF) // { int i,j,n; n = 0; // ; food *u,*q,*p; for(u =LF->next; u != NULL;u = u->next) n++; // for(i=1;i<=n;i++) { u =LF; for(j=0;j<n-i;j++) { p = u->next; q = p->next; if(p->total>q->total) { u->next = q; p->next = q->next; q->next = p; } u = u->next; } } Outputfood(LF); return; } void dingdandelete(link_food Lf) { food *p,*n; p=Lf; n=p->next; int m; char a; printf(" :"); scanf("%d",&m); while(n) { if(m==n->type) { if(strcmp(n->shop,dp)==0) { p->next=n->next; //foodwrite(Lf); dingdanwrite(Lf); break; } else printf(" ,
    "); break; } else { p=p->next; n=n->next; } } } food *dingdanread() { FILE *fp; link_food LF,r,s; fp=fopen("dingdan.txt","rt"); if(fp==NULL) { printf(" "); return 0; } LF=r=(food *)malloc(sizeof(food)); r->next=NULL; while(!feof(fp)) { s=(food *)malloc(sizeof(food)); fscanf(fp,"%s %d %d %d %s %d %s
    ",s->name,&s->amount,&s->price,&s->total,s->shop,&s->type,s->yonghu); r->next=s; s->next=NULL; r=s; } return LF; } void scorefind(link_food LF) { int sum=0; food *p; p=LF->next; system("cls"); printf("


    \t\t\t :
    "); printf(" ----------------------------------------------------------------------------------------------------
    "); printf(" \t \t \t \t \t \t\t
    "); printf(" ----------------------------------------------------------------------------------------------------
    "); while(p) { if(strcmp(p->shop,dp)==0) { printf(" %7s%14d%15d%16d%16s%15d%18s
    ",p->name,p->amount,p->price,p->total,p->shop,p->type,p->yonghu); printf(" ----------------------------------------------------------------------------------------------------
    "); sum=sum+p->total; } p=p->next; } printf(" / :\t\t\t\t\t\t\t %d
    ",sum); printf(" ----------------------------------------------------------------------------------------------------
    "); if(sum==0) printf("\t\t● ,
    "); } food * foodread()// { link_food LF; food *s,*r; LF=r=(food *)malloc(sizeof(food)); LF->next=NULL; FILE *fp; fp=fopen("food.txt","rt"); if(fp==NULL) { printf(" "); exit(1); } while(!feof(fp))// , , 1, , 0 { s=(food *)malloc(sizeof(food)); fscanf(fp,"%s %d %s %s
    ",s->name,&s->price,s->shop,s->leibie); r->next=s; s->next=NULL; r=s; } fclose(fp); return LF; } money * moneyread()// { link_money LM; money *s,*r; LM=r=(money *)malloc(sizeof(money)); LM->next=NULL; FILE *fp; fp=fopen("yue.txt","rt"); if(fp==NULL) { printf(" "); exit(1); } while(!feof(fp))// , , 1, , 0 { s=(money *)malloc(sizeof(money)); fscanf(fp,"%s %s %s
    ",s->person,s->card,s->mima); r->next=s; s->next=NULL; r=s; } fclose(fp); return LM; } shop * shopread() { link_shop LS; shop *s,*r; LS=r=(shop *)malloc(sizeof(shop)); r->next=NULL; FILE *fp; fp=fopen("shop.txt","rt"); if(fp==NULL) { printf(" "); exit(1); } while(!feof(fp))// , , 1, , 0 { s=(shop *)malloc(sizeof(shop)); s->next=NULL; fscanf(fp,"%s %s %s %s
    ",s->name,s->phone,s->address,s->password); r->next=s; r=s; } fclose(fp); return LS; } user * userread() { link_user LU; user *s,*r; LU=r=(user *)malloc(sizeof(user)); r->next=NULL; FILE *fp; fp=fopen("users.txt","rt"); if(fp==NULL) { printf(" "); exit(1); } while(!feof(fp))// , , 1, , 0 { s=(user *)malloc(sizeof(user)); s->next=NULL; fscanf(fp,"%s %s %s %s %d
    ",s->name,s->delivery,s->password,s->number,&s->score); r->next=s; r=s; } fclose(fp); return LU; } void deleteshop(link_shop LS) { int i=0; shop *p,*q; p=LS; q=p->next; char m[20]; char a; printf(" :"); scanf("%s",m); while(q) { if(strcmp(m,q->name)==0||strcmp(m,q->phone)==0) { i++; p->next=q->next; shopwrite1(LS); return; } else { p=p->next; q=q->next; } } if(i==0) { printf(" ,
    "); return; } } void deletedingdan(link_food Lf) { food *p,*n; p=Lf; n=p->next; int m,i=0; char a; printf(" :"); scanf("%d",&m); while(n) { if(n->type==m) { if(strcmp(n->yonghu,yh)==0) { p->next=n->next; i++; foodwrite(Lf); } else printf(" ,
    "); break; } else { p=p->next; n=n->next; } } if(i==0) { printf("\t ,
    "); return; } } void purchase() { link_food Lf; money *LM,*mo; user *lu,*us; FILE *fp; char a[20],b[20],mi[20]; char y; int i=0; printf("\t\t◇ ?"); scanf("%s",a); Lf=foodread(); food *p; p=Lf->next; srand((unsigned)time(NULL));// while(p!=NULL) { if(strcmp(p->name,a)==0||strcmp(p->leibie,a)==0) { // printf("%s\t%d\t%s
    ",p->name,p->price,p->shop); i++; } p=p->next; } if(i==0) { printf("\t\t\t× ,
    "); system("pause"); system("cls"); MENU2(); return; } else { p=Lf->next; printf("
    \t\t\t--------------------------------------------------
    "); printf("\t\t\t
    "); printf("\t\t\t---------------------------------------------------
    "); while(p) { if(strcmp(p->leibie,a)==0||strcmp(p->name,a)==0) { printf("\t\t\t%-13s%-12d%-14s%s
    ",p->name,p->price,p->shop,p->leibie); printf("\t\t\t---------------------------------------------------
    "); } p=p->next; } } printf("\t\t◇ :"); scanf("%s",b); lu=userread(); us=lu->next; while(us) { if(strcmp(yh,us->name)==0) break; else us=us->next; }// LM=moneyread(); mo=LM->next; i=0; while(mo) { if(strcmp(yh,mo->person)==0) { i++; break; } else mo=mo->next; }// if(i==0) { printf("\t\t× , "); return; } p=Lf->next; i=0; while(p) { if(strcmp(p->name,a)==0||strcmp(p->leibie,a)==0) { if(strcmp(p->shop,b)==0) { printf("\t\t◇ "); scanf("%d",&p->amount); if(p->amount!=0) { i++; p->total=(p->amount)*(p->price); p->type=rand()%900+100; if((us->score)<p->total) { printf("\t\t× ,
    "); system("pause"); system("cls"); MENU2(); return; } printf("\t\t● ?Y/else"); fflush(stdin); y=getchar(); if(y=='Y') { printf(" :"); scanf("%s",mi); if(strcmp(mi,mo->mima)==0) { fp=fopen("dingdan.txt","at"); if(fp==NULL) printf("\t\t\t\t×
    ");// else { fprintf(fp,"%s %d %d %d %s %d %s
    ",p->name,p->amount,p->price,p->total,p->shop,p->type,yh); fclose(fp); us->score=(us->score)-(p->total); user_moneywrite(lu); printf("\t\t\t\t√ ,
    "); start = time(NULL);// system("pause"); system("cls"); MENU2(); return; } } else { printf("\t\t× , "); system("pause"); system("cls"); MENU2(); return; } } else { printf("\t\t\t× "); system("pause"); system("cls"); MENU2(); return; } } else { printf("\t\t\t× "); system("pause"); system("cls"); MENU2(); return; } } } p=p->next; } if(i==0) { printf("\t\t×
    "); system("pause"); system("cls"); MENU2(); } } void foodwrite(link_food LF)// { FILE *fp; food *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("food.txt","at"); if(fp==NULL) printf(" ! "); for(p=LF->next;p!=NULL;p=p->next) fprintf(fp,"%s %d %s %s
    ",p->name,p->price,dp,p->leibie); printf("
    "); fclose(fp); return; } else printf(" "); } void foodwrite1(link_food LF) { FILE *fp; food *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("food.txt","wt"); if(fp==NULL) printf(" ! "); for(p=LF->next;p!=NULL;p=p->next) fprintf(fp,"%s %d %s %s
    ",p->name,p->price,p->shop,p->leibie); printf("
    "); fclose(fp); return; } else printf(" "); } // void foodwrite2(link_food LF) // { // FILE *fp; // food *p; // char a; // printf(" ?(Y/else)"); // scanf("%*c%c",&a); // if(a=='Y') // { // fp=fopen("food.txt","wt"); // if(fp==NULL) // printf(" ! "); // for(p=LF->next;p!=NULL;p=p->next) // fprintf(fp,"%s %d %s %s
    ",p->name,p->price,p->shop,p->leibie); // printf("
    "); // fclose(fp); // return; // } // else // printf(" "); // } void dingdanwrite(link_food LF) { FILE *fp; food *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("dingdan.txt","wt"); if(fp==NULL) printf(" ! "); for(p=LF->next;p!=NULL;p=p->next) fprintf(fp,"%s %d %d %d %s %d %s
    ",p->name,p->amount,p->price,p->total,p->shop,p->type,p->yonghu); printf("
    "); fclose(fp); return; } else printf(" "); } void shopwrite1(link_shop LS) { FILE *fp; shop *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("shop.txt","wt"); if(fp==NULL) printf(" ! "); for(p=LS->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s %s
    ",p->name,p->phone,p->address,p->password); printf("
    "); fclose(fp); return; } else printf(" "); } void shopwrite2(link_shop LS) { FILE *fp; shop *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("shop.txt","at"); if(fp==NULL) printf(" ! "); for(p=LS->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s
    ",p->name,p->phone,p->address); printf("
    "); fclose(fp); return; } else printf(" "); } void userwrite(link_user LU) { FILE *fp; user *p; char a; // printf(" ?(Y/else)"); // scanf("%*c%c",&a); // if(a=='Y') // { fp=fopen("users.txt","wt"); if(fp==NULL) printf(" ! "); for(p=LU->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s %s %d
    ",p->name,p->delivery,p->password,p->number,p->score); printf("
    "); fclose(fp); return; // } //else //printf(" "); } void user_moneywrite(link_user LM) { FILE *fp; user *p; char a; // printf(" ?(Y/else)"); // scanf("%*c%c",&a); // if(a=='Y') // { fp=fopen("users.txt","wt"); if(fp==NULL) printf(" ! "); for(p=LM->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s %s %d
    ",p->name,p->delivery,p->password,p->number,p->score); //printf("
    "); fclose(fp); //return; // } //else //printf(" "); } void userwrite2(link_user LU) { FILE *fp; user *p; char a; printf(" ?(Y/else)"); scanf("%*c%c",&a); if(a=='Y') { fp=fopen("users.txt","at"); if(fp==NULL) printf(" ! "); for(p=LU->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s %s %d
    ",p->name,p->delivery,p->password,p->number,p->score); printf("
    "); fclose(fp); return; } else printf(" "); } void increaseshop(link_shop LS) { char a[30],b[20],c[15],d[20]; shop *s; printf(" :
    "); printf("\t\t● :"); scanf("%s",a); printf("
    \t\t● :"); scanf("%s",b); printf("
    \t\t● :"); scanf("%s",c); printf("
    \t\t● :"); scanf("%s",d); if(strcmp(a,"0")!=0) { s=(shop *)malloc(sizeof(shop)); strcpy(s->name,a); strcpy(s->phone,b); strcpy(s->address,c); strcpy(s->password,d); } s->next=LS->next; LS->next=s; shopwrite1(LS); } void shopfind(link_shop LS) { shop *p; char E[20]; p=LS->next; printf(" :"); scanf("%s",E); while(strcmp(p->name,E)!=0&&(p->next)!=NULL) { p=p->next; } if((p->next)==NULL) { printf(" "); return; } printf(" :
    \t \t
    "); printf("%s %s %s",p->name,p->phone,p->address); } void registerdeal() { int q; FILE *fp; char y; link_shop head; shop *r,*p; head=r=(shop *)malloc(sizeof(shop)); r->next=NULL; fp=fopen("shenqing.txt","rt"); if(fp==NULL) { printf(" , "); return; } if((y=fgetc(fp))==EOF) { printf("
    "); system("pause"); system("cls"); MENU1(); return; } else { while(!feof(fp)) { p=(shop *)malloc(sizeof(shop)); fscanf(fp," %s %s %s %s
    ",p->name,p->phone,p->address,p->password); r->next=p; p->next=NULL; r=p; } for(p=head->next;p!=NULL;p=p->next) printf("%s %s %s
    ",p->name,p->phone,p->address); printf(" ?Y/else"); scanf("%*c%c",&y); if(y=='Y') { fp=fopen("shop.txt","at"); if(fp==NULL) printf(" ,
    "); for(p=head->next;p!=NULL;p=p->next) fprintf(fp,"% s %s %s %s
    ",p->name,p->phone,p->address,p->password); fclose(fp); } } printf(" "); fp=fopen("shenqing.txt","wt"); fclose(fp); } void MENU1_choose() { int n,m,q; char a[20],b[20],c[20],d[20]; char y; FILE *fp,*fa; shop *p; shop sq; link_shop LS; link_user LU; LS=shopread(); while(1) { printf(" :
    "); scanf("%d",&n); if(n==1) { Outputshop(LS); printf(" ?Y/else"); fflush(stdin); y=getchar(); if(y=='Y') { system("cls"); printf("


    \t\t\t●1.
    "); printf("\t\t\t●2.
    "); scanf("%d",&m); if(m==1) name_sort(LS); if(m==2) address_sort(LS); printf("1. \t2. "); scanf("%d",&m); if(m==1) exit(0); else { system("cls"); MENU1(); continue; } } else { printf("
    "); system("cls"); MENU1(); } } if(n==2) { system("cls"); printf("


    \t\t\t☆【1】
    "); printf("\t\t\t☆【2】
    "); printf("\t\t\t☆【3】
    "); printf("\t\t\t☆【0】
    "); printf("
    \t\t :
    "); // while(1) { scanf("%d",&m); if(m==1) deleteshop(LS); if(m==2) increaseshop(LS); if(m==3) { LS=creats(); shopwrite1(LS); } if(m==4) shopfind(LS); if(m==0) { system("cls"); MENU1(); break; } } } if(n==3) registerdeal();// if(n==4) { //LU=userread(); system("cls"); printf("
    \t :

    "); printf("\t● ○ ● ○ ● ○ ●
    "); printf("\t 1.
    "); printf("\t○ 2. ○
    "); printf("\t 0.
    ");// printf("\t● ○ ● ○ ● ○ ●
    "); while(1) { scanf("%d",&m); if(m==1) { char d[20]; fa=fopen("admin.txt","rt"); fscanf(fa,"%s %s %s %s",a,b,c,d); fclose(fa); printf("
    \t\t \t \t
    "); printf("\t\t%s\t%s\t%s
    ",a,b,d); } if(m==2) { system("cls"); printf("
    , 0 (〃''〃)
    "); printf("
    \t\t● ○ ● ○ ● ○ ●
    "); printf("\t\t 1.
    "); printf("\t\t○ 2. ○
    "); printf("\t\t 3.
    ");// printf("\t\t● ○ ● ○ ● ○ ●
    "); scanf("%d",&q); if(q==1) { printf(" :
    "); scanf("%s",b); } if(q==2) { printf(" :
    "); scanf("%s",a); } if(q==3)// , { int j=0,h; char f[20],e[20]; fa=fopen("admin.txt","rt"); fscanf(fa,"%s %s %s %s",a,b,c,d); printf(" :
    "); scanf("%s",f); while(strcmp(f,c)!=0) { j++; printf("\t\t× , :"); scanf("%s",f); if(j==2) { printf("\t\t× , 1 , :"); scanf("%d",&j); if(j==1) { printf(" :"); scanf("%s",e); if(strcmp(e,d)==0) { srand((unsigned)time(NULL)); j=rand()%900+100; fp=fopen("yanzheng.txt","wt"); //fscanf(fp,"%d
    ",&j); fprintf(fp,"%d
    ",j); fclose(fp); printf(" , :"); scanf("%d",&h); if(h==j) { printf("\t\t√ :"); scanf("%s",c); break; } else { printf("\t\t×
    "); break; } } else { printf("\t\t×
    "); break; } } else { system("cls"); MENU(); return; } } } if(strcmp(c,f)==0) { printf(" :
    "); scanf("%s",c); } } if(q==1||q==2||q==3) { printf(" ?Y/else"); fflush(stdin); y=getchar(); if(y=='Y') { fa=fopen("admin.txt","wt"); fprintf(fa,"%s %s %s %s",a,b,c,d); fclose(fa); printf("\t\t√ "); } else printf("\t\t× "); system("pause"); system("cls"); printf("
    \t :

    "); printf("\t● ○ ● ○ ● ○ ●
    "); printf("\t 1.
    "); printf("\t○ 2. ○
    "); printf("\t 0.
    ");// printf("\t● ○ ● ○ ● ○ ●
    "); continue; } if(q==0) { system("cls"); printf("
    \t :

    "); printf("\t● ○ ● ○ ● ○ ●
    "); printf("\t 1.
    "); printf("\t○ 2. ○
    "); printf("\t 0.
    ");// printf("\t● ○ ● ○ ● ○ ●
    "); continue; } } if(m==0) { system("cls"); MENU1(); break; } } } if(n==5) { system("cls"); MENU1(); } if(n==0) { system("cls"); MENU(); break; } if(n!=1&&n!=2&&n!=3&&n!=4&&n!=5&&n!=0) { printf("\t\t∷"); Sleep(400); printf("∷"); Sleep(400); printf("∷"); Sleep(400); printf("
    "); } } } void MENU2_choose() { int n,m,q,i=0; char a[20],b[20]; char y; FILE *fp; user *u; food *p,*s,*r; link_food LF,Lf; LF=foodread(); link_user LU; // user user; while(1) { scanf("%d",&n); switch(n) { case 1: system("cls"); printf("

    \t\t\t :

    "); printf("\t\t\t--------------------
    "); printf("\t\t\t
    "); printf("\t\t\t--------------------
    "); printf("\t\t\t● 1.
    "); printf("\t\t\t● 2.
    "); printf("\t\t\t● 3.
    "); printf("\t\t\t● 4.
    "); printf("\t\t\t● 5.
    "); printf("\t\t\t● 6.
    "); printf("\t\t\t● 0.
    "); LU=userread(); u=LU->next; while(1) { if(strcmp(yh,u->name)==0) break; else u=u->next; } while(1) { scanf("%d",&m); if(m==1) { printf(" :
    "); scanf("%s",u->name); } if(m==2) { printf(" :
    "); scanf("%s",b); while(strcmp(u->password,b)!=0) { printf(" ,
    "); scanf("%s",b); i++; if(i==2) { printf(" , 5 "); continue; } } printf(" :"); scanf("%s",u->password); } if(m==3) { printf(" :"); scanf("%s",u->delivery); } if(m==4) { printf(" "); scanf("%s",u->number); } if(m==1||m==2||m==3||m==4) userwrite(LU); if(m==5) { printf(" :
    "); printf(" \t \t
    "); printf("%s\t%s\t%s
    ",u->name,u->delivery,u->number); } if(m==6) { u=addmoney(u); userwrite(LU); } if(m==0) { system("cls"); MENU2(); break; } } break; case 2: LF=dingdanread(); Outputfood(LF); break; case 3: LF=foodread(); system("cls"); outputfood(LF); p=LF->next; printf("\t● 1 , \t"); scanf("%d",&q); if(q==1) { purchase(); } else { system("cls"); MENU2(); continue; } break; case 4: LF=dingdanread(); p=LF->next; i=0; printf(" :"); scanf("%d",&n); while(p) { if(n==p->type) { if(strcmp(p->yonghu,yh)==0) { i=1; system("cls"); printf("

    "); printf("\t \t \t \t \t \t \t
    "); printf("\t%s\t%d\t%d\t%d\t%s\t%s

    ",p->name,p->price,p->amount,p->total,p->shop,p->yonghu); printf("\t\t○ 1.
    "); printf("\t\t○ 2.
    "); printf("\t\t○
    "); scanf("%d",&n); if(n==1) { end = time(NULL); if((difftime(end,start))<180) { printf(" ,
    "); printf(" :"); scanf("%d",&m); p->amount=m; p->total=(p->amount)*(p->price); dingdanwrite(LF); printf("\t\t√ "); } else { printf(" ,
    "); system("pause"); system("cls"); MENU2(); break; } } if(n==2) { deletedingdan(LF); dingdanwrite(LF); } else { system("pause"); system("cls"); MENU2(); break; } } if(strcmp(p->yonghu,yh)!=0) { printf("\t\t× ,
    "); i=2; system("pause"); system("cls"); MENU2(); break; } } else p=p->next; } if(i==0) { printf("\t\t×
    "); system("pause"); system("cls"); MENU2(); continue; } break; case 5: purchase(); break; case 6: system("cls"); printf("


    \t\t\t---------------
    "); printf("\t\t\t
    "); printf("\t\t\t---------------
    "); printf("\t\t\t△ 1. :
    "); printf("\t\t\t△ 2. :
    "); printf("\t\t\t△ 0.
    "); scanf("%d",&m); { LF=dingdanread(); if(m==1) dingdan_name_sort(LF); if(m==2) dingdan_total_sort(LF); if(m==0) { system("cls"); MENU2(); continue; } system("pause"); system("cls"); MENU2(); continue; } break; //dindan_name_sort(LF); case 0: system("cls"); MENU(); return; break; } } } void deletefood(link_food Lf) { int i=0; food *p,*n; p=Lf; n=p->next; char m[20]; char a; printf(" :"); scanf("%s",m); while(n) { if(strcmp(m,n->name)==0) { if(strcmp(n->shop,dp)==0) { i++; p->next=n->next; foodwrite1(Lf); } else printf(" ,
    "); break; } else { p=p->next; n=n->next; } } if(i==0) { printf(" ,
    "); return; } } void MENU3_choose() { int x,y; char a[20]; link_food LF,Lf; LF=foodread(); food *p; while(1) { printf(" :"); scanf("%d",&x); if(x==1) { creatf(); //foodwrite(LF); } if(x==2) { int i=0; printf(" :"); scanf("%s",a); //LF=foodread(); p=LF->next; while(p!=NULL) { if(strcmp(a,p->name)==0) { i++; if(strcmp(dp,p->shop)==0) { printf(" :
    "); printf("\t\t\t△ :"); scanf("%s",p->name); printf("\t\t\t△ :"); scanf("%d",&p->price); foodwrite1(LF); } else printf(" ,
    "); break; } p=p->next; } if(i==0) printf("\t\t×
    "); } if(x==3) { deletefood(LF); } if(x==4) { int sum=0; Lf=foodread(); p=Lf->next; system("cls"); printf("

    \t\t :"); printf("
    \t\t----------------------------------------
    "); printf("\t\t \t \t \t
    "); printf("\t\t----------------------------------------
    "); while(p) { if(strcmp(p->shop,dp)==0) { printf("\t\t%-14s%-10d%-12s%s
    ",p->name,p->price,p->shop,p->leibie); printf("\t\t----------------------------------------
    "); sum=sum+1; } p=p->next; } printf("\t\t / :\t\t\t%d
    ",sum); printf("\t\t----------------------------------------
    "); if(sum==0) printf("\t\t\t● ,
    "); system("pause"); system("cls"); MENU3(); } if(x==5) { LF=dingdanread(); scorefind(LF);// system("pause"); system("cls"); MENU3(); } if(x==0) { system("cls"); MENU(); break; } } } // void login() { int n,i=0,j=0; char a[10],c[10]; char b[15],d[15],f[10],e[20]; FILE *fp; char ch; system("cls"); MENU(); printf(" :"); while(1) { scanf("%d",&n); // if(n==1) { printf(" :"); scanf("%s",a); printf(" :"); while((ch=getch())!=13){ if(ch==8){ printf("\b \b"); i--; continue; } b[i++]=ch; putchar('*'); } b[i]='\0'; fp=fopen("admin.txt","rt"); if(fp==NULL) printf(" , "); fscanf(fp,"%s %s %s %s",f,c,d,e); fclose(fp); while(strcmp(a,c)!=0||strcmp(b,d)!=0) { printf("
    , :
    "); printf(" :"); scanf("%s",a); printf(" :"); i=0; while((ch=getch())!=13){ if(ch==8){ printf("\b \b"); i--; continue; } b[i++]=ch; putchar('*'); } b[i]='\0'; j++; if(j==2) { printf("
    ,
    "); system("pause"); system("cls"); MENU(); return; } } system("cls"); //system("color 03"); welcome(); printf("
    "); system("pause"); system("cls"); MENU1(); MENU1_choose(); } // if(n==2) { link_user LU; user *p; LU=userread(); p=LU->next; printf(" "); scanf("%s",yh); printf(" :"); i=0; while((ch=getch())!=13){ if(ch==8){ printf("\b \b"); i--; continue; } b[i++]=ch; putchar('*'); } b[i]='\0'; int i=0; while(p!=NULL) { if(strcmp(yh,p->name)==0&&strcmp(b,p->password)==0) { system("cls"); //system("color 0a"); //welcome(); printf("
    "); system("pause"); system("cls"); i++; MENU2(); MENU2_choose(); break; } p=p->next; } if(i==0) { printf("
    "); system("pause"); system("cls"); ME(); return; } } if(n==3) { link_shop LS; shop *p; j=0; LS=shopread(); p=LS->next; printf(" :"); scanf("%s",dp); printf(" "); i=0; while((ch=getch())!=13) { if(ch==8) { printf("\b \b"); i--; continue; } putchar('*'); b[i++]=ch; } b[i]='\0'; while(p!=NULL) { if(strcmp(dp,p->name)==0&&strcmp(b,p->password)==0) { system("cls"); //system("color 0a"); //welcome(); j++; printf("
    "); system("pause"); system("cls"); MENU3(); MENU3_choose(); break; } else p=p->next; } if(j==0) { printf("\t\t
    ×
    "); system("pause"); system("cls"); ME(); return; } } if(n==0) { system("cls"); ME(); break; } } } user * creatu() { char a[30],b[20],c[15],d[20]; char ca[20],mi1[20],mi2[20]; link_user LU,lu; FILE *fp; user *s,*r,*p; int x,y,i,h; LU=r=(user *)malloc(sizeof(user)); LU->next=NULL; printf(" :"); scanf("%s",a); lu=userread(); while(1) { i=0; p=lu->next; while(p) { if(strcmp(a,p->name)==0) { i++; printf("\t\t× , :"); scanf("%s",a); break; } else p=p->next; } if(i==0) break; } printf(" :"); scanf("%s",b); printf(" :"); scanf("%s",c); printf(" :"); scanf("%s",d); x=strlen(c); while(x<8) { printf("\t\t● 8 ,
    "); printf(" 1 , :"); scanf("%d",&y); if(y==1) { scanf("%s",c); x=strlen(c); } else break; } if(strcmp(b,"0")!=0) { s=(user *)malloc(sizeof(user)); s->score=0; strcpy(s->name,a); strcpy(s->delivery,b); strcpy(s->password,c); strcpy(s->number,d); r->next=s; s->next=NULL; r=s; printf(" , :"); scanf("%s",ca); h=strlen(ca); while(h<15) { printf("\t\t● 15 , :"); scanf("%s",ca); h=strlen(ca); } i=0; printf(" "); scanf("%s",mi1); printf(" "); scanf("%s",mi2); if(strcmp(mi1,mi2)!=0) { printf("\t\t× , "); return 0; } fp=fopen("yue.txt","at"); fprintf(fp,"%s %s %s
    ",a,ca,mi1); fclose(fp); } else { printf("\t\t× , :"); return 0; } return LU; } void Register() { int y; char a; FILE *fp; shop sq;// system("cls"); printf("


    \t\t\t\t1. \t\t\t2.
    "); printf("\t\t\t\t0. "); while(1) { printf("\t\t▲ :"); scanf("%d",&y); if(y==1)// { link_user LU; LU=creatu(); userwrite2(LU); } if(y==2) { printf(" :"); scanf("%s",sq.name); printf(" :"); scanf("%s",sq.phone); printf(" :"); scanf("%s",sq.address); printf(" :"); scanf("%s",sq.password); fp=fopen("shenqing.txt","at"); if(fp==NULL) { printf(" , "); return; } printf(" ?Y/else"); scanf("%*c%c",&a); if(a=='Y') { fprintf(fp," %s %s %s %s
    ",sq.name,sq.phone,sq.address,sq.password); fclose(fp); printf("\t\t√ , "); } else { printf("\t\t× "); fclose(fp); } } if(y==0) { system("cls"); printf("\t\tWELCOME
    , :"); printf("

    \t\t\t\t1. "); printf("\t\t\t\t2.
    "); break; } } } void choose() { int x; ME(); while(1) { scanf("%d",&x); if(x==1) login(); if(x==0) { Exit(); return; } if(x==2) Register(); } } int main() { choose(); }
    코드 가 좀 많 습 니 다.파일 과 파일 의 상호작용 을 사용 해 야 하기 때문에 전체 파일 이 있 습 니 다배달 관리 시스템
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기