语言图书销售管理系统doc.docx

上传人:b****6 文档编号:13581279 上传时间:2023-06-15 格式:DOCX 页数:8 大小:16.83KB
下载 相关 举报
语言图书销售管理系统doc.docx_第1页
第1页 / 共8页
语言图书销售管理系统doc.docx_第2页
第2页 / 共8页
语言图书销售管理系统doc.docx_第3页
第3页 / 共8页
语言图书销售管理系统doc.docx_第4页
第4页 / 共8页
语言图书销售管理系统doc.docx_第5页
第5页 / 共8页
语言图书销售管理系统doc.docx_第6页
第6页 / 共8页
语言图书销售管理系统doc.docx_第7页
第7页 / 共8页
语言图书销售管理系统doc.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

语言图书销售管理系统doc.docx

《语言图书销售管理系统doc.docx》由会员分享,可在线阅读,更多相关《语言图书销售管理系统doc.docx(8页珍藏版)》请在冰点文库上搜索。

语言图书销售管理系统doc.docx

语言图书销售管理系统doc

C语言图书销售管理系统1

图书销售管理系统设计

(2)

一、设计要求

(2)

二、总体设计思路

(2)

1.主要功能:

系统主要包括八个功能模块。

(2)

2.总体思路框图

(2)

三、主要参数和函数(3)

1.全局变量(3)

2.主要函数(3)

四、程序调试及整体实现(10)

1.主菜单运行界面(10)

2.图书信息录入界面(10)

3.图书信息浏览界面(11)

4.图书查询界面(11)

5.图书信息修改界面(12)

6.图书信息删除界面(12)

7.图书信息排序主界面(13)

8.购书清单界面(14)

五、体会总结(14)

附件(15)

图书销售管理系统设计

一、设计要求

1.图书信息包括:

序号、书名、作者、出版单位、价格。

2.系统以菜单方式工作。

3.图书信息录入功能(图书信息用文件保存)--输入。

4.图书信息的删除与修改功能。

5.图书信息浏览功能--输出。

6.查询功能--算法:

(按书名/作者查询)。

7.排序功能--算法:

(按书名排序/按价格排序)。

8.图书购买功能:

统计选购图书的总价,给出清单,屏幕输出参考以下的实际

购书单。

二、总体设计思路

1.主要功能:

系统主要包括八个功能模块。

1)图书信息的录入:

将所要录入的图书信息包括序号、书名、作者、出版社、

价格等录入一个文本文件中。

每录入一本书,系统提示是否继续,若不继

续,则返回主界面。

2)图书信息的查询:

将所有图书信息包括序号、书名、出版社、作者、价格

等显示在屏幕上,最后返回主界面。

3)图书信息的查询:

通过输入图书名称或作者完成图书信息的查找,并在屏

幕上显示,返回主界面。

4)图书信息的修改:

通过输入序号,判断此图书是否存在,若不存在则提示

用户重新输入图书序号,若存在则要求输入要修改图书的序号,对该图书

重新录入信息。

录入后,提示是否继续,如不继续,则返回主界面。

5)图书信息的删除:

通过输入序号,判断此图书是否存在,若存在,则提

示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号,

删除完毕后,返回主界面。

6)图书信息的排序:

通过输入书名或价格,提示用户输入想要使用的排序方

式,排序后的信息显示在屏幕上,返回主界面。

7)图书的购买:

通过输入要购买的图书序号,计算出总本书和总价格并连同

其他购买信息一并显示在屏幕上。

8)退出系统:

返回主页面。

2.总体思路框图

图1.总体思路框图

三、主要参数和函数

1.全局变量

1)定义一个存放图书信息的结构体structbook,并定义此类型的变量

structbooklist[N],用来表示图书数组。

structbook/*定义结构体类型*/

{

intnum;/*序号为整型*/

charname[40];/*书名为字符串*/

charauthor[20];/*作者为字符串*/

charpublish[50];/*出版社为字符串*/

floatprice;/*价格为浮点型*/

};

structbooklist[N];/*定义structbook类型的变量listN个*/

2)intCount=0,定义全局变量,用来表示图书的个数,初始值为0。

2.主要函数

1)主函数main(),控制整个系统的执行流程,使系统菜单可以循环执行。

据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定

义函数。

通过将switch语句与break语句联合使用来实现多分支选择结

构程序的设计。

case1至case7分别实现不同的功能,并能返回主界面;

case0直接返回主界面。

程序代码:

voidmain()

{

intchoice1;

printf("*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\n");

printf("*欢迎进入图书销售管理系统*\n");

printf("*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\n");

do

{

printf("##################################################");/*显示菜单*/printf("功能选项:

\n");

printf("1:

图书信息录入\n");

printf("2:

图书信息浏览\n");

printf("3:

图书信息查询\n");

printf("4:

图书信息修改\n");

printf("5:

图书信息删除\n");

printf("6:

图书信息排序\n");

printf("7:

图书的购买\n");

printf("0:

退出系统\n");

printf("###############################################################");

printf("\t请选择操作:

");

scanf("%d",&choice1);

switch(choice1)/*菜单选择*/

{

case1:

input();break;

case2:

show_bookinformation(list);break;

case3:

check_bookinformation(list);break;

case4:

modify_bookinformation(list);break;

case5:

delete_bookinformation(list);break;

case6:

reorder_bookinformation(list);break;

case7:

buytotal(list);break;

case0:

break;}

}while(choice1!

=0);

printf("谢谢!

欢迎下次使用使用!

\n");}

2)打开数据文件函数open(),把文件的信息打开到一个结构体数组中。

义指向文件的指针读取数据,若指针指向NULL,则显示“无法操作,无文件信息!

”,要调用fopen、fclose和fread函数。

程序代码:

voidopen()

{inti;

FILE*fp;

if((fp=fopen("book.txt","rb+"))==NULL)

{printf("无法操作,无文件信息!

!

!

\n");

exit(0);}

for(i=0;i{if(fread(&list[i],sizeof(structbook),1,fp)==0)

{printf("数据输出失败!

!

!

\n");

exit(0);}}fclose(fp);}

3)信息录入文件函数read(),函数类型为void。

定义指向文件的指针读取

数据,把输入的图书信息保存到文件中,若指针指向NULL,则输出无法操作。

利用for循环保存信息到指定文件。

程序代码:

voidread()

{inti;

FILE*fp;

if((fp=fopen("book.txt","wr+"))==NULL)

{printf("\n不能打开文件!

!

!

\n");

exit(0);}

for(i=0;iif(fwrite(&list[i],sizeof(structbook),1,fp)!

=1)

printf("文件写入错误!

!

!

\n");

fclose(fp);}

4)信息录入系统函数input(),提供录入图书信息功能。

在for循环下,一

次提示用户输入图书序号、书名、作者、出版社以及价格。

每循环一次,提示用户是否继续,当选“1”时继续输入图书信息,选“2”时返回主界面;每循环一次Count自增1。

程序代码:

voidinput()

{inti,k,j,t;

for(j=0;list[j].num!

=0;j++)

t=j+1;

for(i=t;i{printf("\t请输入您的图书序号:

");

scanf("\t%d",&list[i].num);

printf("\t请输入书名:

");

scanf("\t%s",list[i].name);

printf("\t请输入作者:

");

scanf("\t%s",list[i].author);

printf("\t请输入出版社:

");

scanf("\t%s",list[i].publish);

printf("\t请输入价格:

");

scanf("\t%f",&list[i].price);

fflush(stdin);

printf("\t\n是否继续录入?

(1.是2.否)");

scanf("%d",&k);

if(k==2)break;

}Count=i+1;

read();}

5)删除图书信息函数delete_bookinformation(structbooklist[]),提

供对图书信息的删除功能。

此函数运行时利用open函数打开数据文件,读取信息;利用for循环,当输入序号与循环中的某一对应数据相同时,将后一个赋值给前一个从而把要删除的图书信息删除掉。

如果i=0,则直接输出“图书销售系统没有你要输出的图书信息!

”。

删除后会显示“删除成功”,同时Count自减1;最后还要执行read函数,重新记录图书信息。

程序代码:

voiddelete_bookinformation(structbooklist[])

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

当前位置:首页 > 医药卫生 > 基础医学

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

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