数据结构课程设计Word文件下载.docx

上传人:b****1 文档编号:2968815 上传时间:2023-05-01 格式:DOCX 页数:24 大小:106.98KB
下载 相关 举报
数据结构课程设计Word文件下载.docx_第1页
第1页 / 共24页
数据结构课程设计Word文件下载.docx_第2页
第2页 / 共24页
数据结构课程设计Word文件下载.docx_第3页
第3页 / 共24页
数据结构课程设计Word文件下载.docx_第4页
第4页 / 共24页
数据结构课程设计Word文件下载.docx_第5页
第5页 / 共24页
数据结构课程设计Word文件下载.docx_第6页
第6页 / 共24页
数据结构课程设计Word文件下载.docx_第7页
第7页 / 共24页
数据结构课程设计Word文件下载.docx_第8页
第8页 / 共24页
数据结构课程设计Word文件下载.docx_第9页
第9页 / 共24页
数据结构课程设计Word文件下载.docx_第10页
第10页 / 共24页
数据结构课程设计Word文件下载.docx_第11页
第11页 / 共24页
数据结构课程设计Word文件下载.docx_第12页
第12页 / 共24页
数据结构课程设计Word文件下载.docx_第13页
第13页 / 共24页
数据结构课程设计Word文件下载.docx_第14页
第14页 / 共24页
数据结构课程设计Word文件下载.docx_第15页
第15页 / 共24页
数据结构课程设计Word文件下载.docx_第16页
第16页 / 共24页
数据结构课程设计Word文件下载.docx_第17页
第17页 / 共24页
数据结构课程设计Word文件下载.docx_第18页
第18页 / 共24页
数据结构课程设计Word文件下载.docx_第19页
第19页 / 共24页
数据结构课程设计Word文件下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计Word文件下载.docx

《数据结构课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计Word文件下载.docx(24页珍藏版)》请在冰点文库上搜索。

数据结构课程设计Word文件下载.docx

string.h>

malloc.h>

#definemax32

intifempty=0;

//标志,判断链表是无否为空

typedefstructdnode//定义双向链表结构体

{

intnumber;

//货物编号

charname[max];

//货物名称

intcounter;

//货物数量

intprice;

//货物的价格

intt_price;

//总价

structdnode*prior,*next;

//定义两指针,分别指向其前驱和后继

}dlnode;

//函数源头说明

dlnode*create(dlnode*L);

dlnode*input(dlnode*L);

dlnode*output(dlnode*L);

dlnode*outnum(dlnode*L);

dlnode*outname(dlnode*L);

dlnode*current(dlnode*L);

dlnode*modify(dlnode*S);

voidquit(dlnode*S);

voidsearch(dlnode*L);

voidprint(dlnode*L);

voidsearchnum(dlnode*L);

voidsearchname(dlnode*L);

voiddisplay(dlnode*L);

voidxianshi(dlnode*L,dlnode*S);

voidmain()

intx;

dlnode*L,*S,*Q;

if(!

(L=(dlnode*)malloc(sizeof(dlnode))))//分配空间

{

printf("

\n"

);

exit

(1);

}

create(L);

///调用函数,创建头节点

(S=(dlnode*)malloc(sizeof(dlnode))))//分配空间

create(S);

while

(1)

{////////////////////////主菜单///////////////////////////

*****************************\n"

1.货物出库和入库\n"

2.查找货物表\n"

printf("

3.修改货物表\n"

4.缺货登记\n"

5.货物信息显示\n"

0.退出\n"

选择0--5:

"

scanf("

%d"

&

x);

switch(x)

case2:

search(L);

break;

//调用查找函数

case1:

current(L);

//调用入库出库函数

case3:

quit(L);

//调用修改函数

case4:

Q=modify(S);

//调用修改函数

case5:

xianshi(L,Q);

//调用函数

case7:

print(L);

//调用打印函数

case0:

printf("

\n谢谢使用!

exit(0);

//退出程序

default:

\n请输入0—4选择!

getchar();

getchar();

}

voidxianshi(dlnode*L,dlnode*Q)

{

inta;

=====================\n"

1.显示库内货物信息\n"

2.显示缺货信息\n"

====================\n"

a);

if(a==1)

display(L);

else

display(Q);

dlnode*create(dlnode*L)//创建链表头节点

欢迎使用我的仓库管理系统\n"

ifempty=0;

///////初始化头节点的值////////

L->

next=NULL;

L->

prior=NULL;

number=L->

counter=0;

strcpy(L->

name,"

"

returnL;

voidquit(dlnode*L)///查找的主要菜单

intnum,flag=0;

//flag为是否找到的标志

dlnode*head=L;

if(ifempty==0)

没有货物被输入\n"

return;

输入你要修改的货物编号:

num);

while((L=L->

next)!

=head)

if(L->

number==num)

{flag=1;

//flag为1时表示找到

找到指定编号货物\n"

\n编号:

%d\n"

L->

number);

名称:

%s\n"

name);

数量:

counter);

printf("

价格:

price);

总价:

%d\n\n"

t_price);

输入新货物信息:

\n\n"

编号:

scanf("

%s"

name);

}

print(head);

if(flag==0)//flag为0时表示没有找到

没有找到指定编号货物,请查看是否还有货物。

voidsearch(dlnode*L)///查找的主要菜单

inty;

没有输入货物!

1.按编号查询\n"

2.按货物名称查询\n"

0.返回上一层\n"

选择0--2:

y);

switch(y)

searchnum(L);

//调用按编号查找的函数

searchname(L);

//调用按名称查找的函数

return;

//返回

输入有错!

请从0--2中选择!

voidsearchnum(dlnode*L)//按编号查找的函数

//flag为是否找到的标志

输入你要查找的货物编号:

voidsearchname(dlnode*L)//按名称查找的函数

intflag=0;

charna[32];

输入你要查找的货物名称\n"

na);

if(strcmp(L->

name,na)==0)

找到指定名称货物\n"

dlnode*modify(dlnode*S)

{inty;

========================\n"

1.添加缺货信息\n"

选择0--1:

input(S);

//调用入库函数

return(S);

//返回上一层

输入错误!

请从0--1中选择!

dlnode*current(dlnode*L)//货物出库入库函数

1.货物入库\n"

2.货物出库\n"

input(L);

output(L);

//调用出库函数

return(L);

dlnode*input(dlnode*L)//定义入库函数

dlnode*in,*head;

head=in=(dlnode*)malloc(sizeof(dlnode));

//分配空间

head=L;

\n请输入货物数据:

in->

next==NULL)//如果只有头节点,

{//把刚输入的in节点

next=in;

//跟在头节点后面

prior=in;

in->

next=L;

prior=L;

ifempty++;

//ifempty加1

{//如果当前L的下一个节点不是头节点

{//如果输入的数大于L->

number,则插到L的前面

number<

number)

prior=L->

prior;

prior->

return(head);

//输入的编号比其它编号都小,则插到最后个节点,并首尾相连

head->

prior=head->

next=head;

returnhead;

dlnode*output(dlnode*L)//出库的函数

if(ifempty==0)//检测是否有货物输入

没有货物输入系统\n"

=============\n"

1.按编号出库\n"

2.按名称出库\n"

==============\n"

outnum(L);

//调用按编号出库函数

outname(L);

//调用按名称出库函数

entererror!

Pleaseinput0--2!

}

dlnode*outnum(dlnode*L)//按编号出库函数

intnum;

请输入出库货物的编号:

{//如果找到就删除节点

next=L->

next;

next->

ifempty--;

//ifempty减1

编号为%d的货物成功出库"

num);

print(head);

没有此编号的货物,请查看是否还有货物。

return(head);

dlnode*outname(dlnode*L)//按名称出库函数

请输入出库货物的名称:

名称为%s的货物成功出库"

na);

没有此名称的货物,请查看是否还有货物。

voiddisplay(dlnode*L)//显示货物清单

没有货物可显示\n"

L=L->

do

{

}while((L=L->

=head);

voidprint(dlnode*L)//把信息输入文件

charfilename[max]="

d:

\\information.txt"

;

FILE*out;

没有货物可输出\n"

if((out=fopen(filename,"

w"

))==NULL)

打开文件失败!

do{

fprintf(out,"

编号:

%d\n名称:

%s\n数量:

%d\n价格:

%d\n总价:

number,L->

name,L->

counter,L->

price,L->

信息以输入到文件中!

fclose(out);

【调试分析】:

主菜单页面

1、选择1的货物出库和入库选项页面:

(1)选择1:

货物入库选项(操作时添加了多个,选取部分插入)

(2)选择2:

货物出库选项

按编号出库

a.输入库内没有的商品编号:

b.输入库内有的商品编号:

选择2的按名称出库选项:

(3)选择0:

退出选项

2.选择2的查询选项

(1)选择1:

按编号查询

(2)选择2:

按商品名查询选项

3.选择3的修改商品信息选项

4.选择添4的缺货登记选项

选择添加缺货信息:

5.选择5:

显示库内信息

选择1的显示库内信息:

选择2的现实缺货信息:

5.选择0:

【实验总结】

经过这次对数据结构的课程设计,收获最大的就是我能熟悉掌握了对链表这一数据结构的使用,能准确的对其进行插入、删除和修改等功能;

其次是重新复习了文件的使用方法,将输入的信息成功的保存在文档文件中。

在刚开始这个课程设计的时候,由于对文件的使用还不太熟悉,所以导致信息不能正确的保存,再有就是对链表的操作,起初是比较笨拙的,就是不能自如的使用。

在调式的过程中要反复的进行修改,因为有些地方并不能如愿的显示自己想要的结果,再有就是页面不是很整齐也要反复的对程序进行修改,是页面更整齐好看。

总之经过的课程设计,我更了解到了数据结构的功能非常的强大,不仅仅是自己做出来的东西让我这么认为,因为在做的过程中少不了和同学交流,在交流的过程中看到其他同学用数据结构

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

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

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