C 언어 배달 관리 시스템 구현
내용.
설명(쓸데없는 소리):지난 학기 에 쓴 과정 디자인 의 주 제 는 배달 관리 시스템 입 니 다.인터넷 주문,가게 업무,전담자 관리 과정 을 모 의 할 수 있 기 를 바 랍 니 다.그리고 등록 과 로그 인 및 기본 정보의 수출 을 실현 합 니 다.개인 이 게 을 러 서 정리 하지 못 했 습 니 다.오늘 시간 이 나 면 여러분 의 소중 한 의견 을 얻 으 면 영광 입 니 다.
중점 내용
『8195』3 단 로그 인:각각 관리자,사용자 와 가게 주인 입 니 다.양쪽 의 등록 은 각각 사용자 와 점포 로 그 중에서 가게 의 등록 성공 은 관리자 의 심 사 를 받 아야 한다.
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();
}
코드 가 좀 많 습 니 다.파일 과 파일 의 상호작용 을 사용 해 야 하기 때문에 전체 파일 이 있 습 니 다배달 관리 시스템이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 구현 천둥 제거 게임 상세 정보먼저 작은 메뉴를 표시하고 게임을 할지 여부를 선택하십시오.사용자가 종료를 선택하면 프로그램 실행이 끝나고, 사용자가 게임을 선택하면 지뢰 제거 위치 좌표를 입력하라는 메시지가 표시됩니다.사용자가 입력한 좌표가 바둑...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.