大二软件课程设计Word文件下载.docx

上传人:b****3 文档编号:16571737 上传时间:2022-11-24 格式:DOCX 页数:14 大小:179.34KB
下载 相关 举报
大二软件课程设计Word文件下载.docx_第1页
第1页 / 共14页
大二软件课程设计Word文件下载.docx_第2页
第2页 / 共14页
大二软件课程设计Word文件下载.docx_第3页
第3页 / 共14页
大二软件课程设计Word文件下载.docx_第4页
第4页 / 共14页
大二软件课程设计Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

大二软件课程设计Word文件下载.docx

《大二软件课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《大二软件课程设计Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

大二软件课程设计Word文件下载.docx

8、退出模块。

主要完成退出界面的任务。

(二)、总体设计

1、主函数执行流程

本系统提供了10个选项供用户选择,先显示目录菜单,提示用户输入选择。

有效值为0到9,输入1则进入键盘添加商品信息功能模块,系统将会循环调用ADD()函数键盘添加员工信息。

输入2进入删除记录模块,主要工作是在单链表中查找商品代码找到相应的商品信息然后删除。

输入3进入查询模块,主要工作是循环调用QUR()函数找到相应商品信息。

输入4进入修改模块主要工作是先调用查询函数找到商品,然后调用Modify()进行商品信息的修改.输入5进入插入模块,主要工作是在单链表中通过调用ADD()函数来插入商品信息.输入6进入统计函数,系统通过While循环来输出商品件数.输入7进入降序排列模块,主函数运用冒泡排序的方法对商品代码进行排序.(排序是对链表节点的修改而不修改商品信息)。

输入8存储模块进入:

通过save函数将商品信息存到D盘上.输入9进入显示数据模块.其功能是将所有商品的所有信息输出到屏幕中,输出在屏幕上的为表格形式,以便读取方便。

输入0退出本系统,操作结束

2、功能描述

(1)主函数——voidmain()

算法描述:

利用无限次循环for(;

;

)和switch()实现对各函数的调用,系统根据输入的数字选项来调用相应的函数,实现相应的功能。

(2)菜单函数——intmenu_select()

函数功能:

使用者通过输入数字选项实现对各功能的使用。

当运行完任一功能,返回运行界面时,也要用到该函数。

使用do-while循环进行菜单选择,在循环内用switch读如所选择的序号,并且每次运行都运用system("

cls"

)进行清屏。

(3建立记录函数——voidsetData(linklistp)

输入商品编号,名称,单价,数量。

输入后有一个提示语句——是否继续输入。

根据需要选择Y:

继续输入记录;

选择N:

停止输入。

(4)显示所有记录函数——voidDisp()

函数功能:

将输入的所有记录显示在运行界面,或将排序后的记录显示在界面。

算法描述:

使用while进行循环输出,循环内运用if语句使十条数据可以实现暂停功能。

其中还包含了一些辅助的使界面更简洁、清晰的语句

(5)排序函数——voidsort_()

按商品编号由高到底的顺序进行排序。

运用简单冒泡法排序,排序后通过显示记录功能将排序后的记录显示在界面。

(6)插入记录函数——intInsert_()

插入商品信息,包括商品编号、名称单价和数量插入。

使用标准的输入函数输入一条商品记录,带到返回值中,并调用排序函数将该商品记录插入到排好序的记录中。

(7)删除记录函数—intDelete_()

按编号将需要删除的记录删除。

首先输入编号,判断是否存在该商品记录:

如果存在,回车后,显示“删除成功”;

如果不存在,显示“无法找到该信息”。

运用标准输入函数输入需要删除记录的商品的编号,通过用while循环查找该商品信息,再运用if语句看是否存在该商品,无则返回“无法找到该信息”,有则运用while进行删除操作,即找到记录后用后面记录覆盖前面的记录。

这种方法虽不是直接将记录删除,只是将后边的商品记录复制到要删除的商品记录,但实现的功能是相同的。

执行完删除命令后返回“删除成功”。

(8)查询函数——voidQur()

定义该函数为无返回值的的有参函数,根据输入的编号查找并显示商品的编号,名称单价和数量。

运用标准的输入函数输入要查找的商品编号,然后进行while循环,用if语句进行判断是否存在该商品信息,无则显示“无法找到该信息”,有则将该商品信息运用标准输出函数输出。

(9)统计系统信息函数——voidtongji()

统计输入的商品信息,包括记录总数。

统计记录的条数输出总共的记录条数,运用while循环统计商品信息。

(10)修改信息函数——intModify()

先查找到要修改的商品信息,再进行修改。

运用if语句判断,如果存在进行修改。

11)存储信息函数——voidsave()

该函数定义为无返回值的有参函数,可以把学生记录保存D盘。

运用while循环进行存储,并使用fprintf,存储完成之后显示“操作成功”,可以使用读取功能读取此文件的内容。

(三)、数据结构设计

简单商品管理信息结构体

#include<

stdio.h>

malloc.h>

string.h>

ctype.h>

/*字符操作函数*/

#include"

stdlib.h"

/*其它说明*/

typedefstruct

{

charnum[10];

charname[20];

floatprice;

intamount;

}Product;

typedefstructnode

Productp;

structnode*pre;

structnode*next;

}node,*linklist;

linklisthead,last;

voidsetData(linklistp)

printf("

产品编号:

"

);

scanf("

%s"

&

p->

p.num);

产品名称:

p.name);

产品单价:

%f"

p.price);

产品数量:

%d"

p.amount);

}

voidInsert(linklistp)

setData(p);

p->

next=last;

last->

pre->

next=p;

pre=last->

pre;

pre=p;

voidAdd()

charch;

do

{

linklistp=(linklist)malloc(sizeof(node));

system("

pause"

Insert(p);

是否继续?

%c"

ch);

}while(ch=='

y'

||ch=='

Y'

linklistQur()

linklistp=head->

next;

输入产品编号:

num);

while(p!

=last)

if(strcmp(num,p->

p.num)==0)break;

p=p->

}

if(p==last){printf("

未找到\n"

system("

returnp;

voidDel()

linklistp=Qur();

if(p==last)return;

next=p->

next->

pre=p->

free(p);

删除成功\n"

voidModify()

if(p==last)return;

voidprintTitle()

编号\t名称\t单价\t数量\n"

voidshow(linklistp)

%s\t%s\t%.2f\t%d\n"

p->

p.num,p->

p.name,p->

p.price,p->

voidTongji()

inti=0;

printTitle();

show(p);

i++;

共%d项商品\n"

i);

voidSort()

linklistp,q;

for(p=head->

p!

=last;

p=p->

next)

for(q=p->

q!

q=q->

if(strcmp(p->

p.num,q->

p.num)<

0)

Producttemp=p->

p;

p=q->

q->

p=temp;

完成\n"

voidSave()

FILE*fp=fopen("

d:

\\record.txt"

"

w"

if(fp==NULL)

保存失败\n"

return;

fprintf(fp,"

fclose(fp);

voidDisp()

voidWrong()

输入错误!

\n"

voidmenu(void)

|*系统清屏*|

********商品销售管理系统*******\n"

**\n"

*1:

添加*\n"

*2:

删除*\n"

*3:

查询*\n"

*4:

修改*\n"

*5:

插入*\n"

*6:

统计*\n"

*7:

降序排列*\n"

*8:

存储*\n"

*9:

显示数据*\n"

*0:

退出*\n"

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

}

intselect()

intchoose;

choose);

switch(choose)

case1:

Add();

break;

case2:

Del();

case3:

if(p!

=last){show(p);

}break;

case4:

Modify();

case5:

case6:

Tongji();

case7:

Sort();

case8:

Save();

case9:

Disp();

case0:

default:

Wrong();

returnchoose;

voiddestroy()

head->

p=head->

free(head);

free(last);

intmain(void)

head=(linklist)malloc(sizeof(node));

last=(linklist)malloc(sizeof(node));

next=NULL;

pre=head;

pre=NULL;

menu();

}while(select()!

=0);

destroy();

return0;

(四)、运行结果

1、主界面

2、输入商品记录

3、显示数据记录

4、删除记录

(五)、设计小结

优点:

(1)程序没有错误,没有警告,程序逻辑结构紧密。

(2)该程序包含内容较全面,操作较方便。

不足:

(1)此程序的创建商品函数一旦执行之前建立的通讯录将清空,一切从新头开始建立通讯录,所以若想连续在已有信息的通讯录中增加多个成员信息,只能多次选择voidADD(Linklist(p))函数来进行。

(2)输入太多个商品信息时,屏幕不能一页一页显示。

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1