快递管理系统
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct _USER
{
char id[20];//账号
char code[20];//密码
char name[20];//收货人
char addr[20];//收货地址
}USER;
USER user[100];
int user_num=0;
typedef struct _EXPRESS
{
int no;//运单编号
char to_name[20];//收货人
char to_tel[20];//收货人号码
char from_name[20];//发货人
char style[20];//运单种类
char com[20];//承运公司
}EXPRESS;
EXPRESS exp[100];
int exp_num=0;
/*保存到文件*/
void Save_Exp()
{
int i;
FILE* fp=fopen("expinfo.dat","w+");
if(fp==NULL)
{
return ;
}
for(i=0;i<exp_num;i++)
{
fwrite(&exp[i],sizeof(EXPRESS),1,fp);
}
fclose(fp);
}
/*加载文件*/
void Open_Exp()
{
FILE* fp=fopen("expinfo.dat","r+");
if(fp==NULL)
{
exp_num=0;
return;
}
while(fread(&exp[exp_num],sizeof(EXPRESS),1,fp))
{
exp_num++;
}
fclose(fp);
}
/*保存到文件*/
void Save_User()
{
int i;
FILE* fp=fopen("userinfo.dat","w+");
if(fp==NULL)
{
return ;
}
for(i=0;i<user_num;i++)
{
fwrite(&user[i],sizeof(USER),1,fp);
}
fclose(fp);
}
/*加载文件*/
void Open_User()
{
FILE* fp=fopen("userinfo.dat","r+");
if(fp==NULL)
{
user_num=0;
return ;
}
while(fread(&user[user_num],sizeof(USER),1,fp))
{
user_num++;
}
fclose(fp);
}
void display_Exp(EXPRESS arr[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%10d",arr[i].no);
printf("%10s",arr[i].to_name);
printf("%10s",arr[i].from_name);
printf("%10s\n",arr[i].com);
}
}
void Send_Exp(int who)
{
system("cls");
strcpy(exp[exp_num].from_name,user[who].name);
printf("请输入运单编号:");
scanf("%d",&exp[exp_num].no);
printf("请输入收货人:");
scanf("%s",exp[exp_num].to_name);
printf("请输入收货号码:");
scanf("%s",exp[exp_num].to_tel);
printf("请输入运单种类:");
scanf("%s",exp[exp_num].style);
printf("请输入承运公司:");
scanf("%s",exp[exp_num].com);
printf("运单创建成功!\n");
system("cls");
exp_num++;
}
void Serach_Name()
{
int i;
char temp[20];
system("cls");
printf("请输入要查询的取件人姓名:");
scanf("%s",temp);
printf("%10s%10s%10s%10s\n","运单编号","收货人","发货人","承运公司");
for(i=0;i<exp_num;i++)
{
if(!strcmp(temp,exp[i].to_name))
{
Display_Exp(&exp[i],1);
}
}
system("pause");
}
void Serach_No()
{
int i;
int temp;
system("cls");
printf("请输入要查询的快件单号:");
scanf("%d",&temp);
printf("%10s%10s%10s%10s\n","运单编号","收货人","发货人","承运公司");
for(i=0;i<exp_num;i++)
{
if(temp==exp[i].no)
{
Display_Exp(&exp[i],1);
}
}
system("pause");
}
void Modify(int who)
{
USER temp;
char chioce[20];
strcmp(temp.id,user[who].id);
system("cls");
printf("请输入新登录密码:");
scanf("%s",temp.code);
printf("请输入新收货人:");
scanf("%s",temp.name);
printf("请输入新收货地址:");
scanf("%s",temp.addr);
printf("确认修改?(Y/N):");
scanf("%s",chioce);
if(!strcmp(chioce,"Y")||!strcmp(chioce,"y"))
{
user[who]=temp;
printf("修改成功!\n");
}
else
{
printf("已取消修改!\n");
}
system("pause");
}
int Reg()
{
int i;
system("cls");
printf("请输入登录账号:");
scanf("%s",user[user_num].id);
printf("请输入登录密码:");
scanf("%s",user[user_num].code);
for(i=0;i<user_num;i++)
{
if(!strcmp(user[i].id,user[user_num].id))
{
printf("登陆成功!\n");
return i;
}
}
printf("登陆失败!账号或密码错误!\n");
system("pause");
return -1;
}
void Login()
{
int i;
system("cls");
printf("请输入申请账号:");
scanf("%s",user[user_num].id);
for(i=0;i<user_num;i++)
{
if(!strcmp(user[i].id,user[user_num].id))
{
printf("账号重复,注册失败!");
system("pause");
return ;
}
}
printf("请输入登录密码:");
scanf("%s",user[user_num].code);
printf("请输入收货人:");
scanf("%s",user[user_num].name);
printf("请输入收货地址:");
scanf("%s",user[user_num].addr);
printf("注册成功!\n");
user_num++;
system("pause");
}
void Get_Exp(int who)
{
int i,temp,j;
system("cls");
printf("请输入要签收的快件单号:");
scanf("%d",&temp);
for(i=0;i<exp_num;i++)
{
if(temp==exp[i].no)
{
break;
}
}
if(i==exp_num)
{
printf("无该快件号信息!\n");
return ;
}
if(strcmp(user[who].name,exp[i].to_name))//如果用户和收件人不一致
{
printf("该快件收件人非当前用户!取件失败!\n");
}
for(j=i;j<exp_num;j++)
{
exp[j]=exp[j+1];
}
printf("取件成功!");
system("pause");
}
int Main_Menu()
{
int chioce;
system("cls");
printf("1:登录\n");
printf("2:注册\n");
printf("0:退出\n");
printf("请输入选择:");
scanf("%d",&chioce);
while(chioce<0||chioce>2)
{
printf("选择错误,重新输入:");
scanf("%d",&chioce);
}
return chioce;
}
int User_Menu()
{
int chioce;
system("cls");
printf("1:修改账号信息\n");
printf("2:快件签收\n");
printf("3:按收货人查询快件\n");
printf("4:按单号查询快件\n");
printf("5:发送快件\n");
printf("0:退出\n");
printf("请输入选择:");
scanf("%d",&chioce);
while(chioce<0||chioce>5)
{
printf("选择错误,重新输入:");
scanf("%d",&chioce);
}
return chioce;
}
int main()
{
int chioce1,flag=-1,chioce2;
Open_Exp();
Open_User();
do
{
flag=-1;
chioce1=Main_Menu();
switch(chioce1)
{
case 1:
flag=Reg();
break;
case 2:
Login();
break;
}
if(flag !=-1 )//说明登录成功
{
chioce2=User_Menu();
switch(chioce2)
{
case 1:
Modify(flag);
break;
case 2:
Get_Exp(flag);
break;
case 3:
Serach_Name();
break;
case 4:
Serach_No();
break;
case 5:
Send_Exp(flag);
break;
}
}
}while(chioce1!=0);
Save_Exp();
Save_User();
return 0;
}
相关阅读
前言 笔者从学校做兼职到工作这些年已经开发了或者参与开发了十多套后台管理系统(后面简称BMS),而使用过的BMS就不计其数了。多数情
供应链管理系统是最早期面向企业的软件解决方案之一,供应商管理又是供应链链条中的上游部分。正值To B话题的热点,本文跟大家分享一
淘宝卖家,既然选择刷单,那么一个环节必不可少,那就是淘宝刷单物流怎么办。那么其中会出现很多问题,,怎么填写淘宝刷单运单号?发空包用
这样的广告,我相信你肯定看到过吧。高额的回报,简单的付出。 每天随随便便就能挣几十块钱,甚至。几百块钱!这简直是每一个人的美梦。
目前是流量为王的时代,有流量就意味着有营收,看到了行业的未来。人口聚集必有消费,这也是大家所推崇的流量为王。流量始终是各行各业