02书店图书销售系统.docx

上传人:b****8 文档编号:23556033 上传时间:2023-05-18 格式:DOCX 页数:12 大小:101.86KB
下载 相关 举报
02书店图书销售系统.docx_第1页
第1页 / 共12页
02书店图书销售系统.docx_第2页
第2页 / 共12页
02书店图书销售系统.docx_第3页
第3页 / 共12页
02书店图书销售系统.docx_第4页
第4页 / 共12页
02书店图书销售系统.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

02书店图书销售系统.docx

《02书店图书销售系统.docx》由会员分享,可在线阅读,更多相关《02书店图书销售系统.docx(12页珍藏版)》请在冰豆网上搜索。

02书店图书销售系统.docx

02书店图书销售系统

沈阳航空工业学院

课程设计

学号200604021089

班级6402103

姓名刘斯文

指导教师刘成

2007年9月18日

沈阳航空工业学院

课程设计任务书

电子工程系电子信息工程专业6402103班学号200604021089

一、课程设计题目:

书店图书销售系统

二、课程设计工作自2007年9月10日起至2007年9月14日止

三、课程设计内容:

用C语言编写软件完成以下任务:

模拟书店经营业务,主要指“购进图书”和“出售图书”两种业务。

由于图书的出售价格高于图书的购进价格,所以系统能够计算累计利润。

要求:

①“购进图书”和“出售图书”2方面信息只用1个文件(MyFile.txt)存储,文件中每行数据遵循如下顺序:

图书编号,图书名称,出版社,购进册数,购进价格,出售册数,出售价格。

四、课程设计要求:

程序质量:

●贯彻结构化程序设计思想。

●用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

●用户界面中的菜单至少应包括“创建文件1”、“创建文件2”、“判断相似性”、“退出”4项。

●代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:

●封面

●课程设计任务书

●目录

●需求分析(分析题目的要求)

●程序流程图(总体流程图和主要功能模块流程图)

●核心技术的实现说明及相应程序段

●个人总结

●参考资料

●源程序及适当的注释

指导教师:

____________________

学生签名:

____________________

 

 

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:

读取原始数据(save),买书(mai),购进图书(goujin),计算利润(lirun),书库现状(booknow)以及售出状况(sellnow)。

1、读取原始数据(save)主要功能是读取书店状况以及库存的原始数据;

2、出售图书(mai)主要是实现顾客买书功能;

3、购进图书(goujin)实现书店购进新书的功能;

4、计算利润(lirun)实现书店计算经营净利润的功能。

5、书库现状(booknow)主要功能是查看书店现有图书、售出,进价,售价等。

6、售出状况(sellnow)主要功能是查看书店卖出图书的状况。

除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

将文件1和文件2分别存到D盘的text1.txt和text2.txt中,并永久保存。

二、程序流程图

1、程序总体结构图

当t!

=4

t=1

创建文件1

t=2

创建文件2

t=3

判断两文件相似性

t=4

退出

错误

 

2、读取原始数据模块

 

3、售书模块

 

4、进书模块

 

5、计算利润模块

 

6、书库现状模块

 

7、出售现状模块

 

三、核心技术的实现说明及相应程序段

本程序主要由六个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。

在这些函数当中,相似性判断是程序中较为核心的部分,下面进行关键技术说明。

结构体定义:

structbook

{intnum1;

intnum2;

intnum3;

charname[20];

charpublish[20];

floatprice1;

floatprice2;

}book[SIZE];

利用循环输出所有信息:

for(j=0;j<4;j++)

printf("%d%d%d%s%s%6.2f%6.2f\n",book[j].num1,book[j].num2,book[j].num3,

book[j].name,book[j].publish,book[j].price1,book[j].price2);

对相应变量进行加减:

if(num==book[i].num1)

{book[i].num2--;

book[i].num3++;

利用循环求出利润:

for(i=0;i

{sum=book[i].num3*(book[i].price2-book[i].price1);

a=a+sum;}

四、个人总结

这是我自学习以来,第一次经历课程设计。

过去的初高中学习,只是纯理论知识的教育,上了大学,有了这种将所学只是融入实践的机会,我不禁迫不及待的想体验。

但是自己动手了才发现原来课程设计不象自己想象的那么简单,原来本以为几天就可以做完,做了才知道,不仔细研究,不动脑筋,那是不可能完成的。

以前的C语言学的不是很好,对很多地方不是特别懂,甚至对有些概念都还很模糊,虽然,我的编程题目很简单,但是,在这两周的时间里,经过不断的与同学之间进行探讨,还有学长的指导,还是使我的C语言编程能力有了质的飞跃。

前几天的课设过程中,我对所要设计的课题完全摸不到头脑,更不知如何下手。

但我并没有灰心放弃。

每一次我都进行新的尝试,希望可以找到正确的解决方法。

工夫不负苦心人,我渐渐成功的着手做起。

可是,仍旧有一些细小的问题困扰我。

幸好有同学们的帮助,每当我遇到困难时,周围的同学都会热心的帮我解围,指出我的问题所在。

因此,我才不断完善了自己的设计,最终做出了令我自己比较满意的程序。

虽然程序做好了,可以运行出来课程设计所要求的结果,但老师说一个好的程序,它的界面也是很重要的,有了好的界面,人们才会想用它,爱用它,于是我开始设置自己的程序界面,经过1天的努力,终于做出了自己想要的界面。

通过这几天的努力,使我学到了很多东西,从一个只懂理论的高中生成为了一个自己也能研究简单课题的大学生,明白了C语言对程序,对电脑的重要性,增加了我对C语言学习的兴趣,更增进了我对它的信心,我会更加努力的学习他,学懂他,学透他,成为自己身上的一项技能。

五、参考文献

1谭浩强.C程序设计.北京:

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

六、源程序

#include

#include

#include

#defineSIZE4

structbook

{intnum1;

intnum2;

intnum3;

charname[20];

charpublish[20];

floatprice1;

floatprice2;

}book[SIZE];

voidsave()

{inti,j;

FILE*fp;

fp=fopen("d:

\\MyFile.txt","r");

for(i=0;i<4;i++)

fscanf(fp,"%d%d%d%s%s%f%f",&book[i].num1,&book[i].num2,&book[i].num3,

book[i].name,book[i].publish,&book[i].price1,&book[i].price2);

printf("编号剩余售出名字出版社进价售价\n");

for(j=0;j<4;j++)

printf("%d%d%d%s%s%6.2f%6.2f\n",book[j].num1,book[j].num2,book[j].num3,

book[j].name,book[j].publish,book[j].price1,book[j].price2);

}

mai()

{inti;

intnum;

printf("你想买哪本书:

");

scanf("%d",&num);

for(i=0;i

if(num==book[i].num1)

{book[i].num2--;

book[i].num3++;

printf("编号名字出版社售价\n");

printf("%d%s%s%6.2f\n",book[i].num1,book[i].name,

book[i].publish,book[i].price2);

}

}

goujin()

{inti,j;

intnum;

printf("输入编号:

");

scanf("%d",&num);

printf("输入数量:

");

scanf("%d",&j);

for(i=0;i

if(num==book[i].num1)

{book[i].num2+=j;

printf("这本书在商店里的数目是:

%d\n",book[i].num2);

}

}

lirun()

{floatsum;

inti;

floata=0;

for(i=0;i

{sum=book[i].num3*(book[i].price2-book[i].price1);

a=a+sum;}

printf("利润:

%f\n",a);

}

booknow()

{inti;

printf("编号剩余售出名字出版社进价售价\n");

for(i=0;i

printf("%d%d%d%s%s%6.2f%6.2f\n",book[i].num1,book[i].num2,book[i].num3,

book[i].name,book[i].publish,book[i].price1,book[i].price2);

}

sellnow()

{inti;

printf("编号出售名字出版社\n");

for(i=0;i

printf("%d%d%s%s\n",book[i].num1,book[i].num3,book[i].name,book[i].publish);

}

main()

{printf(“┏━━━━━━━━┊图书销售系统┋━━━━━━━━━┓\n”)

printf("┃***************按0读取原始信息******************┃\n");

printf("┃***************按1进书**************************┃\n");

printf("┃***************按2售书**************************┃\n");

printf("┃***************按3计算利润**********************┃\n");

printf("┃*************按4书库现状************************┃\n");

printf("┃*************按5出售现状************************┃\n");

printf("┃*************按6退出****************************┃\n");

printf(“┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n”)

aa:

switch(getch())

{case'0':

save();break;

case'1':

goujin();break;

case'2':

mai();break;

case'3':

lirun();break;

case'4':

booknow();break;

case'5':

sellnow();break;

case'6':

exit(0);

}

gotoaa;

}

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

当前位置:首页 > 表格模板 > 表格类模板

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

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