ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:16.67KB ,
资源ID:525433      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-525433.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言大作业物流配送系统程序文件.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c语言大作业物流配送系统程序文件.docx

1、c语言大作业物流配送系统程序文件#include#include#include/日期struct date int year; int month; int day;/订单链表struct article char name20;/物品名称 int num1;/物品编号 char produce20;/产地 char dest20;/目的地 char mode20;/配送模式 int num2;/物品数量 float money;/配送金额 struct date deliver;/配送日期 struct article *next;/指向上一次添加的订单;struct article *h

2、ead;/存储订单信息int Recordcount;/订单数量/添加订单void add() system(cls);/清屏 struct article *p=NULL;/新建一个定单节点 p=(struct article*)malloc(sizeof(struct article);/为新建的订单节点分配内存空间 printf(请输入配送年份:); while(0 = scanf(%d,&p-deliver.year)/输入年份的规范性检查 while(n != getchar() printf(输入无效,请重新输入年份:); printf(请输入配送月份:); while(0 = s

3、canf(%d,&p-deliver.month) | (p-deliver.monthdeliver.month12)/输入月份的规范性检查 while(n != getchar() printf(输入无效,请重新输入月份:); printf(请输入配送日期:); scanf(%d,&p-deliver.day); printf(请输入物品名称:); scanf(%s,p-name); printf(请输入物品编号:); scanf(%d,&p-num1); printf(请输入物品出厂地:); scanf(%s,p-produce); printf(请输入物品配送地:); scanf(%s

4、,p-dest); printf(请输入配送方式:); scanf(%s,p-mode); printf(请输入配送个数:); scanf(%d,&p-num2); printf(请输入配送金额:); scanf(%f,&p-money); p-next=head;/将新建的订单加入订单链表 head=p;/链表头指向新添加的定单节点 Recordcount+;/订单数量加一 system(PAUSE);/显示指定订单的详细信息void myPrint(struct article *p) printf(%st,p-name); printf(%dt,p-num1); printf(%st,p

5、-produce); printf(%st,p-dest); printf(%st,p-mode); printf(%dt,p-num2); printf(%.2ft,p-money); printf(%d-%d-%dn,p-deliver.year,p-deliver.month,p-deliver.day);/显示所有的订单信息void show() system(cls); /遍历订单链表 struct article *p=NULL; printf(*n); printf(名称t编号t产地t目的地t模式t数量t金额t日期n); for(p=head;p!=NULL;p=p-next)

6、myPrint(p); printf(*n);/查找订单void search() system(cls); char namesea30;/名称 int type;/编号 int choice; struct article *p=NULL; printf(1按姓名查找n2按编号查找n ); printf(请输入你的选择:); /scanf(%d,&choice); while(0 = scanf(%d,&choice) | (choice!=1 & choice!=2)/输入选择的规范性检查 while(n != getchar() printf(输入无效,请重新选择:); if(choi

7、ce=1)/按物品名称查找订单 printf(请输入物品名称:); scanf(%s,namesea); for(p=head;p!=NULL;p=p-next) if(strcmp(p-name,namesea)=0)/找到订单,输出其详细信息 printf(*n); printf(名称t编号t产地t目的地t模式t数量t金额t日期n); myPrint(p); printf(*n); else/按物品编号查找订单 printf(请输入物品编号n ); scanf(%d,&type); for(p=head;p!=NULL;p=p-next) if(p-num1=type)/找到订单,输出其详

8、细信息 printf(*n); printf(名称t编号t产地t目的地t模式t数量t金额t日期n); myPrint(p); printf(*n); system(PAUSE);/根据物品名称修改对应订单信息void change() char name30; system(cls); struct article *p=NULL; printf(请输入要更改物品的名称:n); scanf(%s,name); /遍历订单链表,找到对应的订单 for(p=head;p!=NULL;p=p-next) if(strcmp(p-name,name)=0)/找到对应的订单,重新输入其信息 printf

9、(请输入配送年份:); while(0 = scanf(%d,&p-deliver.year)/输入年份的规范性检查 while(n != getchar() printf(输入无效,请重新输入年份:); printf(请输入配送月份:); while(0 = scanf(%d,&p-deliver.month) | (p-deliver.monthdeliver.month12)/输入月份的规范性检查 while(n != getchar() printf(输入无效,请重新输入月份:); printf(请输入配送日期:); scanf(%d,&p-deliver.day); printf(请

10、输入物品名称:); scanf(%s,p-name); printf(请输入物品编号:); scanf(%d,&p-num1); printf(请输入物品出厂地:); scanf(%s,p-produce); printf(请输入物品配送地:); scanf(%s,p-dest); printf(请输入配送方式:); scanf(%s,p-mode); printf(请输入配送个数:); scanf(%d,&p-num2); printf(请输入配送金额:); scanf(%f,&p-money); system(pause);/根据物品名称和配送金额删除对应订单信息void delete_r

11、ec() system(cls); char name20; float money; int choice; struct article *p=NULL,*q=NULL; p=head; q=head; printf(请输入要删除的物品名称:); scanf(%s,name); printf(请输入金额:); scanf(%f,&money); for(;q!=NULL;q=q-next) if(head-money=money)&(strcmp(head-name,name)=0)/要删除的订单为订单列表中的第一个订单 printf(*n); printf(名称t编号t产地t目的地t模式

12、t数量t金额t日期n); myPrint(q); printf(*n); printf(确认删除?n 1是n 2否n); /scanf(%d,&choice); while(0 = scanf(%d,&choice) | (choice!=1 & choice!=2)/输入选择的规范性检查 while(n != getchar() printf(输入无效,请重新选择:); if(choice=1)/删除 head=q-next; Recordcount-; else break;/取消删除 else/要删除的订单不是订单列表中的第一个订单 if(q-money=money)&(strcmp(q

13、-name,name)=0)/找到对应的订单进行删除 printf(*n); printf(名称t编号t产地t目的地t模式t数量t金额t日期n); myPrint(q); printf(*n); printf(确认删除?n 1是n 2否n); /scanf(%d,&choice); while(0 = scanf(%d,&choice) | (choice!=1 & choice!=2)/输入选择的规范性检查 while(n != getchar() printf(输入无效,请重新选择:); if(choice=1)/删除 p-next=q-next; Recordcount-; else b

14、reak;/取消删除 /存储订单链表到文件void logistic() char ch; char file_head=*n名称t编号t产地t目的地t模式t数量t金额t日期n; char file_tail=*n; FILE *fp; if(fp=fopen(.record.txt/*filename*/,w)=NULL) printf(无法打开文件n); exit(0); fputs(file_head,fp);/写入文件头 struct article *p=NULL; for(p=head;p!=NULL;p=p-next)/遍历订单链表,将各个订单信息逐次写入文件 fputs(p-n

15、ame,fp); fprintf(fp,t%dt,p-num1); fputs(p-produce,fp); fprintf(fp,t,); fputs(p-dest,fp); fprintf(fp,t,); fputs(p-mode,fp); fprintf(fp,t%dt,p-num2); fprintf(fp,%.2ft,p-money); fprintf(fp,%d-%d-%dn,p-deliver.year,p-deliver.month,p-deliver.day); fputs(file_tail,fp); rewind(fp); fclose(fp); printf(所有订单信

16、息已经存入ecord.txt文件中!n);/打印主菜单void menu() system(cls); printf(*n); printf(欢迎使用物流配送管理系统n); printf(*n); printf(1:添加记录n); printf(2:显示记录n); printf(3:存储记录n); printf(4:查询记录n); printf(5:更改记录n); printf(6:删除记录n); printf(7:退出n);void main() int n,b=1,s; struct article *head=NULL; void add(); void show(); void log

17、istic(); void search(); void change(); void delete_rec(); void menu(); while(b=1) menu(); printf(请输入您的选择:n); while(0 = scanf(%d,&n) while(n != getchar() printf(输入无效,请重新输入!n); switch(n)/系统功能调用 case 1: add();break; case 2: show();break; case 3: logistic();break; case 4: search();break; case 5: change();break; case 6: delete_rec();break; case 7: exit(0);break; default :printf(errorn); printf(是否返回主菜单? 0是 1否n); while(0 = scanf(%d,&s) | (s!=0 & s!=1) while(n != getchar() printf(输入无效!n); b=b+s;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2