C语言课程设计商场商品信息管理系统

合集下载

购物管理系统课程设计c语言

购物管理系统课程设计c语言

购物管理系统课程设计c语言一、教学目标本课程旨在通过购物管理系统的设计与实现,让学生掌握C语言编程的基本技能,培养其逻辑思维能力和问题解决能力。

具体目标如下:•掌握C语言的基本语法和数据结构。

•理解面向对象编程的基本概念。

•学习常用的编程调试技巧。

•能够使用C语言独立完成简单程序的编写与调试。

•学会使用购物管理系统作为案例,进行程序设计。

•培养团队协作和项目管理的技能。

情感态度价值观目标:•培养学生的创新意识和解决问题的决心。

•加强学生对编程语言的兴趣,激发其对计算机科学的热爱。

•培养学生面对编程挑战时的耐心和毅力。

二、教学内容教学内容将依据课程目标进行选择和,确保内容既科学又系统。

具体教学大纲如下:1.C语言基础:–数据类型与变量–运算符与表达式–控制结构(条件语句、循环语句)2.面向对象编程:–继承与多态–封装与抽象3.购物管理系统案例学习:–编码与实现–测试与优化4.编程实践与调试技巧:–常见编程错误分析–调试工具的使用三、教学方法为了激发学生的学习兴趣和主动性,将采用多样化的教学方法:1.讲授法:用于讲解C语言的基础知识和面向对象的理论。

2.案例分析法:通过分析购物管理系统的案例,让学生理解编程实践。

3.实验法:引导学生动手实践,完成系统的设计与实现。

4.讨论法:学生进行团队讨论,培养解决问题的能力和团队协作精神。

四、教学资源教学资源的选择和准备将着重于支持教学内容和教学方法的实施,以及丰富学生的学习体验。

资源包括但不限于:1.教材:选用权威、实用的C语言编程教材。

2.多媒体资料:提供相关的教学视频、演示文稿等。

3.实验设备:确保每个学生都有机会在计算机上进行编程实践。

4.在线资源:利用网络资源,如编程论坛、开源项目等,供学生自主学习和探索。

五、教学评估为了全面反映学生的学习成果,将采取多元化的评估方式:1.平时表现:通过课堂参与度、提问和团队协作等方面评估学生的积极性。

2.作业:布置与课程内容相关的编程作业,评估学生的理解和应用能力。

商品管理系统设计c语言课程设计

商品管理系统设计c语言课程设计

商品管理系统设计c语言课程设计一、教学目标本课程的教学目标是使学生掌握商品管理系统的设计与实现方法,培养学生运用C语言进行软件开发的实际能力。

具体目标如下:1.知识目标:使学生了解商品管理系统的功能和结构,掌握C语言的基本语法和编程技巧,了解数据结构的基本概念。

2.技能目标:培养学生能够使用C语言编写程序,实现商品管理系统的功能,培养学生解决实际问题的能力。

3.情感态度价值观目标:培养学生对软件开发的兴趣,增强学生的团队合作意识和创新精神。

二、教学内容本课程的教学内容主要包括三部分:商品管理系统的需求分析、商品管理系统的软件设计、商品管理系统的实现与测试。

具体安排如下:1.商品管理系统的需求分析:介绍商品管理系统的功能和结构,培养学生分析问题和需求的能力。

2.商品管理系统的软件设计:讲解C语言的基本语法和编程技巧,使学生能够使用C语言进行程序设计。

3.商品管理系统的实现与测试:介绍数据结构的基本概念,培养学生使用C语言实现和测试商品管理系统的能力。

三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。

具体方法如下:1.讲授法:通过讲解商品管理系统的需求分析、软件设计和实现与测试等方面的知识,使学生掌握课程的基本概念和原理。

2.案例分析法:通过分析实际案例,使学生了解商品管理系统的实际应用,培养学生分析问题和解决问题的能力。

3.实验法:通过上机实验,使学生掌握C语言的编程技巧,培养学生实现和测试商品管理系统的能力。

四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备多种教学资源,包括教材、参考书、多媒体资料和实验设备。

具体资源如下:1.教材:选用《C语言程序设计》作为教材,系统地介绍C语言的基本语法和编程技巧。

2.参考书:推荐《数据结构》等参考书,帮助学生深入了解数据结构的基本概念。

3.多媒体资料:制作课件和教学视频,生动形象地展示课程内容,提高学生的学习兴趣。

C语言实训商店商品管理信息系统

C语言实训商店商品管理信息系统
第三部分 课程设计总结…………………………………………………… 1. 个人总结…………………………………………………………………… 2. 结束语……………………………………………………………………
附录 A 程序清单……………………………………………………………… 附录 B 用户使用说明书……………………………………………………… 参考文献…………………………………………………………………………
销售量(用#结束输入):");
scanf("%d",&temp.xsl);
printf("
销售额(用#结束输入):");
scanf("%f",&z);
temp.xse=z;
printf("
剩余数(用#结束输入):");
scanf("%d",&temp.sys);
printf("
毛利(用#结束输入):");
为了实现上述功能,有关语句都应放在 do-while 循环体中。 设计算法时应考虑如何时程序具有容错能力。例如,当用户在应答是否继续时, 如果输入的是合法数据(即 y、Y、n 或 N),则程序继续下一步操作;如果输入 的是非法数据(即 y、Y、n 或 N 以外的字符),则应让用户重新输入,这时需要 在是否继续的问题上加一个循环判断,这种功能常用 do-while 实现。 (4)流程图(如下图所示):
|
1——按原来顺序显示
|
|
2——按销售额高低显示
|
|
3——按毛利高低显示
|
|
4——返回
|
|
0——退出系统
|

C语言商店销售管理系统课程设计

C语言商店销售管理系统课程设计

商店销售管理系统#include <stdio.h>#include <time.h>#define N 1000 //N代表货物的最大种类struct goods{char name[10];//商品名称int amount;//商品数量int num;//商品编号float price;//商品价格}sp[N],sc[N];//定义全局变量int flag=1;FILE *fp;int i=0;int k=0;int b=0;chakan()//显示目前的库存{int zong=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=(k+b);i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);for(i=1;i<=k;i++){zong=zong+sp[i].num;}if(zong!=0){printf(" 目前库存情况为:名称数量价格编号\n");for(i=1;i<=(k+b);i++){printf(" %s %d %f %d\n",sp[i].name,sp[i].amount,sp[i].price,sp[i].num);}}else printf("\n #####目前库存为#####\n");}jinhuo()//进货模块{do{k++;i++;printf(" 请输入商品的名称.数量.价格.标号(>0)例如:a 1 2.5 111\n\t\t\t");scanf("%s %d %f %d%c",sp[i].name,&sp[i].amount,&sp[i].price,&sp[i]. num);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);fp=fopen("chaoshi.txt","w");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);chakan();}xiaoshou()//销售模块{float m[100];int z=1;int j[100];int a[100];int g=0;int y=0;int h=0;float zong=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=k;i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);do{g++;y++;loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");scanf("%d %d",&j[y],&a[y]);for(z=1;z<=k;z++){if(j[y]==sp[z].num){h++;sp[z].amount=sp[z].amount-a[y];m[y]=(float)a[y]*sp[z].price;sc[y]=sp[z];}}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);printf("\n############################################\n");printf(" 编号名称单价数量总计\n");for(y=1;y<=g;y++){printf(" %4d%10s%8.2f%6d%13.2f\n",sc[y].num,sc[ y].name,sc[y].price,a[y],m[y]);zong=zong+m[y];}printf(" 您此次一共消费%f 元,欢迎您下次光临\n",zong);shijian();}zengjia()//增加商品数量模块{float m;int z=1;int j[100],a[100];int g=0;int y=0;int zong=0;int h=0;fp=fopen("chaoshi.txt","r");for(i=1;i<=k;i++)fread(&sp[i],sizeof(struct goods),1,fp);fclose(fp);do{g++;y++;loop: printf(" 请输入商品编号和数量,例如:(100 20)\n\t\t\t");scanf("%d %d",&j[y],&a[y]);for(z=1;z<=k;z++){if(j[y]==sp[z].num){h++;sp[z].amount=sp[z].amount+a[y];m=a[y]*sp[z].price;sc[y]=sp[z];}}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=k;i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);chakan();}shanchu()//删除商品模块{int z;int j[100],a[100];int c=0;int y=0;int h=0;do{c++;loop: printf(" 请输入您想删除的商品编号\n\t\t\t");scanf("%d",&j[y]);for(z=1;z<=k;z++){h++;if(j[y]==sp[z].num)sp[z]=sp[z+1];}if(h==0){printf(" 输入有误,请重新输入\n\t\t\t");goto loop;}fp=fopen("chaoshi.txt","wt");for(i=1;i<=(k-1);i++)fwrite(&sp[i],sizeof(struct goods),1,fp);fclose(fp);printf(" 是否继续,是(1),否(0)\n\t\t\t");scanf("%d",&flag);}while(flag!=0);chakan();}shijian(){struct tm when;time_t now;time(&now);when=*localtime(&now);printf(" %s\n",asctime(&when));}main()//主函数{int choice;do{printf("\n\n\n ********超市管理系统*******\n\n");printf(" 1.进货\n");printf(" 2.销售\n");printf(" 3.增加商品数量\n");printf(" 4.删除商品\n");printf(" 5.查看目前库存\n");printf(" 0.返回主菜单\n");printf(" 请选择您要进行的操作\n\t\t\t");scanf("%d",&choice);switch(choice){case 1:jinhuo();break;case 2:xiaoshou();break;case 3:zengjia();break;case 4:shanchu();break;case 5:chakan();break;case 0:break;default :printf(" 输入有误,请重新输入\n\t\t\t");}}while(choice!=0);}。

用C语言进行商品信息管理系统设计

用C语言进行商品信息管理系统设计

《C语言程序设计》课程设计报告专业:电子信息工程(本)班级: 0902姓名:学号:指导教师:二0一0 年十二月二十九日目录一.商品信息管理系统设计的目的 (03)二.商品信息管理系统设计题目描述和要求 (04)三.商品信息管理系统设计报告内容 (04)3.1需求分析 (04)3.2概要设计 (04)3.3详细设计 (05)3.4编写代码 (06)3.5程序分析 (11)四.总结 (11)五.参考书目 (12)六.附源程序 (13)二、设计目的1、熟练掌握C语言课程中所学的理论知识;通过课程设计让我们对掌握的C语言的理论知识更加熟练,加深对C语言的各种数据类型的理解,以及在编程中对各种数据类型,运算符和表达示的运用,更加熟练掌握运用不同的结构类型如顺序结构、选择结构、循环结构,同时掌握数组、结构体在编程中的运用的优点。

2、通过综合C语言的基本知识来解决实际问题;对理论知识有了一定的掌握后,要求我们能做到理论与实践相结合,通过综合C 语言的基本知识来解决实际问题,这次的课程设计就是我们理论联系实际的案例,要求我们编写一个商品信息管理系统,方便对商品的各类指标进行存储,查询,为商店的管理带来方便,是我们对解决实际问题的一次尝试。

3、加强分析和解决问题的能力。

通过课程设计,加强我们对实际问题的分析能力,让我们在学习过程中的一些想法得到检验,可以让我们的思维在辩证中提高,最重要的是可以分析我们过往的不足,对于以后遇到类似问题可以更加快速、完善的解决,同时让我们积累了一定的经验,为今后的发展奠定了基础。

二.程序设计题目描述和要求设计对n种商品进行管理的商品信息管理系统,商品信息管理系统是为了商品信息管理的方便而做的一套商品信息管理系统。

本管理系统只有获得权限的用户才可以管理商品信息,否则不可以进行操作,提高了管理系统的安全性。

获得权限的用户可以进行商品信息修改、商品信息删除、商品信息查询、计算总价格和平均价格的基本操作,还可以轻而易举得到统计信息,即商品编号,商品名称,出厂日期,商品价格。

C语言课程设计《商品销售管理系统》

C语言课程设计《商品销售管理系统》

C语言课程设计《商品销售管理系统》摘要本文介绍的是C语言课程设计《商品销售管理系统》,通过使用C语言编程制作的电脑程序,能实现商品销售入库、库存管理、采购管理、商品销售及库存查询功能,设计的目的是为了让电脑为商店的销售管理工作提供帮助。

关键词:C语言课程设计;商品销售管理系统;商品入库;库存管理;采购管理。

1 绪论商品销售管理系统是一种电脑信息系统,是通过计算机程序实现库存管理、采购管理、销售管理、库存查询等基本功能,以便更有效地管理货物出售,节省人力与财力的。

因此,本文将使用C语言开发一个基于计算机的商品销售管理系统,以实现商品销售入库、库存管理、采购管理、商品销售及库存查询等功能。

2 功能需求2.1主菜单程序的功能菜单由主菜单控制,主菜单主要有以下几项功能:(1)商品入库(2)库存管理(3)采购管理(4)库存查询(5)商品销售(6)退出系统2.2 商品入库此功能需要实现商品信息录入功能,比如商品名称、售价、单位、购买数量等。

2.3 库存管理此功能的功能是实现对商品库存的管理,可以实现对商品库存的查看和管理功能,方便商家明确库存量。

2.4 采购管理此功能是实现采购管理,功能包括供货商信息管理、商品采购管理、采购账务记账等。

2.6 商品销售此功能用于实现对商品的销售,可以实现商品信息的查看及购买,销售的同时可以实现商品库存的查看。

3 系统建模系统建模是用逻辑模型来描述系统信息流程,包括实体-实体关系模型、关系模型及功能模型,实体-实体关系模型可以描述系统中各实体之间关系的抽象结构;关系模型能将系统中的关键实体和关联分析结构表示出来;功能模型能实现各种功能以及功能之间的关系结构。

4 系统设计本系统的设计重点是编写C语言程序,以实现商品销售管理系统功能。

核心算法包括以下:(1)无源文件init_menu(),用于初始化主菜单,根据用户输入调用不同的程序完成功能;(2)商品入库文件proc_input(),主要实现商品信息录入功能,需要获取用户输入的商品信息并存储;(3)库存管理文件proc_manage(),实现对商品库存的查看和管理功能,若商品库存不足,则可以选择跳转到商品采购管理程序;(4)采购管理文件proc_buy(),主要实现采购管理功能,包括供货商信息管理、商品采购管理、采购账务记账等;(5)库存查询文件proc_search(),用于实现对商品库存数量查询;(6)商品销售文件proc_sale(),用于实现商品的销售,销售的同时可以实现商品库存的查看。

c商店购物管理系统课程设计报告

c商店购物管理系统课程设计报告

2016-2017学年第二学期《C语言程序设计》课程设计报告题目:商店购物管理系统专业:网络工程班级:16(3)班姓名:代应豪指导教师:代美丽成绩:计算机学院2017 年 4月 25 日目录1设计的内容及要求 (1)1.1设计内容 (1)2概要设计 (2)2.1系统的功能介绍 (2)2.2总体程序框图 (2)3设计模块或程序代码 (3)3.1模块描述 (3)3.2结构体建立语句 (3)3.3主函数定义 (4)4程序设计心得与体会 (10)致谢 (11)源程序 (12)1设计的内容及要求1.1设计内容《商店购物管理系统》用C语言制作一个商店购物系统,为顾客提供一个查询商品,快捷购物的平台。

该系统主要有以下功能:1)购物包括会员购物和普通顾客购物;2)系统需存储会员的一般信息:卡号,姓名,密码,卡上余额,已消费总额等信息,会员购物享受九折优惠;3)非会员顾客消费满200元即可免费成为会员,如果需要可获会员卡一张,即可享受会员服务;4)对于商品查询,系统存储商品的一些基本信息:商品代码,商品名,存放位置,剩余量,单价等,输入商品名即可调出商品的所有信息。

1.2设计任务及具体要求本次程序设计主要侧重于知识的运用,把平时学到的运用到实践中去,对我们所学的理论知识进一步深化。

其次程序设计也是要求学生遵循软件开发过程的基本规范,按要求独立自主完成课程设计任务。

要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。

2概要设计2.1系统的功能介绍该系统的主要功能是实现商品购买,商品信息查询!当购买物品到达一定的金额是,会给出会员来进行打折,会员可进行登录查询,注册!2.2总体程序框图进入购物主界面购物函数模块查询函数模块会员购物函数模块普通顾客购物模块免费注册会员判断暂不注册免费注册会员3 设计模块或程序代码3.1模块描述1.主函数主函数为无返回值空类型函数,主要功能是实现执行购物和查询功能。

C语言课程设计商品信息管理系统

C语言课程设计商品信息管理系统

*******************实践教学*******************软件学院(本科)2014年秋季学期计算机应用基础课程设计说明书题 题题题题题题题题题题题题题题题2014题题题4题题 题题题题题题 题题1417700221题题题题题题题题 题题目录1系统分析 (1)1.1课程设计内容 (1)1.2系统功能需求分析 (1)1.3数据结构设计 (2)2系统设计 (3)2.1总体设计 (3)2.2详细设计 (4)2.2.1界面设计 (4)2.2.2各功能模块的设计 (5)3系统编码设计 (11)3.1main 函数 (11)3.2load 函数 (12)3.3creat 创建链表函数 (13)3.4search 函数 (16)3.5add 数 (20)3.6amend 函数 (22)3.7del 函数 (25)3.8purchase 函数 (26)3.9sales 函数 (28)3.10print 函数 (29)3.11save 函数 (33)3.12menu 函数 (34)4系统运行 (36)5总结 (41)1 系统分析1.1 课程设计内容1设计一商场商品信息管理系统,功能包括:1.文件操作:可建立、打开、保存、关闭数据文件。

2.输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

3.编辑数据:可添加、删除、修改数据。

4.输入进货、销售信息:输入商品编号、数量完成进货或销售操作。

5.计算:应在输入进货及销售信息时,自动更改商品数量。

6.查询:可按商品编号、商品名或类别查询;还可查询需进货的商品。

7.排序:可按编号、名称或类型排序。

8.浏览:可浏览输入、查询或排序后的数据。

1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能:可建立、打开、保存、关闭数据文件。

2、数据输入功能: 数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

以及输入商品编号、数量完成进货或销售操作。

c语言课程设计超市管理系统

c语言课程设计超市管理系统

c语言课程设计超市管理系统一、教学目标本节课的教学目标是使学生掌握C语言编程基础,能够运用C语言实现简单的超市管理系统。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据类型。

–了解函数的定义和调用。

–掌握数组的声明和使用。

–理解指针的概念和应用。

2.技能目标:–能够使用C语言编写简单的程序。

–能够运用函数实现模块化编程。

–能够使用数组存储和管理数据。

–能够运用指针处理内存地址和数据。

3.情感态度价值观目标:–培养学生的编程兴趣和自信心。

–培养学生解决问题的能力和创新精神。

–培养学生团队合作和交流分享的意识。

二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、函数、数组和指针。

具体安排如下:1.C语言的基本语法和数据类型:介绍C语言的构成要素,包括变量、常量、运算符、表达式等。

2.函数的定义和调用:讲解函数的声明、定义和调用方式,并通过实例演示函数的使用。

3.数组的声明和使用:介绍数组的声明、初始化和使用方法,并通过实例展示数组在超市管理系统中的应用。

4.指针的概念和应用:讲解指针的定义、声明和使用,并通过实例说明指针在超市管理系统中的应用。

三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解C语言的基本语法、数据类型、函数、数组和指针的概念和用法。

2.案例分析法:通过分析超市管理系统的实际案例,引导学生运用C语言编程解决实际问题。

3.实验法:安排课堂实验,让学生动手实践,加深对C语言编程的理解和应用。

4.讨论法:学生分组讨论,促进学生之间的交流与合作,培养团队合作精神。

四、教学资源本节课所需的教学资源包括:1.教材:选用权威、实用的C语言教材,为学生提供系统、全面的学习资料。

2.参考书:提供相关领域的参考书籍,拓展学生的知识面。

3.多媒体资料:制作课件、教学视频等多媒体资料,增强课堂教学的趣味性和生动性。

4.实验设备:准备计算机、编程环境等实验设备,确保学生能够动手实践。

C语言课程设计-商场商品信息管理系统

C语言课程设计-商场商品信息管理系统

目录1 系统分析 (2)1.1 课程设计内容 (2)1.2 系统功能需求分析 (2)1.3 数据结构设计 (3)2 系统设计 (3)2.1 总体设计 (3)2.2 详细设计 (4)2.2.1 界面设计 (4)2.2.2 各功能模块的设计 (6)3 系统编码设计 (9)3.1 main函数 (9)4 系统运行 (22)5 总结 (26)1 系统分析1.1 课程设计内容商场商品信息管理系统1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能文件操作:可建立、打开、保存、关闭数据文件。

如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

2、数据输入功能输入进货信息:输入商品编号、数量完成进货操作。

输入销售信息:输入商品编号、数量完成销售操作,注意当销售数量大于商品数量时,应出现错误提示。

3、数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。

修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。

删除:删除一类或多类商品的所有信息。

4、计算功能可通过查询商品信息功能,自动计算并输出需要进货的商品信息。

5、查询功能可分别按商品编号、名称、类别和需要进货的商品进行查询。

6、排序功能可分别按商品编号、名称、类别等进行排序。

7、数据显示功能可分别浏览输入、查询和排序后的商品信息。

1.3 数据结构设计struct goods /*商品结构体*/{ long int num; /*商品编号*/char name[20]; /*商品名称*/char sort[20]; /*商品类别*/long int count; /*商品库存量*/long int price; /*商品单价*/}goods[200]; /*最多200个商品*/2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:一、文件管理⏹文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。

c语言课程设计超市购物系统

c语言课程设计超市购物系统

c语言课程设计超市购物系统一、教学目标本课程的目标是使学生掌握C语言编程的基本知识,能够运用C语言设计并实现一个简单的超市购物系统。

在知识目标方面,要求学生掌握C语言的基本语法、数据类型、运算符、控制结构等。

在技能目标方面,要求学生能够熟练使用C语言进行程序设计,具备解决实际问题的能力。

在情感态度价值观目标方面,要求学生培养对编程的兴趣和热情,培养团队合作意识和自主学习能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。

具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点及应用领域。

2.第二章:基本数据类型和运算符,介绍整型、浮点型、字符型数据及其运算符。

3.第三章:控制结构,介绍顺序结构、选择结构、循环结构。

4.第四章:函数,介绍函数的定义、声明、调用及返回值。

5.第五章:数组和字符串,介绍一维数组、多维数组、字符串的基本操作。

6.第六章:指针,介绍指针的概念、运算及应用。

7.第七章:结构体和联合体,介绍结构体、联合体的定义和应用。

8.第八章:文件操作,介绍文件的基本操作及其应用。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。

在讲授法中,教师通过讲解、示范等方式传授知识;在案例分析法中,教师通过分析实际案例,引导学生运用所学知识解决问题;在实验法中,学生通过动手实践,加深对知识的理解和运用。

四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。

教材选用《C程序设计原理与应用》,多媒体资料包括教学PPT、视频教程等,实验设备包括计算机、网络设备等。

这些资源将有助于学生更好地学习C语言,提高编程能力。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与度、提问回答、团队合作等情况,占总评的30%。

作业主要评估学生的编程能力和理解力,占总评的30%。

考试分为期中考试和期末考试,期中考试占40%,期末考试占60%,考试内容主要包括理论知识及编程实践。

c语言商品信息课程设计

c语言商品信息课程设计

c语言商品信息课程设计一、教学目标本课程旨在通过C语言编程,使学生掌握商品信息管理的基本概念和技能,培养学生的编程思维和问题解决能力。

具体目标如下:知识目标:使学生了解C语言的基本语法和数据结构,掌握结构体和指针的运用,了解动态内存分配,能够使用C语言编写简单的商品信息管理系统。

技能目标:培养学生能够通过C语言实现商品信息的增删改查功能,掌握结构体数组的运用,培养学生编程解决问题的能力。

情感态度价值观目标:培养学生对计算机编程的兴趣,培养学生勇于探索、创新的精神,培养学生团队协作的能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、结构体和指针的运用、动态内存分配以及商品信息管理系统的设计和实现。

具体安排如下:1.C语言的基本语法:介绍C语言的基本数据类型、运算符、表达式、语句等。

2.数据结构:介绍数组、链表、栈和队列等基本数据结构。

3.结构体和指针的运用:介绍结构体的定义和使用,指针的基本概念和运用。

4.动态内存分配:介绍动态内存分配的基本方法,如malloc和calloc。

5.商品信息管理系统的设计和实现:介绍如何使用C语言实现一个简单的商品信息管理系统,包括商品的增删改查等功能。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

1.讲授法:通过讲解C语言的基本语法、数据结构、结构体和指针的运用等理论知识,使学生掌握基本概念。

2.讨论法:通过分组讨论,引导学生深入思考和理解编程问题,培养学生的团队协作能力。

3.案例分析法:通过分析实际案例,使学生了解商品信息管理系统的设计和实现过程。

4.实验法:通过编写代码和调试程序,使学生掌握C语言编程的技巧,培养学生的动手能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C Primer Plus》。

C语言课程设计——商品信息管理系统

C语言课程设计——商品信息管理系统
六、总结
24/23
Sun Create
4 系统特点
➢界面简单明了,功能清晰 ➢操作简单,功能实用 ➢体积小,效率高
25/23
Sun Create
目录
一、概述 二、系统设计 三、功能展示 四、系统特色
六、总结
26/23
Sun Create
5.总结
➢ 刚刚接到这个课题时,感觉无从下手,感觉自己无法完成
大题目,这就像爬山一样,过程是艰辛的,但是当你登上山顶
之后,就会有种畅快淋漓的感觉,我想这就是做编程的乐趣吧
,这是我第一个做的系统,我将会留下很深的印象,我相信以
后我可以做出更好的软件!
27/23
Sun Create
28/23
Sun Create
是否继续输 入
N
结束
提示输入错 误
N N
保存
Sun Create
2 系统设计——函数设计
➢ 销售单据修改函数
Y 提示重复
开始
输入要修改的 单号
单号是否存 在
Y
修改信息
提示单号不存
N

检查是否重 复
N
保存
11/23
结束
Sun Create
2 系统设计——函数设计
➢ 删除函数
开始
输入要删除的 单号
检查单号是 否存在
4/23
Sun Create
1 概述——功能概述
销售单据删除:每次您可以删除一条您所指定销 售单号的记录。
查找功能:输入您所要查询的销售单号,会显示 出您所要查询的记录的信息。
统计功能:可以按销售员统计和统计文件中总共 有多少条记录。
排序功能:根据月商品销售数量对商品编号降序 排序。

用c语言编写商品管理信息系统

用c语言编写商品管理信息系统

商品管理信息系统#include "stdio.h"#include "string.h"#define NAME_MAX_LEN 20#define Prod_MAX_NUM 50typedef struct{int num;char name[NAME_MAX_LEN];double unitprice;int amount;double totalprice;}prodNode;typedef struct sequence{prodNode data[Prod_MAX_NUM];int len;}seq;seq product;void inputGoods(){int i,n;printf("请输入商品个数:\n");scanf("%d",&n);if (n<0)return;for (i=0;i<n;i++){printf("请输入第%d个商品记录。

\n",i+1);printf("输入商品的编号:\n");scanf("%d",&product.data[i].num);printf("输入商品的名字:\n");scanf("%s",product.data[i].name);printf("输入商品的单价:\n");scanf("%lf",&product.data[i].unitprice);printf("输入商品的数量:\n");scanf("%d",&product.data[i].amount);product.data[i].totalprice=product.data[i].unitprice*product.data[i].amount;}product.len=n;}void outputGoods()int i;if (product.len==0){printf("\n无数据!\n");return;}printf("\n商品的记录为:\n");printf("编号\t名字\t单价\t数量\t总价\n");for (i=0;i<product.len;i++){printf("%d\t%s\t%lf\t%d\t%.2lf",product.data[i].num,product.data[i].name,product.data[i].unitpric e,product.data[i].amount,product.data[i].totalprice);printf("\n");}}void saveGoods(){int i;FILE *fp;if (product.len==0){printf("\n无数据!\n");return;}fp=fopen("d:\\商品管理信息系统\\goods.txt","w");if (fp==NULL){printf("文件打开失败!\n");return;}for (i=0;i<product.len;i++){ fprintf(fp,"\n");fprintf(fp,"%d\t",product.data[i].num);fprintf(fp,"%s\t",product.data[i].name);fprintf(fp,"%lf\t",product.data[i].unitprice);fprintf(fp,"%d\t",product.data[i].amount);fprintf(fp,"%.2lf",product.data[i].totalprice);}fclose(fp);printf("已成功存盘!\n");void readGoods(){int i;FILE *fp;fp=fopen("d:\\商品管理信息系统\\goods.txt","r");if (fp==NULL){printf("文件打开失败!\n");return;}i=0;while (!feof(fp)){fscanf(fp,"%d",&product.data[i].num);fscanf(fp,"%s",product.data[i].name);fscanf(fp,"%lf",&product.data[i].unitprice);fscanf(fp,"%d",&product.data[i].amount);fscanf(fp,"%lf",&product.data[i].totalprice);i++;}product.len=i;fclose(fp);printf("已从文件成功读取%d条成绩记录!\n",product.len); }void insertOneGoods(){prodNode G;int i,pos;if (product.len==Prod_MAX_NUM){printf("表已满!\n");return;}printf("请输入插入位置:");scanf("%d",&pos);if (pos<0||pos>product.len){ printf("插入位置出错!\n");return;}printf("请输入要插入的商品记录:\n");printf("请输入编号:");do {scanf("%d",&G.num);if (G.num<=0)printf("输入的编号不合理,请重新输入。

商品信息管理系统(C语言课程设计)

商品信息管理系统(C语言课程设计)

#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#define N 100struct commodity{char option[20];char name[20];char price[10];char production_date[8];char stale_date[8];char finished_goods[20];char saleroom[20];};void print_1();void create();void edit();void print_2(); /*invoked of edit*/void edit_add(); /*invoked of edit*/void edit_modify(); /*invoked of edit*/void edit_delete(); /*invoked of edit*/void delete_option(); /*invoked of 2delete*/void delete_name(); /*invoked of 2delete*/void show();void search();void search_option(); /*invoked of search*/void search_name(); /*invoked of search*/main(){char choose='\0',yes_no='\0';do{print_1();choose=getch();switch(choose){case'1':create();break; /*create information of commodity*/case'2':edit();break; /*edit information of commodity*/case'3':show();break; /*show information of commodity*/case'4':search();break; /*search information of commodity*/case'0':exit(0);default:printf("\n %c is illegality option!\n",choose);}printf("\n Do you want to continue(y/n)?");do{yes_no=getche();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}void print_1() /*show limiting surface of menu*/{clrscr(); /*clearn screen of function*/printf("********************************************************************* ***********\n");printf("************** Manage'system of Commodity Information *************\n");printf("********************************************************************* ***********\n");printf(" |***********************************************|\n");printf(" | Please input option number |\n");printf("|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");printf(" | 1-----Create commodity information |\n");printf(" | 2-----Edit commodity information |\n");printf(" | 3-----Show commodity information |\n");printf(" | 4-----Search commodity information |\n");printf(" | 0-----Exit system |\n");printf(" |***********************************************|\n"); }void create() /*create information of commodity for function*/{int i=0,j,num;struct commodity temp={0};FILE *fp=NULL;fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File of information of commodity opening failed.\n");return ;}clrscr(); /*clearn screen of function*/ printf("Please input want to input the number of goods!");scanf("%d",&num);for(j=1;num>=j;j++){printf("\nPlease input %d record:\n",j);printf(" number:");do{gets(temp.option);}while(strcmp(temp.option,"")==0);printf(" name:");gets();printf(" price:");gets(temp.price);printf(" production:");gets(temp.production_date);printf(" stale_date:");gets(temp.stale_date);printf(" finished_goods:");gets(temp.finished_goods);printf(" saleroom:");gets(temp.saleroom);fprintf(fp,"%s %s %s %s %s %s %s\n",temp.option,,temp.price,temp.production_date,temp.stale_date,temp.finished_goods,temp.stale_date);i++;}fclose(fp);}void edit() /*edit information of commodity for function*/ {char choose='\0',yes_no='\0',pass[20]={0},old[20]={0},w;int i=0,j,m=0;FILE *fp_code;fp_code=fopen("D:\\code.txt","r");if(fp_code==NULL){printf("\n File of code opening failed.\n");return ;}fscanf(fp_code,"%s",old);fclose(fp_code);for(j=0;j<=2;j++){printf("Intput password:");i=0;do{w=getch();if(w!='\r'){putch('*');pass[i]=w;i++;}elsebreak;}while(1);if(strcmp(pass,old)==0)break;else{printf("\nYour code is wrong\n");m++;if(m>=3)exit(1);}}do{print_2();printf(" ");choose=getch();switch(choose){case'1':edit_add();break; /*add new information of commodity*/case'2':edit_modify();break; /*modify information of commodity*/case'3':edit_delete();break; /*delete information of commodity*/case'0':exit(0);default:printf("\n %c is illegality option!\n",choose);}printf("\n Do you want to continue(y/n)?");do{yes_no=getche();}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');}while(yes_no=='Y'||yes_no=='y');}void print_2() /*show limiting surface of menu*/{clrscr(); /*clearn screen of function*/printf("********************************************************************* ***********\n");printf("************** Manage'system of Commodity Information *************\n");printf("********************************************************************* ***********\n");printf(" |***********************************************|\n");printf(" | Please input option number |\n");printf("|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n");printf(" | 1-----Add commodity information |\n");printf(" | 2-----Modify commodity information |\n");printf(" | 3-----Delete commodity information |\n");printf(" | 0-----Exit system |\n");printf(" |***********************************************|\n"); }void edit_add() /*add new information of commodity*/{char c='\0';int n=0;struct commodity temp={0},record[N]={0},*p=NULL;FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening failed.\n");return;}p=record;while(feof(fp)==0){fscanf(fp,"%s%s%s%s%s%s%s",p->option,p->name,p->price,p->production_date,p->stale_d ate,p->finished_goods,p->saleroom);p++;n++;}fclose(fp);do{printf("\n Please input new option:");do{gets(temp.option);}while(strcmp(temp.option," ")==0);printf(" Please input new name:");gets();printf(" Please input new price:");gets(temp.price);printf(" Please input new production:");gets(temp.production_date);printf(" Please input new stale_date:");gets(temp.stale_date);printf(" Please input new finished_goods:");gets(temp.finished_goods);printf(" Please input new saleroom:");gets(temp.saleroom);for(p=record;p<record+n;p++)if(strcmp(temp.option,p->option)==0){printf("\n The option is repeat,if you want to input again(y/n)?");do{c=getche();}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');putchar('\n');break;}if(p==record+n){*p=temp;break;}}while(c=='y'||c=='Y');fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File opening failed.\n");return;}for(p=record;p<record+n+1;p++)fprintf(fp,"\n%6s%10s%8s%8s%8s%8s%8s",p->option,p->name,p->price,p->production_dat e,p->stale_date,p->finished_goods,p->saleroom);fclose(fp);}void edit_modify() /*modify information of commodity*/{char c='\0';int n=0;struct commodity *find=NULL,temp={0},record[100]={0},*p=NULL;FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening failed.\n");return;}p=record;while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",p->option,p->name,p->price,p->production_date,p->stale_d ate,p->finished_goods,p->saleroom);p++;n++;}fclose(fp);if(n==0){printf("\n No record in this file.\n");return;}printf("\n Please input you want to commodity'option:");gets(temp.option);for(p=record;p<record+n;p++)if(strcmp(temp.option,p->option)==0){find=p;break;}if(p==record+n){printf("\n No this commodity.\n");return;}do{printf("\n Please input right option.:");do{gets(temp.option);}while(strcmp(temp.option," ")==0);printf(" Please input right name:");gets();printf(" Please input right price:");gets(temp.price);printf(" Please input right production:");gets(temp.production_date);printf(" Please input right stale_date:");gets(temp.stale_date);printf(" Please input right finished_goods:");gets(temp.finished_goods);printf(" Please input right saleroom:");gets(temp.saleroom);for(p=record;p<record+n;p++)if(strcmp(temp.option,p->option)==0&&(p!=find)){printf("\n The option is repeat,do you want to continue?(y/n)");do{c=getche();}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');putchar('\n');break;}if(p==record+n){*find=temp;break;}}while((c=='y')||(c=='Y'));fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File opening is failed.\n");return;}for(p=record;p<record+n;p++)fprintf(fp,"\n%6s%10s%8s%8s%8s%8s%8s",p->option,p->name,p->price,p->production_dat e,p->stale_date,p->finished_goods,p->saleroom);fclose(fp);}void edit_delete() /*delete information of commodity*/{char c='\0';printf("\n According to the option(o) to delete, delete or by the name(n)?");c=getche();if(c=='o'||c=='O')delete_option();elseif(c=='n'||c=='N')delete_name();elseprintf("\n This char is illegal.\n");}void delete_option() /*delete information of commodity by option*/{char tempoption[10]=" ";int n=0;struct commodity record[N]={0},*p=NULL,*k=NULL;FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening is failed.\n");return;}p=record;while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",p->option,p->name,p->price,p->production_date,p->stale_d ate,p->finished_goods,p->saleroom);p++;n++;}fclose(fp);printf("\n Please input you want to delete the option:");gets(tempoption);for(k=record;k<record+n;k++)if(strcmp(tempoption,k->option)==0)break;if(k<record+n)for(p=k;p<k+n-1;p++)*p=*(p+1);elseprintf("\n No such commodify.\n");fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File opening failed.\n");return;}for(p=record;p<record+n-1;p++)fprintf(fp,"\n%6s%10s%8s%8s%8s%8s%8s",p->option,p->name,p->price,p->production_dat e,p->stale_date,p->finished_goods,p->saleroom);fclose(fp);}void delete_name() /*delete information of commodity by name*/ {char tempname[20]="";int n=0;struct commodity record[N]={0},*p=NULL,*k=NULL;FILE *fp=NULL;fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File opening failed.\n");return;}p=record;while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",p->option,p->name,p->price,p->production_date,p->stale_d ate,p->finished_goods,p->saleroom);p++;n++;}fclose(fp);printf("\n Please input you want to delete the name:");gets(tempname);for(k=record;p<(record+n-1);p++)if(strcmp(tempname,k->name)==0)break;if(record+n)for(p=k;p<k+n-1;p++)*p=*(p+1);elseprintf("\n No such commodity.\n");fp=fopen("D:\\commodity.txt","w");if(fp==NULL){printf("\n File opening failed.\n");return;}for(p=record;p<record+n-1;p++)fprintf(fp,"\n%6s%10s%8s%8s%8s%8s%8s",p->option,p->name,p->price,p->production_dat e,p->stale_date,p->finished_goods,p->saleroom);fclose(fp);}void show() /*show information of commodity*/{int n=0;struct commodity temp={0};FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening failed.\n");return;}clrscr(); /*clearn screen of function*/printf(" option name price production stale_date finishde_good saleroom\n");while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",temp.option,,temp.price,temp.production_date,temp.stale_date,temp.finished_goods,temp.stale_date);printf("\n%5s%11s%8s%10s%10s%15s%14s",temp.option,,temp.price, temp.production_date,temp.stale_date,temp.finished_goods,temp.stale_date);n++;}if(n==0)printf("\n This file has not commodity information.\n");elseprintf("\n This file has commodity'quantity is %d.",n);fclose(fp);}void search() /*search information of commodity*/{char c='\0';printf("\n According to the option(o) to inquires, inquires or by the name(n)?");c=getche();if(c=='o'||c=='O')search_option(); /*search information of commodity by option*/elseif(c=='n'||c=='N')search_name(); /*search information of commodity by name*/ elseprintf("\n This char is illegal.\n");}void search_option() /*search information of commodity by option*/{int flag=0,n=0;char tempoption[10]="";struct commodity temp={0};FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening failed.\n");return;}printf("\n Please input you want to search commodity information by option:");gets(tempoption);while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",temp.option,,temp.price,temp.production_date,te mp.stale_date,temp.finished_goods,temp.saleroom);if(strcmp(tempoption,temp.option)==0){if(flag==0)printf(" option name price production stale_date finishde_good saleroom\n");printf("\n%5s%11s%8s%10s%10s%15s%14s",temp.option,,temp.price,temp.production_date,temp.stale_date,temp.finished_goods,temp.stale_date);flag=1;}n++;}if(n==0)printf("\n This file has not commodity'information.\n");elseif(flag==0)printf("\n This file has not this commodity.\n");fclose(fp);}void search_name() /*search information of commodity by name*/{int flag=0,n=0;char tempname[10]="";struct commodity temp={0};FILE *fp=NULL;fp=fopen("D:\\commodity.txt","r");if(fp==NULL){printf("\n File opening failed.\n");return;}printf("\n Please input you want to search commodity information by option:");gets(tempname);while(!feof(fp)){fscanf(fp,"%s%s%s%s%s%s%s",temp.option,,temp.price,temp.production_date,te mp.stale_date,temp.finished_goods,temp.saleroom);if(strcmp(tempname,)==0){if(flag==0)printf(" option name price production stale_date finishde_good saleroom\n");printf("\n%5s%11s%8s%10s%10s%15s%14s",temp.option,,temp.price,temp.production_date,temp.stale_date,temp.finished_goods,temp.stale_date);flag=1;}n++;}if(n==0)printf("\n This file has not commodity'information.\n");elseif(flag==0)printf("\n This file has not this commodity.\n");fclose(fp);}。

c课程设计商品管理系统

c课程设计商品管理系统

c 课程设计商品管理系统一、教学目标本课程的教学目标是使学生掌握商品管理系统的基本概念、设计和实现方法。

通过本课程的学习,学生将能够理解商品管理系统的业务流程,掌握系统设计的基本原则和技术,提高解决实际问题的能力。

1.了解商品管理系统的起源和发展历程。

2.掌握商品管理系统的业务流程和基本功能。

3.理解商品管理系统的设计原则和技术架构。

4.能够运用相关工具和技术进行商品管理系统的需求分析。

5.能够根据需求分析结果设计商品管理系统的基本架构。

6.能够编写商品管理系统的核心代码,并进行调试和优化。

情感态度价值观目标:1.培养学生对商品管理系统的兴趣,提高其主动学习和探索的精神。

2.培养学生团队协作的能力,使其能够有效地与他人共同完成任务。

3.培养学生关注社会问题,提高其对商品管理系统在社会中的作用和价值的认识。

二、教学内容本课程的教学内容主要包括商品管理系统的基本概念、业务流程、设计原则和技术架构。

具体包括以下几个部分:1.商品管理系统的基本概念:介绍商品管理系统的发展历程、定义、功能和应用场景。

2.商品管理系统的业务流程:讲解商品管理系统的各个环节,如商品信息管理、库存管理、销售管理等。

3.商品管理系统的设计原则:阐述商品管理系统设计时应遵循的原则,如模块化、灵活性、可扩展性等。

4.商品管理系统的技术架构:介绍商品管理系统常用的技术架构,如客户端/服务器架构、B/S架构等。

5.商品管理系统的实现方法:讲解如何根据设计原则和技术架构实现一个商品管理系统,包括需求分析、系统设计、编码实现等步骤。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。

主要教学方法包括:1.讲授法:教师讲解商品管理系统的基本概念、设计原则和技术架构,为学生提供系统的知识结构。

2.案例分析法:分析实际案例,使学生更好地理解商品管理系统的业务流程和实现方法。

3.实验法:让学生动手编写代码,实现商品管理系统的部分功能,提高学生的实际操作能力。

C语言商品信息管理系统

C语言商品信息管理系统

C语言商品信息管理系统#include#includestruct shmas{int no;char name[40];float jinjia;float shoujia;int jinhuo;int xiaoshou;int shengyu;struct shmas *next;};struct shmas *creat(int a);void print(struct shmas *he,int b,int w);struct shmas *insert(struct shmas *hi,struct shmas *hq);struct shmas *del(struct shmas *hv,int v);int main(){int n,x,o,z,l,u;struct shmas *h1,*h2,*h3;printf("***************************欢迎使用商品管理系统!!***************************\n");printf("首先请先创造一个商品文档\n");printf("请输入商品种类的数目:");scanf("%d",&n);h1=creat(n); //在这里开始建立一个大的循环,还需一个清屏函数do{system("cls");h3=h1;while(h3->next!=0){h3=h3->next;}print(h1,h3->no,0);printf("请选择你要进行的功能(按下与之对应的数字键):\n"); printf("1、添加新的商品\n");printf("2、删除已有的商品\n");printf("3、统计销售状况\n");printf("4、显示商品的信息\n");printf("5、退出系统\n");scanf("%d",&x);switch(x){case 1:printf("请输入要添加商品种类的数目:");scanf("%d",&o);h2=creat(o);h1=insert(h2,h1);break;case 2:printf("请输入要删除商品种类的编号:");scanf("%d",&z);h1=del(h1,z);break;case 3:print(h1,h3->no,1);printf("按任意键数字键继续系统运行:\n"); scanf("%d",&l);switch(l){case 1:default:break;}printf("继续运行程序。

C语言课程设计--商品信息管理系统

C语言课程设计--商品信息管理系统

*******************实践教学*******************软件学院(本科)2014年秋季学期计算机应用基础课程设计说明书题目:公司产品管理系统专业班级:2014级软件4班姓名:苏旺春学号:1417700221指导教师:马威成绩:目录1系统分析 (1)1.1课程设计内容 (1)1.2系统功能需求分析 (1)1.3数据结构设计 (2)2系统设计 (3)2.1总体设计 (3)2.2详细设计 (4)2.2.1界面设计 (4)2.2.2各功能模块的设计 (5)3系统编码设计 (11)3.1main 函数 (11)3.2load 函数 (12)3.3creat 创建链表函数 (13)3.4search 函数 (16)3.5add 数 (20)3.6amend 函数 (22)3.7del 函数 (25)3.8purchase 函数 (26)3.9 sales 函数 (28)3.10 print 函数 (29)3.11 save 函数 (33)3.12 menu 函数 (34)4 系统运行 (36)5 总结 (41)1 系统分析1.1 课程设计内容1 设计一商场商品信息管理系统,功能包括:1. 文件操作:可建立、打开、保存、关闭数据文件。

2. 输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

3. 编辑数据:可添加、删除、修改数据。

4. 输入进货、销售信息:输入商品编号、数量完成进货或销售操作。

5. 计算:应在输入进货及销售信息时,自动更改商品数量。

6. 查询:可按商品编号、商品名或类别查询;还可查询需进货的商品。

7. 排序:可按编号、名称或类型排序。

8. 浏览:可浏览输入、查询或排序后的数据。

1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能:可建立、打开、保存、关闭数据文件。

2、数据输入功能: 数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

购物管理系统c语言课程设计

购物管理系统c语言课程设计

购物管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在购物管理系统中的应用,掌握基本数据类型、变量、运算符和表达式;2. 学会使用C语言控制结构(如顺序、选择、循环结构),实现购物管理系统的功能模块;3. 掌握数组、函数、指针在购物管理系统中的运用,实现商品信息、用户信息的存储和管理;4. 了解文件操作在购物管理系统中的应用,实现对数据的持久化存储。

技能目标:1. 能够运用C语言编写简单的购物管理系统程序,实现商品浏览、购买、支付等基本功能;2. 学会使用调试工具,分析并解决程序中出现的错误;3. 能够根据实际需求,设计和优化购物管理系统的功能模块,提高程序的可用性和可维护性;4. 培养良好的编程习惯,编写规范、简洁、高效的代码。

情感态度价值观目标:1. 激发学生对C语言编程的兴趣,培养主动学习和解决问题的能力;2. 培养学生的团队协作精神,学会与他人共同分析和解决问题;3. 增强学生的实践能力,认识到编程在实际应用中的重要性;4. 培养学生诚实守信、认真负责的品质,树立正确的价值观。

本课程旨在帮助学生将所学的C语言知识应用于购物管理系统的实际开发中,通过实践提高编程能力,培养良好的编程习惯,同时关注团队协作和价值观的培养,为将来的学习和工作打下坚实基础。

二、教学内容1. C语言基础知识回顾:- 变量、数据类型、常量- 运算符、表达式、语句- 顺序结构程序设计2. 控制结构:- 选择结构(if、switch)- 循环结构(for、while、do-while)3. 函数与模块化设计:- 函数定义、调用、声明- 作用域规则、局部变量、全局变量- 模块化设计理念4. 数组与指针:- 数组的定义、初始化、访问- 指针的概念、操作、应用- 指针与数组的关系5. 文件操作:- 文件打开、关闭、读写- 文件存储格式、数据持久化6. 购物管理系统功能模块设计:- 商品信息管理- 用户信息管理- 购物车功能实现- 订单管理7. 编程规范与调试:- 代码风格、命名规则- 调试技巧、错误处理8. 实践项目:- 搭建购物管理系统框架- 编写各功能模块代码- 系统测试、优化教学内容将按照以上大纲进行安排和进度规划,与课本内容紧密关联,确保学生能够将所学知识应用于实际项目中。

C课程设计商店管理系统

C课程设计商店管理系统

c 课程设计商店管理系统一、教学目标本课程的教学目标是使学生掌握商店管理系统的基本概念、原理和实现方法。

通过本课程的学习,学生将能够:1.理解商店管理系统的需求和功能;2.掌握商店管理系统的基本架构和设计原则;3.熟悉商店管理系统的主要模块和操作流程;4.学会使用商店管理系统进行日常商店管理;5.能够对商店管理系统进行简单的维护和升级。

二、教学内容本课程的教学内容主要包括以下几个部分:1.商店管理系统的需求分析:介绍商店管理系统的功能和需求,分析商店管理系统的目标用户和应用场景;2.商店管理系统的设计:讲解商店管理系统的基本架构和设计原则,介绍商店管理系统的主要模块和操作流程;3.商店管理系统的实现:教授学生如何使用商店管理系统进行日常商店管理,包括商品管理、库存管理、销售管理等;4.商店管理系统的维护和升级:讲解如何对商店管理系统进行维护和升级,以保证系统的稳定性和可靠性。

三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法相结合的方式进行教学。

1.讲授法:通过讲解和演示,使学生掌握商店管理系统的基本概念、原理和操作方法;2.案例分析法:通过分析实际案例,使学生更好地理解和应用商店管理系统的知识和技能;3.实验法:通过实际操作和模拟实验,使学生熟练掌握商店管理系统的使用和维护方法。

四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备等。

1.教材:选用合适的教材,为学生提供系统的理论知识和实践指导;2.多媒体资料:制作多媒体课件和教学视频,丰富教学手段,提高学生的学习兴趣和效果;3.实验设备:准备相应的实验设备,为学生提供实践操作的机会,培养学生的实际操作能力。

五、教学评估本课程的评估方式包括平时表现、作业和考试等。

评估方式应客观、公正,能够全面反映学生的学习成果。

1.平时表现:通过课堂参与、提问和小组讨论等方式评估学生的平时表现,占总评的30%;2.作业:布置适量的作业,评估学生的理解和应用能力,占总评的20%;3.考试:进行期中考试和期末考试,评估学生对课程知识的掌握程度,占总评的50%。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1 系统分析 (2)1.1 课程设计内容 (2)1.2 系统功能需求分析 (2)1.3 数据结构设计 (3)2 系统设计 (3)2.1 总体设计 (3)2.2 详细设计 (4)2.2.1 界面设计 (4)2.2.2 各功能模块的设计 (6)3 系统编码设计 (9)3.1 main函数 (9)4 系统运行 (22)5 总结 (26)1 系统分析1.1 课程设计内容商场商品信息管理系统1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能文件操作:可建立、打开、保存、关闭数据文件。

如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。

2、数据输入功能输入进货信息:输入商品编号、数量完成进货操作。

输入销售信息:输入商品编号、数量完成销售操作,注意当销售数量大于商品数量时,应出现错误提示。

3、数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。

修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。

删除:删除一类或多类商品的所有信息。

4、计算功能可通过查询商品信息功能,自动计算并输出需要进货的商品信息。

5、查询功能可分别按商品编号、名称、类别和需要进货的商品进行查询。

6、排序功能可分别按商品编号、名称、类别等进行排序。

7、数据显示功能可分别浏览输入、查询和排序后的商品信息。

1.3 数据结构设计struct goods /*商品结构体*/{ long int num; /*商品编号*/char name[20]; /*商品名称*/char sort[20]; /*商品类别*/long int count; /*商品库存量*/long int price; /*商品单价*/}goods[200]; /*最多200个商品*/2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:一、文件管理⏹文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。

二、进出货管理⏹商品进货: 输入数据后商品信息能自动更新进行添加⏹商品销售: 输入数据后商品信息能自动更新进行减少三、商品数据管理⏹增加/删除商品: 添加或删除某条商品的信息⏹修改商品信息: 对某条商品的信息进行修改四、浏览商品信息管理⏹查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询⏹排序商品信息: 可按商品编号、名称、类别分别排排序⏹浏览商品信息:可浏览输入、查询或排序后的数据。

(此处可用图形描述功能模块划分,类似下图)2.2 详细设计2.2.1 界面设计1、菜单设计⏹欢迎界面:⏹系统提示:商场商品信息管理系统商品数据管理浏信览息商管品理文件管理进出货管理打开关闭保存查询数据输入数据排序数据修改添加出货进货删除菜单设计:2、输入界面的设计3、信息显示界面的设计2.2.2 各功能模块的设计根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)1、主函数main()定义主函数为空类型(void);利用选择结构(switch)实现在在主函数中的调用各个子函数,利用goto 和子函数中的return语句实现返回主菜单的循环。

声明各个子函数输出欢迎界面输出菜单switch(m)1 输入商品信息2 排序商品信息3 输入商品进货信息4 输入商品销售信息5 增加/删除商品6 修改商品信息7 查询商品信息8 浏览商品信息9 保存商品信息清屏幕2、子函数(1)void input():< 输入函数 >确定新的库存量n,输入商品信息,用for循环语句直到输入商品种类等于n,结束输入;(2)void sequence():< 排序函数 >对已有的商品进行排序,可按商品编号、名称、类别进行排序;(3)void purchase():< 进货函数 >进货函数主要是针对已有库存的商品,在原来的商品数量再增加:(4)void sale():< 销售函数 >要求用户输入所销售的编号,系统用for 循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:(5)void edit():< 添加/删除商品 >因为在进货函数已经实现对已有商品的数量的增加,此模块函数主要实现对新商品的添加或对旧商品的删除,并自动处理数据,可以在浏览中输出,用选择语句switch进行俩者操作的选择:(6)void correct():< 修改数据函数 >对有错误信息商品进行修改,输入需要修改的商品编号,用for 循环与if语句找到此商品,重新输入该商品的新信息,并输出:(7)void search():< 查询函数 >用switch(k)语句可分别按商品编号、名称、类别或需要进货商品查询;每个case 选择中均用for语句查找要查询的商品,并输出查询结果。

(8)void scan():< 浏览商品函数 >可分别进行浏览输入的商品信息、查询的商品信息、排序后商品信息,用switch 进行这三种方式的选择。

(9)void reserve():< 保存文件 >建立文件FILE *fp;char file[15]用来存放文件保存路径以及文件名,进行清屏,输入文件路径及文件名,利用fp=fopen("file","w+")实现创建并打开一个文件,并得到该文件的地址的功能,显示fprintf(fp,"商品编号\t商品名 \t 商品类别\t商品数量\t商品价格\n"); 最后输出已保存文件,程序中是由PR("商品编号\t商品名 \t商品类别\t商品数量\t商品价格\n");语句执行。

3 系统编码设计(这部分将代码列出,注意,每个函数开始处要介绍函数的功能,重要的代码应有注释,代码格式按锯齿式编排)3.1 main函数#include"stdio.h"#include"string.h"#include"stdlib.h"#define PR printf#define SC scanfstruct goods{long int num;char name[20];char sort[20];long int count;long int price;}goods[200];int k,n,i;void main (){void input();void sequence();void purchase();void sell();void edit();void correct();void search();void scan();void reserve();void exit();PR("\n******************************************************************\n *\t\t\t\t\t\t\t\t *\n");PR(" * ▏▎▍▌ ▋▊█ ▇▆▅▄ ▃▂▁*");PR("\n *\t\t\t\t\t\t\t\t *\n * Welcome\t\t\t\t\t\t *\n *\t\t\t\t\t\t\t\t *\n");PR(" *\t\t to go into ....\t\t\t\t * ");PR("\n *\t\t\t\t\t\t\t\t *\n");PR(" * -the Goods Information Manageaent System- *\n *\t\t\t\t\t\t\t\t *\n ");PR(" * ▁▂▃▄ ▅▆▇█ ▉▊▋▌ ▍▏*\n");PR(" *\t\t\t\t\t\t\t\t *\n ******************************************************************");PR("\n\n\tPlease press any key to continue:");getch();system("cls");PR("\n\n ---$-----$--------$----------$-----------$---------$-------$------$-----$---");PR("\n 系统使用--温馨提示:\n\n →商品编号、数量、单价:采用十进制数,规定长度最长为8位;\n\n →商品名称为26位字母组成字符串,长度最长为20位;\n\n\t →商品类别:以26个小写字母分别代表着26种商品类别;\n\n\t →该商品需要进货的库存量:count<50;\n");PR(" ---$-----$--------$----------$-----------$---------$-------$------$-----$---");PR(" \nplease press any key to continue");getch();system("cls"); /*清屏*/lp: for(i=0;i<1;i++)PR("\n\n——★—☆——★—☆——☆—★——☆—★——☆—☆——★—\n");PR("\n\t\t\t 商品信息管理系统\t\n\n");PR("\t 1 →输入商品信息\n\n");PR("\t 2 →排序商品信息\n\n");PR("\t 3 →输入进货信息\t\t6 →修改商品信息\n\n");PR("\t 4 →输入销售信息\t\t7 →查询商品信息\n\n");PR("\t 5 →增加/删除商品\t\t8 →浏览商品信息\n\n");PR("\t\t\t\t\t9 →保存商品信息\n\n");PR(" \t\t ——☆—★——☆—★——☆—☆——★—☆——★—☆——★—");/*菜单选择界面*/PR("\n\n");PR("\t请选择您所要的操作(或选择(0)退出):");SC("%d",&k);system("cls");switch(k) /*用switch语句实现功能选择*/{case 1: input();break;case 2: sequence();break;case 3: purchase();break;case 4: sell();break;case 5: edit();break;case 6: correct();break;case 7: search();break;case 8: scan();break;case 9: reserve();break;case 0: PR("\n\n\t / / / / / ^_^ \\ \\ \\ \\ \\ \n\n\t…………谢谢使用,欢迎再来,再见O(∩_∩)O…………");exit(0); /*退出系统*/default: puts("输入错误,请按任意健返回主菜单:\n"); break;}system("cls"); /*清屏*/goto lp; /*返回主界面*/}void input() /*功能1:输入商品信息*/{PR("\n 请输入需要建立新库存的商品种类数量:");SC("%d",&n);system("cls");PR("\n …………………………………………………………………………………………………\n");for(i=0;i<n;i++) /*用循环实现输入n个商品*/{PR("\n\t*请输入商品的编号:");SC("%ld",&goods[i].num);PR("\n\t 请输入商品的名称:");SC("%s",goods[i].name);PR("\n\t 请输入商品的种类:");SC("%s",goods[i].sort);PR("\n\t 请输入商品的数量:");SC("%d",&goods[i].count);PR("\n\t 请输入商品的单价:");SC("%d",&goods[i].price);PR("\n …………………………………………………………………………………………………\n");}PR("\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(goods[i].sort,goods[i+1].sort);strcpy(goods[i+1].sort,p2);}PR("--------------------------------------------------------------------------------");PR("\n\t\t按商品编号排序后的商品信息\n\n");PR("\t商品编号商品名称商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){PR("\t %5ld %5s %5s %5ld %5ld\n",goods[i]. num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);}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);}PR("--------------------------------------------------------------------------------");PR("\n\t\t按商品名称排序后的商品信息\n");PR("\n\t商品名称商品编号商品类别商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){PR("\t %5s %5ld %5s %5ld %5ld\n",goods[i].nam e,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(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);}PR("--------------------------------------------------------------------------------");PR("\n\t\t按商品类别排序后的商品信息\n\n");PR("\t商品类别商品编号商品名称商品数量商品单价\n"); /*输出排序后商品信息*/for(i=0;i<n;i++){PR("\t %5s %5ld %5s %5ld %5ld\n",goods[i]. sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);}PR("--------------------------------------------------------------------------------");PR("please press any key to continue:");getch();return; /*返回主界面*/}void purchase() /*功能3:进货商品信息*/{long temp; /*定义临时变量表示刚进货的商品编号*/int j;PR("\n\t\5请输入刚进货的商品编号:");SC("%ld",&temp);PR("\n\t\5请输入刚进货的商品数量:");SC("%d",&j);PR("\n\n\n\tpress any key to contiue:");getch();system("cls");PR("\n\t输出进货后的商品信息:");for(i=0;i<n;i++) /*循环,寻找与进货相同的商品信息*/if(temp==goods[i].num)goods[i].count=goods[i].count+j; /*自动更改商品数量*/ PR("\n\t商品编号商品名商品类别商品数量商品价格");for(i=0;i<n;i++) /*循环,输出进货后的商品信息*/{PR("\n\t %4ld %4s %4s %ld %4ld",goods[i].num,g oods[i].name,goods[i].sort,goods[i].count,goods[i].price);}PR("\n\n\t\tPress any key to enter menu:");getch(); /*返回功能选择界面*/return;}void sell() /*功能4:销售商品信息*/{long temp; /*定义临时变量temp表示刚销售的商品编号*/int j;PR("\n\t\5请输入刚销售的商品编号:");SC("%ld",&temp);PR("\n\t\5请输入刚销售的商品数量:");SC("%d",&j);for(i=0;i<n;i++) /*循环,找到刚销售的商品信息*/{if(temp==goods[i].num){for(;j>goods[i].count;) /*如果销售额大于库存量,则出现错误提示*/{PR("\n\t售出数量大于商品原有数量,出现错误,请重新输入:");SC("%d",&j);}goods[i].count=goods[i].count-j; /*完成自动更改商品数量的功能*/}}PR("\n\tpress any key to contiue:");getch();system("cls"); /*清屏*/PR("\n\n *销售后商品信息:");PR("\n\t商品类别商品编号商品名称商品数量商品单价\n");for(i=0;i<n;i++) /*循环,输出销售后商品信息*/{PR("\t %4s %4ld %4s %4ld %4ld\n",goods[i ].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);}PR("\n\tPress any key to enter menu:");getch();return; /*返回功能选择界面*/void edit() /*功能5:添加或删除商品信息*/{void add(); /*声明子函数*/void dele();PR("\n\t请选择:1.添加商品信息; 2.删除商品信息;");PR("\t*请输入1或2 继续:");SC("%d",&k);switch(k) /*用switch语句实现功能选择*/{case 1: add();break;case 2: dele();break;}getch();return; /*返回主菜单*/}void add() /*添加商品信息*/{/*定义子函数*/PR("\t*请输入所添加商品的商品编号:");SC("%ld",&goods[n].num);PR("\n\t请输入所添加商品的名称:");SC("%s",goods[n].name);PR("\n\t请输入所添加商品的类别:");SC("%s",goods[n].sort);PR("\n\t请输入所添加商品的数量:");SC("%d",&goods[n].count);PR("\n\t请输入所添加商品的价格:");SC("%d",&goods[n].price);n=n+1;PR("\n");}void dele() /*删除商品信息*/{/*定义子函数*/int temp; /*定义局部变量*/int j;for(i=0;i<n;i++){PR("\n\t商品编号商品名商品类别商品数量商品价格"); PR("\n\t %5ld %5s %5s %5ld %5ld",goods[i].n um,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);PR("\n");PR("\n");PR("\n*请输入要删除的商品编号:");SC("%ld",&temp);PR("\n\n");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++){PR("\n\t商品编号商品名商品类别商品数量商品价格"); /*输出删除后的商品信息*/PR("\n\t %5ld %5s %5s %5ld %5ld",goods[i].n um,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);PR("\n");}PR("Please press any key to continue:");getch();return; /*返回主界面*/}void correct() /*功能6:修改商品信息*/{long temp; /*定义局部变量*/PR("\n\t请输入要修改的商品的编号:");SC("%ld",&temp); /*输入新的商品信息*/PR("\n");for(i=0;i<n;i++) /*保存新的商品信息*/{if(temp==goods[i].num){PR("\t请输入一个新的的商品编号:");SC("%ld",&goods[i].num);PR("\n\t请输入新的商品的名称:");SC("%s",goods[i].name);PR("\n\t请输入新的商品的类别:");SC("%s",goods[i].sort);PR("\n\t请输入新的商品的数量:");SC("%d",&goods[i].count);PR("\n\t请输入新的商品价格:");SC("%d",&goods[i].price);PR("\n");}}for(i=0;i<n;i++){PR("\n\t新的商品名称商品编号商品类别商品数量商品单价\n");PR("\t %4s %4ld %4s %4ld %4 ld",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);PR("\n");}PR("Please press any key to continue:"); /*返回功能选择界面*/getch();return; /*返回主菜单*/}void search() /*功能7:查询商品信息*/{int k; /*定义局部变量*/long temp1;char temp2[30],temp3[20];PR("\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货的商品,请按4\n");PR("\n\n\n\t\t\t请输入数字确定查询方式:");SC("%d",&k);PR("\n");PR("Press any key to continue:");getch();system("cls");switch(k) /*实现查询方式的选择*/{case 1:{ PR("\n\n\n\n\n\t\t请输入要查询的商品的编号:"); /*按商品编号查询*/SC("%ld",&temp1);system("cls"); /*清屏*/for(i=0;i<n;i++){if(temp1==goods[i].num){PR("\n");PR("\n\t商品编号商品名商品类别商品数量商品价格");PR("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,g oods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 2:{ PR("\n\n\n\n\n\t\t请输入要查询的商品名:"); /*按商品名查询数据*/SC("%s",temp2);system("cls");for(i=0;i<n;i++){if(strcmp(temp2,goods[i].name)==0){PR("\n");PR("\n\t商品编号商品名商品类别商品数量商品价格");PR("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,g oods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 3:{PR("\n\n\n\n\n\t\t请输入要查询的商品类别:"); /*按商品类别查询数据*/SC("%s",temp3);system("cls");for(i=0;i<n;i++){if(strcmp(temp3,goods[i].sort)==0){PR("\n");PR("\n\t商品编号商品名商品类别商品数量商品价格");PR("\n\t %5ld %5s %5s %5ld %5ld",goods[i].num,g oods[i].name,goods[i].sort,goods[i].count,goods[i].price);}}}break; /*跳出switch语句*/case 4:{int a=50;for(i=0;i<n;i++) /*查询需要进货的商品名*/{if(goods[i].count<a)PR("\n\t\t\4需要进货的商品名:%s 现有库存量:%ld\n",goods[i].name,goods[i].count);}}break; /*跳出switch语句*/}PR("\n\n\t\tPress any key to enter menu:");getch();return; /*返回主界面*/}void scan() /*功能8:浏览商品信息*/{PR("\n\t浏览输入的商品信息,请按1\n\n\t浏览查询的商品信息,请按2\n\n\t浏览排序后商品信息,请按3\n");PR("请选择:");SC("%d",&k);switch(k){case 1:{ PR("\t\t\t浏览输入的商品信息\n");PR("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){PR("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods [i].name,goods[i].sort,goods[i].count,goods[i].price);PR("\n");}PR("Press any key to enter menu:");getch();return;}break; /*跳出switch语句*/case 2:{ PR("\t\t\t浏览查询的商品信息\n");PR("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){PR("\t%5ld %5s %5s %5ld %ld",goods[i].num,g oods[i].name,goods[i].sort,goods[i].count,goods[i].price);PR("\n");}PR("\nPress any key to enter menu:");getch();return;}break; /*跳出switch语句*/case 3:{ PR("\t\t\t浏览按商品编号排序的商品信息\n");PR("\t商品编号商品名商品类别商品数量商品价格\n");/*输出浏览商品信息*/for(i=0;i<n;i++){PR("\t%5ld %5s %5s %5ld %ld",goods[i].num,goods [i].name,goods[i].sort,goods[i].count,goods[i].price);PR("\n");}PR("\nPress any key to enter menu:");getch();return; /*返回主界面*/}break; /*跳出switch语句*/}}void reserve() /*功能9:保存文件*/{FILE *fp;char file[15]; /*用来存放文件保存路径以及文件名*/system("cls"); /*清屏*/PR("\n\t*请输入文件路径及文件名:");SC("%s",file);fp=fopen("file","w+"); /*创建并打开一个文件,并得到该文件的地址*/ fprintf(fp,"商品编号\t商品名\t商品类别\t商品数量\t商品价格\n");PR("商品编号\t商品名\t 商品类别\t 商品数量\t 商品价格\n");for(i=0;i<n;i++){fprintf(fp,"%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name,goods[i].sort,g oods[i].count,goods[i].price);PR("%ld\t\t%s\t\t%s\t\t%d\t\t%d\n",goods[i].num,goods[i].name,goods[i].sort,goods[i ].count,goods[i].price);}fclose(fp); /*关闭文件*/PR("文件已经保存!\n");getch();system("cls"); /*清屏*/}void quit() /*退出系统*/{exit(0);}4 系统运行1、输入新商品操作:首先由主菜单选择"1"进入运行input函数,清屏进入input函数界面,提示我们要进行商品信息的输入,包括商品编号、名称、种类、数量和单价,利用for 输入完成后,显示出“Please press any key to continue”,再按任意健可返回主菜单,其运行界面如下:2、商品排序操作:主菜单选择"2"可调用sequence函数,进入商品信息排序界面,其结果会自动显示出来,如下图所示:3、进出货操作:由主菜单选择"3"或"4",转入调用purchase 或sale函数中,清屏,出现进货或出货新页面,屏幕显示要求我们按照商品编号,输入需要进货的商品的数量,销售商品操作界面即要我们输入已销售商品的数量,当系统出现"please press any key to continue" 提示我们进出货操作已完成,数据已自动进行更改,按任意键可输出更新后的数据,再按任意键即可返回主菜单,其操作界面如下:4、添加或删除商品此模块操作的主要功能是实现对新商品的添加或删除,由主菜单选择"5"可进入选择页面,它提供了添加或删除商品的选择,如选择"1"进行添加商品,接下来只要按要求分别输入商品编号、商品名称、商品类别、商品数量和价格,系统就会自动按我们的输入进行保存,其保存结果可以在查询或浏览函数中输出,输入完毕后,系统显示提示,按任意键便可返回主菜单。

相关文档
最新文档