C语言专业课程设计商品销售标准管理系统.doc
《C语言专业课程设计商品销售标准管理系统.doc》由会员分享,可在线阅读,更多相关《C语言专业课程设计商品销售标准管理系统.doc(26页珍藏版)》请在咨信网上搜索。
商品销售管理系统 目录 一、 需求分析......................................2 二、 概要设计......................................2 三、 具体设计......................................4 四、 调试分析......................................14 五、 用户手册.....................................14 六、 测试数据.....................................15 七、 附录.........................................18 —1— 一、需求分析 商品销售管理程序 商品信息:商品编号、商品名称、商品类别(一般电视机、DVD、带DVD电视机,带DVD电视机售价为一般电视机和DVD单价之和80%)、商品进货价格、商品销售价格、商品数量、供给商名称等。 统计每一次销售商品数量和价格,并提供对已售出商品价格、数量进行统计、排序功效,但许可用户退商品。 (要求:1.源文件采取多文件工程结构2.数据存放采取文件形式3.标准C输入输出4.功效完善,合适注释,5.相关文件内容需要自学) 二、 概要设计 (一)按系统分析功效要求将系统划分为以下多个关键功效模块: 1、文件管理 文件打开、关闭:对于刚输入或进行操作后商品信息,在建立新商品库存量后,能够把其保留在一个文件中,并对该文件可进行打开和关闭操作。 2、进出货管理 (1)商品进货: 输入数据后商品信息能自动更新进行添加 (2)商品销售: 输入数据后商品信息能自动更新进行降低 3、商品数据管理 (1)增加/删除商品: 添加或删除某条商品信息 (2)修改商品信息: 对某条商品信息进行修改 4、浏览商品信息管理 (1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询 (2)排序商品信息: 可按商品编号、名称、类别分别排排序 (3)浏览商品信息:可浏览输入、查询或排序后数据。 (二)本程序结构 (1)结构体设计 struct goods { long int num; char name[20]; char sort[20]; long int count; long int price; }goods[200]; (2)各功效函数设计: void input() /*功效1:输入商品信息*/ —2— void sequence() /*功效2:排序商品信息*/ void purchase() /*功效3:进货商品信息*/ void sell() /*功效4:销售商品信息*/ void edit() /*功效5:添加或删除商品信息*/ void correct() /*功效6:修改商品信息*/ void search() /*功效7:查询商品信息*/ void scan() /*功效8:浏览商品信息*/ void reserve() /*功效9:保留文件*/ void quit() /*退出系统*/ (3) 主函数设计: void main () { void input(); void sequence(); void purchase(); void sell(); void edit(); void correct(); void search(); void scan(); void reserve(); lp: for(i=0;i<1;i++) scanf("%d",&k); system("cls"); switch(k) /*用switch语句实现功效选择*/ system("cls"); /*清屏*/ goto lp; /*返回主界面*/ } 三、具体设计 (1)各功效函数: void input() /*功效1:输入商品信息*/ { printf("\n 请输入需要建立新库存商品种类数量:"); scanf("%d",&n); system("cls"); printf("\n …………………………………………………………………………………………………\n"); for(i=0;i<n;i++) /*用循环实现输入n个商品*/ { printf("\n\t*请输入商品编号:"); scanf("%ld",&goods[i].num); printf("\n\t 请输入商品名称:"); —3— scanf("%s",goods[i].name); printf("\n\t 请输入商品种类:"); scanf("%s",goods[i].sort); printf("\n\t 请输入商品数量:"); scanf("%d",&goods[i].count); printf("\n\t 请输入商品单价:"); scanf("%d",&goods[i].price); printf("\n …………………………………………………………………………………………………\n"); } printf("\tPlease press any key to continue:"); getch(); return; /*返回主界面*/ } void sequence() /*功效2:排序商品信息*/ { long temp; char p1[30],p2[30]; for(k=0;k<n-1;k++) /*(1): 按编号排序*/ for(i=0;i<n-k-1;i++) /*用起泡法排序*/ if(goods[i].num>goods[i+1].num) /*按编号由小到大排序*/ { temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); } printf("--------------------------------------------------------------------------------\n"); printf("\n\t\t按商品编号排序后商品信息\n\n"); printf("\t商品编号 商品名称 商品类别 商品数量 商品单价\n"); /*输出排序后商品信息*/ for(i=0;i<n;i++) { printf("\t %5ld %5s %5s %5ld %5ld\n",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); —4— } for(k=0;k<n-1;k++) /*(2): 按商品名称排序*/ for(i=0;i<n-k-1;i++) if(strcmp(goods[i].name,goods[i+1].name)>0) { strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); } printf("--------------------------------------------------------------------------------\n"); printf("\n\t\t按商品名称排序后商品信息\n"); printf("\n\t商品名称 商品编号 商品类别 商品数量 商品单价\n"); /*输出排序后商品信息*/ for(i=0;i<n;i++) { printf("\t %5s %5ld %5s %5ld %5ld\n",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price); } for(k=0;k<n-1;k++) /*(3): 按商品类别排序*/ for(i=0;i<n-k-1;i++) /*用起泡法排序*/ if(strcmp(goods[i].sort,goods[i+1].sort)>0) { strcpy(p2,goods[i].sort); strcpy(goods[i].sort,goods[i+1].sort); strcpy(goods[i+1].sort,p2); temp=goods[i].num; goods[i].num=goods[i+1].num; goods[i+1].num=temp; strcpy(p1,goods[i].name); strcpy(goods[i].name,goods[i+1].name); strcpy(goods[i+1].name,p1); } printf("------------------------------------------------------------- —5— -------------------"); printf("\n\t\t按商品类别排序后商品信息\n\n"); printf("\t商品类别 商品编号 商品名称 商品数量 商品单价\n"); /*输出排序后商品信息*/ for(i=0;i<n;i++) { printf("\t %5s %5ld %5s %5ld %5ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price); } printf("--------------------------------------------------------------------------------"); printf("please press any key to continue:"); getch(); return; /*返回主界面*/ } void purchase() /*功效3:进货商品信息*/ { long temp; /*定义临时变量表示刚进货商品编号*/ int j; printf("\n\t\5请输入刚进货商品编号:"); scanf("%ld",&temp); printf("\n\t\5请输入刚进货商品数量:"); scanf("%d",&j); printf("\n\n\n\tpress any key to contiue:"); getch(); system("cls"); printf("\n\t输出进货后商品信息:"); for(i=0;i<n;i++) /*循环,寻求和进货相同商品信息*/ if(temp==goods[i].num) goods[i].count=goods[i].count+j; /*自动更改商品数量*/ printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); for(i=0;i<n;i++) /*循环,输出进货后商品信息*/ { printf("\n\t %4ld %4s %4s %ld %4ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } printf("\n\n\t\tPress any key to enter menu:"); getch(); /*返回功效选择界面*/ return; } —6— void sell() /*功效4:销售商品信息*/ { long temp; /*定义临时变量temp表示刚销售商品编号*/ int j; printf("\n\t\5请输入刚销售商品编号:"); scanf("%ld",&temp); printf("\n\t\5请输入刚销售商品数量:"); scanf("%d",&j); for(i=0;i<n;i++) /*循环,找到刚销售商品信息*/ { if(temp==goods[i].num) { for(;j>goods[i].count;) /*假如销售额大于库存量,则出现错误提醒*/ { printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:"); scanf("%d",&j); } goods[i].count=goods[i].count-j; /*完成自动更改商品数量功效*/ } } printf("\n\tpress any key to contiue:"); getch(); system("cls"); /*清屏*/ printf("\n\n *销售后商品信息:"); printf("\n\t商品类别 商品编号 商品名称 商品数量 商品单价\n"); for(i=0;i<n;i++) /*循环,输出销售后商品信息*/ { printf("\t %4s %4ld %4s %4ld %4ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price); } printf("\n\tPress any key to enter menu:"); getch(); return; /*返回功效选择界面*/ } void edit() /*功效5:添加或删除商品信息*/ { void add(); /*申明子函数*/ void dele(); —7— printf("\n\t请选择:1.添加商品信息; 2.删除商品信息;"); printf("\t*请输入 1或2 继续:"); scanf("%d",&k); switch(k) /*用switch语句实现功效选择*/ { case 1: add();break; case 2: dele();break; } getch(); return; /*返回主菜单*/ } void add() /*添加商品信息*/ { /*定义子函数*/ printf("\t*请输入所添加商品商品编号:"); scanf("%ld",&goods[n].num); printf("\n\t请输入所添加商品名称:"); scanf("%s",goods[n].name); printf("\n\t请输入所添加商品类别:"); scanf("%s",goods[n].sort); printf("\n\t请输入所添加商品数量:"); scanf("%d",&goods[n].count); printf("\n\t请输入所添加商品价格:"); scanf("%d",&goods[n].price); n=n+1; printf("\n"); } void dele() /*删除商品信息*/ { /*定义子函数*/ int temp; /*定义局部变量*/ int j; for(i=0;i<n;i++) { printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("\n"); printf("\n*请输入要删除商品编号:"); scanf("%ld",&temp); printf("\n\n"); —8— for(i=0;i<n;i++) { if(temp==goods[i].num) { for(j=i;j<n;j++) { goods[j].num=goods[j+1].num; strcpy(goods[j].name,goods[j+1].name); strcpy(goods[j].sort,goods[j+1].sort); goods[j].count=goods[j+1].count; goods[j].price=goods[j+1].price; } n=n-1; /*商品总库存量降低*/ } } for(i=0;i<n;i++) { printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); /*输出删除后商品信息*/ printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("Please press any key to continue:"); getch(); return; /*返回主界面*/ } void correct() /*功效6:修改商品信息*/ { long temp; /*定义局部变量*/ printf("\n\t请输入要修改商品编号:"); scanf("%ld",&temp); /*输入新商品信息*/ printf("\n"); for(i=0;i<n;i++) /*保留新商品信息*/ { if(temp==goods[i].num) { printf("\t请输入一个新商品编号:"); scanf("%ld",&goods[i].num); printf("\n\t请输入新商品名称:"); scanf("%s",goods[i].name); printf("\n\t请输入新商品类别:"); —9— scanf("%s",goods[i].sort); printf("\n\t请输入新商品数量:"); scanf("%d",&goods[i].count); printf("\n\t请输入新商品价格:"); scanf("%d",&goods[i].price); printf("\n"); } } for(i=0;i<n;i++) { printf("\n\t新商品名称 商品编号 商品类别 商品数量 商品单价\n"); printf("\t %4s %4ld %4s %4ld %4ld",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("Please press any key to continue:"); /*返回功效选择界面*/ getch(); return; /*返回主菜单*/ } void search() /*功效7:查询商品信息*/ { int k; /*定义局部变量*/ long temp1; char temp2[30],temp3[20]; printf("\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货商品,请按4\n"); printf("\n\n\n\t\t\t请输入数字确定查询方法:"); scanf("%d",&k); printf("\n"); printf("Press any key to continue:"); getch(); system("cls"); switch(k) /*实现查询方法选择*/ { case 1: { printf("\n\n\n\n\n\t\t请输入要查询商品编号:"); /*按商品编号查询*/ scanf("%ld",&temp1); system("cls"); /*清屏*/ for(i=0;i<n;i++) { —10— if(temp1==goods[i].num) { printf("\n"); printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } } }break; /*跳出switch语句*/ case 2: { printf("\n\n\n\n\n\t\t请输入要查询商品名:"); /*按商品名查询数据*/ scanf("%s",temp2); system("cls"); for(i=0;i<n;i++) { if(strcmp(temp2,goods[i].name)==0) { printf("\n"); printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); } } }break; /*跳出switch语句*/ case 3: { printf("\n\n\n\n\n\t\t请输入要查询商品类别:"); /*按商品类别查询数据*/ scanf("%s",temp3); system("cls"); for(i=0;i<n;i++) { if(strcmp(temp3,goods[i].sort)==0) { printf("\n"); printf("\n\t商品编号 商品名 商品类别 商品数量 商品价格"); printf("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i] — 11 — .price); } } }break; /*跳出switch语句*/ case 4: { int a=50; for(i=0;i<n;i++) /*查询需要进货商品名*/ { if(goods[i].count<a) printf("\n\t\t\4需要进货商品名:%s 现有库存量:%ld\n",goods[i].name,goods[i].count); } }break; /*跳出switch语句*/ } printf("\n\n\t\tPress any key to enter menu:"); getch(); return; /*返回主界面*/ } void scan() /*功效8:浏览商品信息*/ { printf("\n\t浏览输入商品信息,请按1\n\n\t浏览查询商品信息,请按2\n\n\t浏览排序后商品信息,请按3\n"); printf("请选择:"); scanf("%d",&k); switch(k) { case 1: { printf("\t\t\t浏览输入商品信息\n"); printf("\t商品编号 商品名 商品类别 商品数量 商品价格\n");/*输出浏览商品信息*/ for(i=0;i<n;i++) { printf("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("Press any key to enter menu:"); getch(); return; } break; /*跳出switch语句*/ case 2: { printf("\t\t\t浏览查询商品信息\n"); —12— printf("\t商品编号 商品名 商品类别 商品数量 商品价格\n");/*输出浏览商品信息*/ for(i=0;i<n;i++) { printf("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("\nPress any key to enter menu:"); getch(); return; } break; /*跳出switch语句*/ case 3: { printf("\t\t\t浏览按商品编号排序商品信息\n"); printf("\t商品编号 商品名 商品类别 商品数量 商品价格\n");/*输出浏览商品信息*/ for(i=0;i<n;i++) { printf("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price); printf("\n"); } printf("\nPress any key to enter menu:"); getch(); return; /*返回主界面*/ } break; /*跳出switch语句*/ } } void reserve() /*功效9:保留文件*/ { FILE *fp; char file[15]; /*用来存放文件保留路径和文件名*/ system("cls"); /*清屏*/ printf("\n\t*请输入文件路径及文件名:"); scanf("%s",file); fp=fopen("file","w+"); /*创建并打开一个文件,并得到该文件地址*/ fprintf(fp,"商品编号\t商品名 \t商品类别\t商品数量\t商品价格\n"); print- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 专业课程 设计 商品 销售 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文