(仓库管理)数据结构课程设计报告(有代码C语言)仓库管理系统_第1页
(仓库管理)数据结构课程设计报告(有代码C语言)仓库管理系统_第2页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一早系统目标(三号楷体加粗)仓库管理应用程序系统可以实现信息多次追加入录、信息显示、删除信息、修改信 息、查询信息、价格升序等基本功能,这些功能模块都用函数的形式 来实现。学生信息保存在文件中,需要时可以随时从文件中读取出来。 方便用户随时可查询。进行仓库管理。第二章 系统分析(三号楷体加粗)正文(四号楷体)明确用户的需求,如操作界面需求,系 统功能需求,数据的 具体流程等。开始运行时界面如下:你可以根据所对应的信息提示进行操作便可对其进行数据的记录 与查询第三章系统设计化表妳黄除壽脣岀岀初数插删更查升保读退1HH徵, ,12123 3 4-4-3 3 4 4 5 5 6 6 7 7 wr

2、wr0-0-2提示按任意键,便可返回界面输入数据初始化清空记录数据删除数据插入单价升序数据更新数据查询提示“输入错误”按任意键可以继续3第四章系统实现正文(四号楷体)给出具体的实现环境(如用什么语言?在什么操作系统?)用 C 语言编程,用 cokeblock 编译器,在 windows xp 操作系统 下编译成功。给出主函数和每个算法的实现代码。#in clude#in clude#in clude#in clude #i ncludevstri ng.h #define SIZE 100typedef struct char n ame10; char fam10; int pay;int

3、num; Store;typedef struct nodeStore elem;struct node *next;In;In *head=NULL;void appendInfo();4void List();void menu(void);In*Init();void Start();void Insert();void Del();void renew();void Wsave();void Read();void SortUp();void PreFile();int main()char select;PreFile();menu();while(select=toupper(ge

4、tch()!=0) system(cls); switch(select)case 1 :Start();system(pause);menu(); break;case 2:appendInfo();system(pause);menu();break;case 3:Insert();system(pause);menu(); break;case 4:Del();system(pause);menu(); break;case 5:renew();system(pause);menu();break;case 6:List();system(pause);menu(); break;cas

5、e 7:5SortUp();system(pause);menu();break;case W:Wsave();system(pause);menu();break;case R:Read();system(pause);menu();break;default:printf(Input error!n);system(pause); menu(); break;return 0;In*Init()In*L;L=(In*)malloc(sizeof(In);L-next=NULL;return L;void appendInfo()int i,j;In*p,*s;A1:printf( 请输入要

6、存放的记录数 :);scanf(%d,&j);if(jnext; while(p-next!=NULL)p=p-next;for(i=0;);scanf(%s,&s-elem.fam);scanf(%d,&s-elem.pay);scanf(%d,&s-elem.num); p-next=s;p=s;void List()In *p;if(head=NULL)printf(None of information products.n);return;elsep=head-next;printf( 名称 品牌 单价 数量 n); while(p

7、!=NULL)printf(%st%st%dt%dn,,p-elem.fam,about7p-elem.pay,p-elem.num); p=p-next;void menu() system(cls); printf(|-printf(-|n);printf(-|n);|-|家电仓库管理请输入选项编号|n);|-printf(-|n);printf(|1- 数据初始化|n);printf(|2- 创建数据表|n);printf(|3- 数据插入|n);printf(|4- 数据删除|n);printf(|5- 数据更新|n);printf(|6- 数据查询|n);pri

8、ntf(|7- 单价升序|n);printf(|w- 数据保存|n);printf(|r- 数 据读 出|n);printf( |0- 系统退出 (exit)|n);printf(|-|n);printf( 请输入你的选择 :);void Start()char com;8printf( 你想清空所有资料吗?( Y/N ):);fflush(stdin);com=getchar();if(com=Y|com=y)printf( 已经初始化了、 n);head=NULL;return;else printf(资料仍在、n);return ;void Insert()In*pi,*p;char s

9、tr10;printf( 请问要在哪个学生后面插入(输入姓名) :);fflush(stdin);gets(str);pi=Init();printf( 名称 品牌 单价 数量 n);scanf(%s,&);scanf(%s,&pi-elem.fam);scanf(%d,&pi-elem.pay);scanf(%d,&pi-elem.num);if(head=NULL)printf( 前面没有数据,默认接在表头p=Init();head=p;p-next=pi;elsep=head-next;while(strcmp(p-elem.nam

10、e,str)!=0)&p-next!=NULL)p=p-next;if(p-next!=NULL) pi-next=p-next; p-next=pi;else p-next=pi;void Del()In*pi,*p,*s;n);9char str10;if(head=NULL)printf( 没有商品资料。 n); return;printf( 请输入要删除产品的名称: );fflush(stdin);gets(str);p=head-next;while(strcmp(,str)!=0)&p-next!=NULL)pi=p;p=p-next;if(s

11、trcmp(,str)=0)printf( 所删除的记录为: n);printf(%st%st%dt%dn,,p-elem.fam,p-elem.pay,p-elem.num);if(p=head-next)s=Init();head=s;s-next=p-next;elsepi-next=p-next;free(p);else printf( 找不到相应的商品资料。 n);void renew()In*pi,*p,*s;char str10;if(head=NULL)printf( 没有商品资料。 n);return;List();printf(

12、请输入要更新产品的名称: );fflush(stdin);gets(str);p=head-next;10while(strcmp(,str)!=0)&p-next!=NULL) pi=p;p=p-next;if(strcmp(,str)=0)printf( 所要更新的记录为: n);printf(%st%st%dt%dn,,p-elem.fam,p-elem.pay,p-elem.num);printf( 品牌 单价 数量 n); scanf(%s,&p-elem.fam);scanf(%d,&p-el

13、em.pay);scanf(%d,&p-elem.num);printf( 更新后的记录为: n);printf(%st%st%dt%dn,,p-elem.fam,p-elem.pay,p-elem.num);else printf( 找不到相应的商品资料。 n);void Wsave()FILE*fp;In*p;if(head=NULL)printf( 你还未有资料。 );return;if(fp=fopen(store.dat,wb)=NULL) printf(Cannotopen file!n);elsefor(p=head-next;p!=NULL;p=p

14、-next)if(fwrite(p,sizeof(In),1,fp)!=1) printf(File writeerror!n);printf(ttt 保存成功。 nn);fclose(fp);void Read()In*p;FILE*fp;11if(head=NULL)printf( 你还未有资料。 );return;if(fp=fopen(store.dat,rb)=NULL) printf(CannotOpen.);return;for(p=head-next;p!=NULL;p=p-next) p=Init();fread(p,sizeof(In),1,fp);printf(%st%s

15、t%dt%dn,,p-elem.fam,p-elem.pay,p-elem.num);printf(nttt 读取成功 n);fclose(fp);void SortUp()In*p1,*p2,*p3;p3=(In*)malloc(sizeof(In);if(head=NULL)printf( 没有记录,无法排序。 );return;for(p1=head-next;p1-next!=NULL;p1=p1-next)for(p2=p1-next;p2!=NULL;p2=p2-next)if(p1-elem.payp2-elem.pay) p3-elem=p1-elem;p

16、1-elem=p2-elem; p2-elem=p3-elem;printf(n 已经排序好了。 n);List();void PreFile()int Flag=0;In *he,*p,*q;FILE *fp;if(fp=fopen(store.dat,ab+)=NULL)printf(Openfileerror!n); exit(0);he=Init();12q=he;p=Init();he-next=p;for(;fread(p,sizeof(In),1,fp)!=0;p=Init()he-next=p;he=p;p-next=NULL;Flag=1; if(Flag)head二q; e

17、lse head二NULL ; fclose(fp);第五章系统测试正文(四号楷体)模拟一组数据,通过多次运行,测试系统的每一个功能,给 出测试运行结果例如:1.先输入:6 就会读出原本已保存的文件的记录。2. 按任意键后,就会弹出原有界面3. 输入:3 后按提示做插入操作4. 再按任意键后,会弹出原有界面5. 再输入:6 后界面就变为如下:136.再输入:7 后界面就变为7.再输入:2,即再在后面添加数据。8.再输入:6 后界面就变为如下:即添加到了数据后面。这也已经默认了添加时是接在原有文件的后 面。9.再输入:w 或 W 时,保存成功请按任意键继续10.关闭界面,重新运行时。输入:6 或 R 或 r 时,运行结果 为:14J i-TB-T媳:迸:銅蕊归卫丙8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论