书店图书销售系统课程设计.doc_第1页
书店图书销售系统课程设计.doc_第2页
书店图书销售系统课程设计.doc_第3页
书店图书销售系统课程设计.doc_第4页
书店图书销售系统课程设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

沈 阳 航 空 工 业 学 院 课程设计学 号 200704033055班 级 7403302姓 名 马贤霖指导教师 王晓岩2009年 3 月 5 日沈阳航空工业学院课程设计任务书院系:航空宇航工程学院 专业:飞行器设计与工程 班级:7403302 学号:200704033055 题目:书店图书销售系统一、课程设计时间200809年第二学期第一周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:模拟书店经营业务,主要指“购进图书”和“出售图书”两种业务。由于图书的出售价格高于图书的购进价格,所以系统能够计算累计利润。要求:“购进图书”和“出售图书”2方面信息只用1个文件(myFile.txt)存储,文件中每行数据遵循如下顺序:图书编号,图书名称,出版社,购进册数,购进价格,出售册数,出售价格。能够随时显示库存情况和销售情况。能够随时计算书店累计利润。能够随时购进新书和出售图书,册数不限。三、课程设计要求1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“进书”、“售书”、“计算利润”、“书库现状”、“退出”5项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语沈 阳 航 院 设 计 用 纸目录 一、需求分析.2二、程序流程图3三、核心技术的实现说明及相应程序段6四、课设总结8五、参考文献9六、源程序9I沈 阳 航 院 设 计 用 纸一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:显示菜单,购进图书,出售图书,计算利润,书库现状,退出。 1、显示菜单 主要实现在屏幕上显示菜单目录,以便执行操作。2、购进图书 实现的是往文本文档里存入数据,以便后续函数。3、售出图书 实现的是卖出图书的名字和册数,提供了出售功能。4、计算利润 实现了出售图书和购进图书的价格差与册数的乘积,可计算利润。5、书库现状 实现了书库剩余量与出售量与价格的显示功能。6、退出 退出书店图书管理系统除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。二、程序流程图1、程序总体流程图 进书模块: 定义变量 以只写方式打开文件d:myfile.txt输出文字:“请输入要进书的种数及册数”输入数字输出,图书编号,图书名称,出版社,购进册数,购进单价,出售册数,出售单价 For(i=0;iz;i+) 输入数据 往文本里输入数据 关闭文件 定义变量 输出(请您输入您要的图书编号及册数:); 输入数据 以读写方式打开文件d:myFile.txt是 No=book1.num 否 for(i=0;iN;i+) booki.a-=nu;booki.b+=nu;往文本里输入数据,并关闭文件输出:图书编号,图书名称,出版社 出售册数 出售单价输出数据售书模块: in计算利润模块: 定义变量for(i=0;iN;i+) 计算利润输出利润书店现状模块:定义变量以只读方式打开文件d:myFile.txtfor(i=0;!feof(fp);i+)输出文本数据并关闭文件输出“图书编号图示名称 出版社 现存册数 for(j=0;ji-1;j+)输出数据 三、核心技术的实现说明及相应程序段本程序主要由五个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,进书函数、售书函数和计算利润函数是程序中较为核心的部分,下面分别进行说明。进书函数:此函数主要实现了随时购进图书的功能,能使程序简单明了,相关数据还存入文本文档里面。程序如下:void add()FILE *fp; int n,i; struct book book; if(fp=fopen(d:myFile.txt,w)!=NULL) printf(请输入要进书的种数,按回车键确认:); scanf(%d,&n); for(i=1;i=n;i+) printf(n请输入第%d种书的图书编号,图书名称,出版社,按回车键确认:n,i); scanf(%d%s%s,&book.num,,book.pub); printf(n请输入第%d种图书的购进册数,购进单价,出售册数,出售单价:n,i); scanf(%d%f%d%f,&book.a,&book.price1,&book.b,&book.price2); fprintf(fp,%d %s %s %d %f %4d %fn,book.num,,book.pub,book.a,book.price1,book.b,book.price2); 售书函数:此函数主要实现了随时出售图书,并能提醒您如果没有此书的功能,此函数显示出了出售价格和购进价格给读者与以方便还有图书编号,方便出售,还把相关数据存入到文本文档里面。程序如下:void sell()struct book bookN;FILE *fp;int NO,nu,i,n;n=reads(book);printf(输入图书编号,售出册数,按回车键确认:); scanf(%d%d,&NO,&nu);fp=fopen(d:myFile.txt,r+); for(i=0;in;i+) if(NO=booki.num) booki.a-=nu; booki.b+=nu; printf(图书编号 图书名称 出版社 出售册数 出售单价 n); printf(%d %s %s %d %fn,booki.num,,booki.pub,booki.b,booki.price2); for(i=0;in;i+)fprintf(fp,%d %s %s %d %f %4d %fn,booki.num,,booki.pub,booki.a,booki.price1,booki.b,booki.price2); fclose(fp);计算利润函数:此函数为计算书店销售利润,以公式计算出出售书的利润,可以查出书店每天的利润,。方便使用。程序如下:void money()struct book bookN;FILE *fp;fp=fopen(d:myFile.txt,r+);float sum;int i,n;float a=0;n=reads(book);for(i=0;iN;i+)sum=booki.b*booki.price2-booki.b*booki.price1;a=a+sum; printf(利润:%fn,a); fclose(fp); 四、课设总结经过了一周的实习,对C语言我由肤浅的考试学习到繁琐的实际应用中了解到我知识的欠缺,考试能过关,可实际生活中做出一件东西却很困难,是我知道了它不光是一种语言,一些字母和算法,它可以实现许多功能,给社会提供了许多便利,我应把C语言从新认真学透学懂,学会真正的运用。也通过这次实习对我的C语言能力有了一定程度的提高,我自己查书加上同学的帮助我感觉我收获了很多。我感谢老师及同学对我的帮助,我会在以后的日子里认真的学习每样课程,当然C语言更要认真学好,希望我以后的生活能从中获益。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#include#include#include#include#define N 20struct bookint num; char name10; char pub10 ; int a; float price1; int b; float price2;void menu();int reads(struct book bookN);void add();void sell();void money();void store();void main() int n; while(1) menu(); printf(n请输入你要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n) case 1: add();break; case 2: sell();break; case 3: money();break; case 4: store();break;case 5: exit(0); default: printf(输入错误,请输入列表中存在的序号!n ); void menu()printf( * 书店图书管理系统 * ); printf(n 1 进书); printf(n 2 售书); printf(n 3 计算利润); printf(n 4 书库现状); printf(n 5 退出);int reads(struct book bookN) FILE *fp; int i=0; if(fp=fopen(d:myFile.txt,r)=NULL) printf(打开文件失败!n); return(0); else for(i=0;!feof(fp);i+) fscanf(fp,%d %s %s %d %f %4d %f,&booki.num,,booki.pub,&booki.a,&booki.price1,&booki.b,&booki.price2); fclose(fp); return(i);void add()FILE *fp; int n,i; struct book book; if(fp=fopen(d:myFile.txt,w)!=NULL) printf(请输入要进书的种数,按回车键确认:); scanf(%d,&n); for(i=1;i=n;i+) printf(n请输入第%d种书的图书编号,图书名称,出版社,按回车键确认:n,i); scanf(%d%s%s,&book.num,,book.pub); printf(n请输入第%d种图书的购进册数,购进单价,出售册数,出售单价:n,i); scanf(%d%f%d%f,&book.a,&book.price1,&book.b,&book.price2); fprintf(fp,%d %s %s %d %f %4d %fn,book.num,,book.pub,book.a,book.price1,book.b,book.price2); fclose(fp);void money()struct book bookN;FILE *fp;fp=fopen(d:myFile.txt,r+);float sum;int i,n;float a=0;n=reads(book);for(i=0;iN;i+)sum=booki.b*booki.price2-booki.b*booki.price1;a=a+sum; printf(利润:%fn,a); fclose(fp);void sell()struct book bookN;FILE *fp;int NO,nu,i,n;n=reads(book);printf(输入图书编号,售出册数,按回车键确认:); scanf(%d%d,&NO,&nu);fp=fopen(d:myFile.txt,r+); for(i=0;in;i+) if(NO=booki.num) booki.a-=nu; booki.b+=nu; printf(图书编号 图书名称 出版社 出售册数 出售单价 n); printf(%d %s %s %d %fn,booki.num,,booki.pub,booki.b,booki.price2); for(i=0;in;i+)fprintf(fp,%d %s %s %d %f %4d %fn,booki.num,,booki.pub,booki.a,booki.price1,booki.b,booki.price2); fclose(fp);void store()int i;int j;struct book bookN;FILE *fp;fp=fopen(d:myFile.txt,r)

温馨提示

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

评论

0/150

提交评论