c课设:快递包裹管理系统

您所在的位置:网站首页 快递收发系统需要多少钱一个 c课设:快递包裹管理系统

c课设:快递包裹管理系统

2024-07-08 22:51| 来源: 网络整理| 查看: 265

开始先进行初始化

struct Consumer { char name[20]; long tele; long num; char address[20]; int location; struct Consumer *next; }con[20]={{"huyi",135214632,1001,"addressone",1},{"wanger",135625365,1012,"addresstwo",1},{"zhangsan",156655987,1033,"addressthree",3},{"lisi",145263842,1048,"addressfour",8},{"sunwu",158935359,1082,"addressfive",9}};

 

//初始化程序// //***************************************************// head=&con[0]; for(i=0;inext; } while(p!=NULL); fclose(fp); }

我们可以通过read_the_file()查看文件中的信息

void read_the_file()//进行数据文件的读入操作 { FILE *fp1; int j=0; if((fp1=fopen("快递人员信息","r"))==NULL) { printf("cannot open file.\n"); return; } printf("\n所有快递的信息为:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); for (i=0;fread(&con[i],sizeof(struct Consumer),1,fp1)!=0;i++) { printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",con[i].name,con[i].tele,con[i].num,con[i].address,con[i].location); } printf("*******************************************************************************\n"); fclose(fp1); }

第一级选择界面,使用者可以根据自己的需求选择需要的模式

void selection()//选择界面 { int welcome; for(welcome=0;welcomename,&add->tele,&add->num,&add->address); add->location=1; struct Consumer *p0,*p1,*p2; p1=head; p0=add; if (head==NULL) { head=p0; p0->next=NULL; } else { while ((p0->num>p1->num)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->numnum) { if(head==p1) head=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } n=n+1; p=head; write_the_file(); return (head); } }

消费者取快递对应的是数据的删除

struct Consumer *consumer_del(struct Consumer *head )//消费者取快递 { long num; printf("Input the taken-out number :"); scanf("%ld",&num); struct Consumer *p1,*p2; if (head==NULL) { printf("\nlist null!\n"); return (head); } p1=head; while (num!=p1->num&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(num==p1->num) { if (p1==head) head=p1->next; else p2->next=p1->next; printf("taken-out::%ld\n",num); n=n-1; } else printf("%ld not been found !\n",num); for(i=0;inum&&p1->next!=NULL) { p1=p1->next; } if (num==p1->num) { printf("这是您要查询的信息:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); return; } else transition(); printf("数据库里没有您查找的快递信息\n请核实您输入是否有误!\n请在重启系统后再次查找!\n"); }

管理员通过输入密码123访问第二级选择界面(管理员选择界面),其中密码就是用简单的if语句实现

void password_right_selection()//当访问管理员选择目录时,进行密码的检验 { printf("请输入管理员密码:\n"); scanf("%d",&password); if(password==123) { transition(); printf("**密码正确!**\n"); transition(); administrator_mode(); } else { transition(); printf("**密码输入错误,重新访问系统!**\n");} }

管理员选择界面

void administrator_mode()//管理员选择界面 { int welcome;//第二级选择目录 for(welcome=0;welcomenext!=NULL) { p2=p1; p1=p1->next; } if(num==p1->num) { if (p1==head) head=p1->next; else p2->next=p1->next; printf("delete :%ld\n",num); n=n-1; } else printf("%ld not been found !\n",num); transition(); printf("数据库已更新为:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); p=head; do { printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p->name,p->tele,p->num,p->address,p->location); p=p->next; } while (p!=NULL); printf("*******************************************************************************\n"); p=head; write_the_file(); transition(); Revisit(); return (head); }

数据修改

void modify()//修改程序 { p=head; read_the_file(); printf("请输入需要修改信息的快递编号:\n"); long num; scanf("%ld",&num); transition(); struct Consumer *p1,*p2; p1=head; while (num!=p1->num&&p1->next!=NULL) { p2=p1; p1=p1->next; } if (num==p1->num) { printf("这是该快递的原始信息:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); printf("请输入修改后的内容:\n"); scanf("%s %ld %ld %s %d",&p1->name,&p1->tele,&p1->num,&p1->address,&p1->location); transition(); printf("这是修改后的内容:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); p=head; write_the_file(); transition(); printf("**修改成功!**\n"); } }

数据插入

struct Consumer *insert (struct Consumer *head )//管理员进行快递信息的录入 { struct Consumer *add; add=(struct Consumer*)malloc(LEN); printf("请按**姓名-电话号码-快递号-寄件地址-存储仓库**格式输入信息:\n"); scanf("%s %ld %ld %s %d",&add->name,&add->tele,&add->num,&add->address,&add->location); struct Consumer *p0,*p1,*p2; p1=head; p0=add; if (head==NULL) { head=p0; p0->next=NULL; } else { while ((p0->num>p1->num)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->numnum) { if(head==p1) head=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } n=n+1; p=head; write_the_file(); return (head); } }

总代码:

//欢迎使用快递包裹管理系统 //开始进行文件的初始化 //文件中原有的数据为: //******************************************************************************* //姓名 联系电话 快递单号 收件地址 所在仓库 //huyi 135214632 1001 addressone 1 //wanger 135625365 1012 addresstwo 1 //zhangsan 156655987 1033 addressthree 3 //lisi 145263842 1048 addressfour 8 //sunwu 158935359 1082 addressfive 9 //******************************************************************************* //注意:如果在第一级选择目录下输入0即关闭程序 //管理员登录密码是:123 //消费者寄出的快递会默认存放在1仓库,而后等待管理员根据寄往地区进行分配 #include #include #define LEN sizeof(struct Consumer) int n=5; int i=0,j=0; int choise; int password; void print_the_report();//打印报表 void transition();//加载条模拟 void firt_open();//打开时的欢迎界面 void loading_begin();//加载界面 void loading_begin_success();//加载成功的界面 void selection();//第一级选择目录 void Revisit();//欢迎再次访问系统 void out_port_right();//消费者取快递快递成功出库 void in_port_right();//消费者寄快递快递成功入库 void find_num();//通过快递号查询快递信息 void modify();//管理员修改信息 void administrator_mode();//管理员选择目录即第二级选择目录 void read_the_file();//文件的读取 void input_print_report();//打印修改后的内容 void write_the_file();//文件的写入 void password_right_selection();//当访问管理员选择目录时,进行密码的检验,简单表示 struct Consumer *source_insert (struct Consumer *head );//管理员进行插入插入操作 struct Consumer *p,*head;//贯穿全系统的很关键的两个结构体指针变量 struct Consumer *consumer_del(struct Consumer *head );//消费者取快递 struct Consumer *del(struct Consumer *head );//管理员进行数据的删除操作 struct Consumer *insert (struct Consumer *head);//消费者寄快递 struct Consumer { char name[20]; long tele; long num; char address[20]; int location; struct Consumer *next; }con[20]={{"huyi",135214632,1001,"addressone",1},{"wanger",135625365,1012,"addresstwo",1},{"zhangsan",156655987,1033,"addressthree",3},{"lisi",145263842,1048,"addressfour",8},{"sunwu",158935359,1082,"addressfive",9}}; int main() { //初始化程序// //***************************************************// head=&con[0]; for(i=0;iname,&add->tele,&add->num,&add->address); add->location=1; struct Consumer *p0,*p1,*p2; p1=head; p0=add; if (head==NULL) { head=p0; p0->next=NULL; } else { while ((p0->num>p1->num)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->numnum) { if(head==p1) head=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } n=n+1; p=head; write_the_file(); return (head); } } void read_the_file()//进行数据文件的读入操作 { FILE *fp1; int j=0; if((fp1=fopen("快递人员信息","r"))==NULL) { printf("cannot open file.\n"); return; } printf("\n所有快递的信息为:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); for (i=0;fread(&con[i],sizeof(struct Consumer),1,fp1)!=0;i++) { printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",con[i].name,con[i].tele,con[i].num,con[i].address,con[i].location); } printf("*******************************************************************************\n"); fclose(fp1); } void write_the_file()//进行数据的写入操作 { FILE *fp; if((fp=fopen("快递人员信息","w"))==NULL) { printf("can not open file."); return; } do { if(fwrite(p,sizeof(struct Consumer),1,fp)!=1) printf("error!\n"); p=p->next; } while(p!=NULL); fclose(fp); } void input_print_report()//打印修改后数据内容 { p=head; transition(); printf("当前数据库已更新为;\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); do { printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p->name,p->tele,p->num,p->address,p->location); p=p->next; }while (p!=NULL); printf("*******************************************************************************\n"); } void firt_open()//开始的欢迎界面 { int welcome; for(welcome=0;welcomenum)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->numnum) { if(head==p1) head=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } n=n+1; p=head; write_the_file(); return (head); } } struct Consumer *del(struct Consumer *head )//管理员进行数据的删除 { long num; printf("Input the deleted number :"); scanf("%ld",&num); struct Consumer *p1,*p2; if (head==NULL) { printf("\nlist null!\n"); return (head); } p1=head; while (num!=p1->num&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(num==p1->num) { if (p1==head) head=p1->next; else p2->next=p1->next; printf("delete :%ld\n",num); n=n-1; } else printf("%ld not been found !\n",num); transition(); printf("数据库已更新为:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); p=head; do { printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p->name,p->tele,p->num,p->address,p->location); p=p->next; } while (p!=NULL); printf("*******************************************************************************\n"); p=head; write_the_file(); transition(); Revisit(); return (head); } struct Consumer *consumer_del(struct Consumer *head )//消费者取快递 { long num; printf("Input the taken-out number :"); scanf("%ld",&num); struct Consumer *p1,*p2; if (head==NULL) { printf("\nlist null!\n"); return (head); } p1=head; while (num!=p1->num&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(num==p1->num) { if (p1==head) head=p1->next; else p2->next=p1->next; printf("taken-out::%ld\n",num); n=n-1; } else printf("%ld not been found !\n",num); for(i=0;inum&&p1->next!=NULL) { p1=p1->next; } if (num==p1->num) { printf("这是您要查询的信息:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); return; } else transition(); printf("数据库里没有您查找的快递信息\n请核实您输入是否有误!\n请在重启系统后再次查找!\n"); } void modify()//修改程序 { p=head; read_the_file(); printf("请输入需要修改信息的快递编号:\n"); long num; scanf("%ld",&num); transition(); struct Consumer *p1,*p2; p1=head; while (num!=p1->num&&p1->next!=NULL) { p2=p1; p1=p1->next; } if (num==p1->num) { printf("这是该快递的原始信息:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); printf("请输入修改后的内容:\n"); scanf("%s %ld %ld %s %d",&p1->name,&p1->tele,&p1->num,&p1->address,&p1->location); transition(); printf("这是修改后的内容:\n"); printf("*******************************************************************************\n"); printf("姓名\t 联系电话\t 快递单号\t 收件地址\t 所在仓库\t\n"); printf("%-10s\t %8ld\t %-10ld\t %-10s\t %10d\n",p1->name,p1->tele,p1->num,p1->address,p1->location); printf("*******************************************************************************\n"); p=head; write_the_file(); transition(); printf("**修改成功!**\n"); } } void transition()//加载条的模拟 { int i=0; for (i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3