[ZA]超市管理系统C语言课程设计报告029
- 格式:doc
- 大小:271.50 KB
- 文档页数:19
超市食品管理系统c语言实验报告摘要本实验设计和实现了一个基于c语言的超市食品管理系统。
通过该系统,用户可以方便地管理超市中的食品信息,包括货物进货、商品管理、库存统计、价格计算以及销售管理等功能。
通过对系统的设计和实现过程的详细分析,本报告介绍了系统的功能需求、设计思路、算法实现、界面展示和测试结果等内容。
从整体上来说,该系统实现了对超市食品的全方面管理,提高了工作效率,减少了人力成本。
1. 引言随着社会的发展,超市业已成为人们购买日常用品的主要场所之一。
在超市中,食品是其中的主要组成部分,对于超市来说,合理管理食品的进货、售卖和库存等是非常重要的。
因此,本实验设计和实现了一个基于c语言的超市食品管理系统,旨在提高超市工作效率,减少人力成本,方便管理。
2. 系统功能需求为了满足超市食品管理的需求,本系统应具备以下功能: 1. 货物进货管理:超市管理员可以通过系统进行食品的进货管理,包括进货数量、进货价格、进货时间等信息的记录和管理。
2. 商品管理:超市管理员可以通过系统进行商品的管理,包括商品名称、商品分类、商品价格等信息的维护和更新。
3. 库存统计:系统可以自动统计和更新食品的库存信息,方便管理员进行库存的掌控。
4. 价格计算:系统可以根据商品的数量和单价进行价格计算,方便管理员和顾客进行价格核算。
5. 销售管理:系统可以记录和管理超市的销售信息,包括销售数量、销售额等信息的统计和查询。
3. 系统设计思路本系统的设计思路主要包括数据结构设计、算法设计和界面设计三个方面。
3.1 数据结构设计为了方便对超市食品的管理和操作,本系统采用了以下数据结构: - 商品信息结构体:包括商品名称、商品分类、商品价格等字段,用于存储每个商品的信息。
-进货信息结构体:包括进货数量、进货价格、进货时间等字段,用于存储每次进货的信息。
- 销售信息结构体:包括销售数量、销售额等字段,用于存储每次销售的信息。
课程设计课程设计名称:高级语言程序设计专业班级:计算机科学与技术0802班学生姓名:李旭学号: 2指导教师: X艳峰课程设计时间:2009年7月2号计算机科学与技术专业课程设计任务书1 需求分析:随着现代生活质量的提高,超市这种便利的服务开始走进我们的生活,同时随着超市涌入我们的生活,如何更便利的对超市进行系统和有序的操作,成为了我们需要考虑的问题,本程序运用C语言程序设计了一个超市管理系统。
关系系统的的功能主要有新购物品入库、物品信息删除、物品信息修改、物品信息查询、物品信息浏览功能,在相应的硬盘上面进行存盘以防止部分数据的丢失。
为了更加人性化使用此管理系统,还在MENU选项总添加了系统颜色设置功能,使用户可以根据自己的喜好修改操作界面。
2 概要设计(1)数据结构依据给定的物品信息和数据形式,数组必须用结构体实现。
结构类型的层次结构:struct ima{int id;char name[20];char produce[30];int number;float price;};(2)模块划分依据程序的结构反和功能,遵照“自顶而下”的原则,描述该程序的层次结构图一显示了该程序的层次结构,共 5层:如下图:图一图一的层次结构(3)原函数清单:1、创建函数void chushihua()2、增加物品函数Tianjia();3、删除物品信息函数Shanchu();4、修改物品信息函数Xiugai();5、查询物品信息函数Chazhao();6、浏览物品信息函数Liulan();7、系统颜色设置函数yanseshezhi();8、应用程序退出函数Jieshu();3 运行环境:Win2003, WinXP, Win2000, NT, WinME, Win9X4 开发工具和编程语言:编程语言:C语言开发工具:microsoft visual C++ 6.05详细设计:1、结构体变量的定义:struct ima{int id;char name[20];char produce[30];int number;float price;};3、文件的初始化:void chushihua(){FILE *fp;struct ima i={1,"花生牛奶","XXXX",1200,2.5};fp=fopen("ima.dat","w");if(fp==NULL){printf("\t\t\t系统错误,请重试........");exit(0);}fwrite(&i,sizeof(struct ima),1,fp);fclose(fp);}4、欢迎菜单(主函数):void main(){printf("\n\n");system("color 1a");printf("\t\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 欢迎使用 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 超市库存管理系统 \3\n");printf("\t\3 按任意键继续 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3\3 \3 \3 \3 \3 \3");getch();system("cls");menu();chushihua();menu();}5、选择菜单void menu(){int choice;printf("\n∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞【超市库存管理系统】∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\n");printf("--------------------------------系统菜单显示如下--------------------------------");printf("\n\t①=====================【新购物品入库】\n");printf("\n\t②=====================【物品信息删除】\n");printf("\n\t③=====================【物品信息修改】\n");printf("\n\t④=====================【物品信息查询】\n");printf("\n\t⑤=====================【物品信息浏览】\n");printf("\n\t⑥=====================【系统颜色设置】\n");printf("\n\t⑦=====================【应用程序退出】\n");printf("\n\t请输入您要选择的菜单......");scanf("%d",&choice);switch(choice){case 1:Tianjia();break;case 2:Shanchu();break;case 3:Xiugai();break;case 4:Chazhao();break;case 5:Liulan();break;case 6:yanseshezhi();break;case 7:Jieshu();break;default:printf("\n\t\t\t\t\t输入无效,请您重新输入......");getch();system("cls");menu();}}6、新购物品入库函数:int panduanID(int id) /*判断所输编号是否已存在*/{FILE *fp;struct ima i;fp=fopen("ima.date","r");if(fp==NULL){printf("\t\t\t系统错误,请您重试........");exit(0);}fread(&i,sizeof(struct ima),1,fp);while(!feof(fp)){if(i.id==id){fclose(fp);return 1;break;}fread(&i,sizeof(struct ima),1,fp);}fclose(fp);return 0;}void Tianjia(){ struct ima i;char choice;FILE *fp;fp=fopen("ima.date","ab");if(fp==NULL){printf("\t\t\t系统错误,请您重试........");exit(0);}labID:printf("\n\t请您输入要入库物品的信息...\n");printf("\t\t\t\t 物品的编号:");scanf("%d",&i.id);if(panduanID(i.id)==1){printf("\t\t\t\t此编号已被使用,请您重新输入......");goto labID;}printf("\t\t\t\t 物品的名称:");scanf("%s",);printf("\t\t\t\t 物品的生产地:");scanf("%s",i.produce);printf("\t\t\t\t 物品的数量:");scanf("%d",&i.number);printf("\t\t\t\t 物品的单价:");scanf("%f",&i.price);fwrite(&i,sizeof(struct ima),1,fp);fclose(fp);printf("\t\t\t\t\t\t 物品信息已入库成功!!!\n");printf("\n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){Tianjia();}else{system("cls");menu();}}7、物品信息删除函数:void Shanchu(){ struct ima i[1000];struct ima temp;int delID;char choice;int index=0;int j=0;FILE *fp;fp=fopen("ima.date","r");if(fp==NULL){printf("\t\t\t系统错误,请您重试........");exit(0);}fread(&temp,sizeof(struct ima),1,fp);while(!feof(fp)){i[index]=temp;index++;fread(&temp,sizeof(struct ima),1,fp);}fclose(fp);printf("\n\t请输入要删除的物品的编号:");scanf("%d",&delID);fopen("f:\\ima.date","w");if(fp==NULL){printf("\t\t\t系统错误,请您重试........");exit(0);}for( j=0;j<index;j++){if(i[j].id!=delID){fwrite(&i[j],sizeof(struct ima),1,fp);}}fclose(fp);printf("\t\t\t\t\t物品信息已清除!!!\n");printf("\n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){Shanchu();}else{system("cls");menu();}}8、物品信息修改函数:void Xiugai(){ int index=0;int ID,j;char choice;struct ima i[1000];struct ima temp;FILE *fp;fp=fopen("ima.dat","r");if(fp==NULL){printf("\t\t\t系统错误,请您重试........");exit(0);}fread(&temp,sizeof(struct ima),1,fp);while(!feof(fp)){i[index]=temp;index++;fread(&temp,sizeof(struct ima),1,fp);}fclose(fp);fp=fopen("ima.dat","w");if(fp==NULL){printf("\\t\t\t系统错误,请您重试........");exit(0);}printf("\n\t请输入要修改的信息的物品的编号:"); scanf("%d",&ID);for(j=0;j<=index-1;j++){if(i[j].id!=ID){fwrite(&i[j],sizeof(struct ima),1,fp);}else{printf("\t\t物品名称修改为:");scanf("%s",i[j].name);printf("\t\t物品生产地修改为:");scanf("%s",i[j].produce);printf("\t\t物品数量修改为:");scanf("%d",&i[j].number);printf("\t\t物品单价修改为:");scanf("%f",&i[j].price);}}fclose(fp);printf("\t\t\t\t物品信息已修改......");printf("\n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){Xiugai();}else{system("cls");menu();}}9、物品信息查询函数:void Chazhao(){FILE *fp;int findID;char choice;struct ima i;fp=fopen("ima.date","r");if(fp==NULL){printf("\t\t\t系统错误,请你重试........");exit(0);}finID:printf("\n\t请输入要查询的物品的编号..");scanf("%d",&findID);fread(&i,sizeof(struct ima),1,fp);while(!feof(fp)){if(i.id==findID){printf("\n\n\t***************物品信息******************");printf("\n\t物品编号...%30d\n",i.id);printf("\n\t-----------------------------------------");printf("\n\t物品名称...%30s\n",);printf("\n\t-----------------------------------------");printf("\n\t生产厂家...%30s\n",i.produce);printf("\n\t-----------------------------------------");printf("\n\t进口数量...%30d\n",i.number);printf("\n\t-----------------------------------------");printf("\n\t批发价格...%30.3f\n",i.price);printf("\n\t-----------------------------------------");printf("\n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){Chazhao();}else{system("cls");menu();}}fread(&i,sizeof(struct ima),1,fp);}fclose(fp);printf("\t\t\t\t\t输入的编号不存在,请您重新输入......");goto finID;}10、物品信息浏览函数:void Liulan(){ struct ima i;int index=0;char choice;FILE *fp;fp=fopen("ima.date","r");if(fp==NULL){printf("\t\t\t系统错误,请你重试........");exit(0);}fread(&i,sizeof(struct ima),1,fp);while(!feof(fp)){index++;printf("\n\n\t****************物品信息%d*****************",index);printf("\n\t物品编号...%30d\n",i.id);printf("\n\t-----------------------------------------");printf("\n\t物品名称...%30s\n",);printf("\n\t-----------------------------------------");printf("\n\t生产厂家...%30s\n",i.produce);printf("\n\t-----------------------------------------");printf("\n\t进口数量...%30d\n",i.number);printf("\n\t-----------------------------------------");printf("\n\t批发价格...%30.3f\n",i.price);printf("\n\t-----------------------------------------");getch();fread(&i,sizeof(struct ima),1,fp);}fclose(fp);printf("\n您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){Liulan();}else{system("cls");menu();}}11、系统颜色设置函数:void yanseshezhi(){ int a;char choice;system("cls");printf("\n\n\t\t选择以下方案\n");printf("\n\n\t\t1**************红底黑字\n");printf("\n\n\t\t2**************白底黑字\n");printf("\n\n\t\t3**************黑底红字\n");printf("\n\n\t\t4**************绿底蓝字\n");printf("\n\n\t\t5**************黄底紫字\n");printf("\n\n\t\t6**************系统默认\n");printf("\n\n\t\t\t\t\t请挑选您喜爱的颜色<1-5>......");scanf("%d",&a);switch(a){case 1:system("color 40");break;case 2:system("color 70");break;case 3:system("color 04");break;case 4:system("color 21");break;case 5:system("color 65");break;case 6:system("color 1a");break;default:printf("\n\n\t\t\t\t\t输入无效,重新输入......");getch();yanseshezhi();}printf("\n选择的颜色您还满意吗?(y返回主菜单/n继续选择)");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){system("cls");menu();}else{yanseshezhi();}}12、应用程序退出函数:void Jieshu(){char choice;system("cls");printf("\n\n\n\n\n\n\n\t\t\t您确定要退出系统吗?\n\n\n\t\t\t如果您想退出请按'y',其它键将返回主菜单.....");scanf(" %c",&choice);if(choice=='Y'||choice=='y'){system("cls");printf("\n\n\n\n\n\n\n\n\n\n\t\t\t\t谢谢您的使用!!!");printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");}else{system("cls");menu();}}6调试分析:在此程序的编程前,我上网搜集了一些关于超市管理系统的资料,然后大体决定了编程的大致算法,即利用函数贯穿整个程序,通过SWITCH函数进行各个函数的选择;同时,进过查阅,我添加了系统颜色设置功能,同是应用了清屏函数,课下讲程序大致写好后,我上机进行了调试;但却出现了80几处错误,大都是提示 miss“;” before tybe;经过分析,程序算法并无错误;后来询问老师,才发现原来在我所编的程序中,有需要变量时,都是用的时候才定义,但正确的方法是应该在函数的开头就应该将所要用的变量进行生命,否则就出现了编译错误。
超市管理系统本设计运用C语言程序设计了一个超市管理系统。
主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。
1. 开发工具和编程语言:开发工具:Microsoft Visual C++编程语言:C语言2.模块划分3. 系统功能与函数的对应关系本系统包括一个主函数和6个被调函数,分别如下:(1)主函数 void main()(2)功能选择函数 void gongneng()(3)进货功能函数 void jinhuo()(4)退货功能函数 void tuihuo()(5)商品销售函数 void spxs()(6)信息查询函数 void xxcx()(7)信息浏览函数 void spxxpx()4. 结构体类型说明商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。
结构体类型定义为:5struct xinxi系统函数的设计与实现5.1主函数主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5-1所示。
图5-1 系统主界面主函数中可以实现各种功能的选择。
进货功能函数(1)流程图进货功能函数实现进货功能,能够实现要进货商品的信息添加或录入。
进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息;否则添加本商品的相关信息。
进货流程图如图5-2所示。
开始菜进货功能图5-2 进货功能流程图(2)系统代码voidjinhuo()hstr)==0)5.1f5.1fh,s[i].jinjia,s[i].shoujia,s[i].kucun);printf("请输入新库存数量:");scanf("%d",&s[i].kucun);h);printf("请输入商品名称:");scanf("%s",s[i].bhstr);printf("请输入商品进价:");scanf("%f",&s[i].jinjia);printf("请输入商品售价:");scanf("%f",&s[i].shoujia);printf("请输入商品库存数量:"); scanf("%d",&s[i].kucun);printf("商品信息添加完成\n"); b++;}printf("请选择:");printf("1.返回开始菜单");printf("2.继续进行进货处理");scanf("%d",&a);}}(3)运行效果输入:选项1输出:请输入商品的名称:输入:1输出:添加商品信息请输入商品编号:……输入:1输出:商品信息添加完成请选择:1.返回开始菜单2.继续进行进货处理输入:2输出:请输入商品名称:输入:1输出:编号:1,进价:,售价:,库存数量:1请输入新库存:输入:2输出:库存信息修改完成请选择:1.返回开始菜单2.继续进行进货处理输入:1返回开始菜单运行效果图如图5-3所示。
超市管理系统 c 课程设计一、课程目标知识目标:1. 学生能理解超市管理系统的基本概念,掌握其功能模块和使用方法。
2. 学生能掌握数据库的基本操作,包括数据查询、插入、删除和修改。
3. 学生了解面向对象编程的基本思想,并能运用到超市管理系统的设计与实现中。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的超市管理系统。
2. 学生能够熟练运用编程工具和数据库管理系统,完成系统的开发与调试。
3. 学生通过小组合作,提高沟通协调能力和团队协作精神。
情感态度价值观目标:1. 学生培养对计算机编程和数据库管理的兴趣,激发学习积极性。
2. 学生认识到信息技术在生活中的应用,增强实践操作能力和创新意识。
3. 学生通过课程学习,培养认真负责、严谨细致的学习态度,提高解决问题的能力。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的动手能力和创新能力。
学生特点:六年级学生已具备一定的计算机操作基础,对新鲜事物充满好奇,但需加强对编程和数据库知识的引导。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,引导他们通过小组合作,共同完成课程任务。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能达到课程目标。
将课程目标分解为具体的学习成果,以便在教学设计和评估中有的放矢。
二、教学内容1. 超市管理系统概述:介绍超市管理系统的基本概念、功能模块及其在实际生活中的应用。
- 教材章节:第一章 超市管理系统简介2. 数据库基础知识:讲解数据库的基本概念、数据表的设计与创建、数据操作(查询、插入、删除和修改)。
- 教材章节:第二章 数据库基础、第三章 数据表设计与操作3. 面向对象编程:介绍面向对象编程的基本思想,以超市管理系统为例,讲解类的定义、属性和方法的编写。
- 教材章节:第四章 面向对象编程基础4. 超市管理系统设计与实现:结合教材内容,指导学生进行系统设计,包括界面设计、功能模块划分等,并动手实现系统功能。
3.设计结果与分析
在VC 6.0环境中输入源程序,在没有提示错误的情况下编译,生成.exe可执行文件。
①运行程序,会看到如图6所示界面。
运行主函数时,首先调用函数main
图6 程序主界面
这个界面是运行函数后首先出现的界面,运行函数时,该函数是一个菜单函数,用switch 语句来实现各功能模块的转移,出来该页面后用户可根据提示输入信息,从而实现各种目的。
②键盘输入1,进入商品详细目录用以显示全部商品详细信息
图7 显示信息界面
该页面用printf输出,在利用指针读出链表中数据并利用合理计算计算出净利润等数据,再用while语句进行循环输出部数据
图8 买卖信息界面
用scanf输入数据,用if语句和while语句来实现循环每一次修改的数据④输入3按回车会进入商品登陆页面,此页面用来登陆商品。
如图9所示
图9 登录信息界面
将数据登陆入链表个变量中
图10修改信息界面
6输入5按回车进入商品删除模块如图11所示
使用printf()函数和scanf( )函数,并且利用指针从而实现各种功能。
其中用到了while 循环语句,实现对链表中个数据的重写功能。
运行完后退出该函数
图11删除信息界面。
超市管理系统 c 课程设计一、教学目标本节课的学习目标为:1.知识目标:学生需要掌握超市管理系统的基本概念、架构和主要模块,了解系统的设计原理和实施方法。
2.技能目标:学生能够使用编程语言实现简单的超市管理系统,具备分析和解决实际问题的能力。
3.情感态度价值观目标:培养学生对信息技术的兴趣,增强其对科技改变生活的认识,提高其创新意识和团队协作能力。
二、教学内容本节课的教学内容主要包括:1.超市管理系统的基本概念和架构,包括前端、后端和数据库等主要模块。
2.系统设计原理,包括需求分析、系统设计、编码和测试等环节。
3.系统实施方法,包括技术选型、开发环境和工具的使用等。
4.实例分析,通过分析具体的超市管理系统案例,使学生更好地理解和掌握相关知识。
三、教学方法本节课采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、架构和设计原理,为学生提供系统的知识结构。
2.案例分析法:通过分析具体案例,使学生更好地理解和掌握相关知识。
3.实验法:学生动手实践,实际操作超市管理系统,提高其技能水平。
4.讨论法:分组讨论,培养学生的团队协作能力和创新意识。
四、教学资源本节课的教学资源包括:1.教材:提供系统知识结构,为学生学习奠定基础。
2.参考书:丰富学生的知识面,提高其自学能力。
3.多媒体资料:通过图片、视频等形式,生动展示超市管理系统的设计和实施过程。
4.实验设备:为学生提供实际操作平台,提高其技能水平。
五、教学评估本节课的评估方式包括:1.平时表现:通过观察学生在课堂上的参与度、提问回答等情况,评估其对知识的掌握程度。
2.作业:布置相关的编程练习,评估学生对知识的应用能力和动手能力。
3.考试:期末进行超市管理系统知识的考试,评估学生对知识的全面掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
教师应及时给予反馈,帮助学生提高。
六、教学安排本节课的教学安排如下:1.进度:按照教材的章节顺序,合理安排每个章节的教学内容和时间。
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一、教学目标本课程旨在通过学习超市管理系统,使学生掌握相关的知识、技能及情感态度价值观。
具体目标如下:知识目标:学生能够理解并掌握超市管理系统的相关概念、理论和方法。
技能目标:学生能够运用所学知识,独立完成超市管理系统的搭建、维护和优化。
情感态度价值观目标:学生能够认识到超市管理系统在现代商业运作中的重要性,培养对专业领域的热爱和敬业精神。
二、教学内容本课程的教学内容主要包括超市管理系统的基本概念、架构、关键技术以及实践操作。
具体安排如下:1.超市管理系统的基本概念:介绍超市管理系统的定义、功能、发展历程和趋势。
2.超市管理系统的架构:讲解超市管理系统的整体架构,包括前端展示、后端管理、数据库设计等。
3.超市管理系统的关键技术:深入剖析超市管理系统中的关键技术,如商品管理、库存管理、销售数据分析等。
4.超市管理系统的实践操作:通过实际操作,使学生熟练掌握超市管理系统的使用和维护。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解基本概念、理论和关键技术。
2.案例分析法:分析实际案例,使学生更好地理解和运用所学知识。
3.实验法:让学生亲自动手操作,提高实践能力。
4.讨论法:鼓励学生积极参与课堂讨论,培养独立思考和团队协作的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料。
2.参考书:提供丰富的参考资料,帮助学生拓宽知识面。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高课堂趣味性。
4.实验设备:准备充足的实验设备,确保学生能够顺利进行实践操作。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估其学习态度和理解能力。
2.作业:布置适量的作业,要求学生在规定时间内完成,以检验其对知识的掌握程度。
c语言课程设计超市购物系统一、教学目标本课程的目标是使学生掌握C语言编程的基本知识,能够运用C语言设计并实现一个简单的超市购物系统。
在知识目标方面,要求学生掌握C语言的基本语法、数据类型、运算符、控制结构等。
在技能目标方面,要求学生能够熟练使用C语言进行程序设计,具备解决实际问题的能力。
在情感态度价值观目标方面,要求学生培养对编程的兴趣和热情,培养团队合作意识和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点及应用领域。
2.第二章:基本数据类型和运算符,介绍整型、浮点型、字符型数据及其运算符。
3.第三章:控制结构,介绍顺序结构、选择结构、循环结构。
4.第四章:函数,介绍函数的定义、声明、调用及返回值。
5.第五章:数组和字符串,介绍一维数组、多维数组、字符串的基本操作。
6.第六章:指针,介绍指针的概念、运算及应用。
7.第七章:结构体和联合体,介绍结构体、联合体的定义和应用。
8.第八章:文件操作,介绍文件的基本操作及其应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
在讲授法中,教师通过讲解、示范等方式传授知识;在案例分析法中,教师通过分析实际案例,引导学生运用所学知识解决问题;在实验法中,学生通过动手实践,加深对知识的理解和运用。
四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。
教材选用《C程序设计原理与应用》,多媒体资料包括教学PPT、视频教程等,实验设备包括计算机、网络设备等。
这些资源将有助于学生更好地学习C语言,提高编程能力。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
平时表现主要评估学生的课堂参与度、提问回答、团队合作等情况,占总评的30%。
作业主要评估学生的编程能力和理解力,占总评的30%。
考试分为期中考试和期末考试,期中考试占40%,期末考试占60%,考试内容主要包括理论知识及编程实践。
c 超市管理系统课程设计一、课程目标知识目标:1. 了解超市管理系统的基本概念和功能模块;2. 掌握数据库设计的基本原则,能运用实体关系模型进行数据库设计;3. 学会使用一种编程语言(如Python)实现超市管理系统的功能。
技能目标:1. 能够分析超市业务需求,设计出合理的数据库结构;2. 能够编写程序实现商品信息、库存管理、销售管理等基本功能;3. 能够运用所学的知识解决实际超市管理问题,具备一定的项目实践能力。
情感态度价值观目标:1. 培养学生主动学习和探究问题的兴趣,激发学生学习计算机技术的热情;2. 培养学生团队协作精神,提高沟通与交流能力;3. 增强学生对信息技术在实际生活中的应用意识,认识到所学知识的社会价值。
课程性质:本课程为信息技术学科,结合学生年级特点,注重理论与实践相结合,强调学生的动手实践能力。
学生特点:学生具备一定的计算机操作基础,对编程有一定了解,但项目实践经验不足。
教学要求:结合课程性质、学生特点,通过项目驱动的教学方法,引导学生主动参与教学活动,培养实际操作能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 超市管理系统概述:介绍超市管理系统的基本概念、功能模块及其在实际生活中的应用。
相关教材章节:第一章 超市管理系统简介2. 数据库设计:讲解数据库设计的基本原则,引导学生运用实体关系模型进行数据库设计。
相关教材章节:第二章 数据库设计基础3. 编程语言基础:复习Python编程基础,为后续实现超市管理系统功能做准备。
相关教材章节:第三章 Python编程基础4. 超市管理系统功能实现:(1)商品信息管理:实现商品信息的增加、删除、修改和查询功能。
相关教材章节:第四章 商品信息管理(2)库存管理:实现库存的入库、出库、库存查询等功能。
相关教材章节:第五章 库存管理(3)销售管理:实现销售数据的录入、查询、统计分析等功能。
相关教材章节:第六章 销售管理5. 项目实践:指导学生分组进行超市管理系统的设计与实现,培养学生团队协作和实际操作能力。
超市管理C语言课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握超市管理的基本概念、原理和方法;技能目标要求学生能够运用C语言进行简单的程序设计,实现超市管理的相关功能;情感态度价值观目标要求学生培养对超市管理工作的热爱和责任感。
通过本课程的学习,学生将能够理解超市管理的重要性,掌握相关的管理知识和技能,提高自己的综合素质,为将来的工作和发展打下坚实的基础。
二、教学内容教学内容将根据课程目标进行选择和,确保内容的科学性和系统性。
教学大纲将明确教学内容的安排和进度,指出教材的章节和列举内容。
主要内容包括:超市管理的基本概念、超市管理的原理和方法、超市管理的实际操作、C语言的基本语法和编程方法、C语言在超市管理中的应用等。
三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法进行教学。
包括讲授法、讨论法、案例分析法和实验法等。
通过讲授法,将向学生传授超市管理的基本概念和原理;通过讨论法,将引导学生进行思考和交流,提高他们的分析问题和解决问题的能力;通过案例分析法,将让学生通过实际案例来理解和应用所学知识;通过实验法,将让学生动手实践,提高他们的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备适当的教学资源。
包括教材、参考书、多媒体资料和实验设备等。
教材将作为学生学习的基础,参考书将提供更多的学习资料和案例,多媒体资料将通过图像和视频等形式来呈现抽象的概念,实验设备将用于学生的实际操作和实验。
五、教学评估本课程的评估方式包括平时表现、作业和考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
平时表现将根据学生在课堂上的参与度、提问和回答问题的表现等进行评估。
作业将布置相关的练习题和案例分析题,要求学生在规定时间内完成,并根据作业的质量和完成情况进行评估。
考试将分为期中考试和期末考试,考试内容将涵盖课程的所有知识点,并根据考试的成绩进行评估。
c 超市管理系统课程设计一、课程目标知识目标:1. 让学生理解超市管理系统的基本概念和功能,掌握系统的基本操作流程。
2. 使学生了解并掌握超市商品分类、库存管理、销售管理等核心环节的基本原理。
3. 帮助学生掌握超市管理系统数据库的相关知识,如数据表设计、查询和更新操作。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的超市管理系统,提高实际操作能力。
2. 培养学生分析问题、解决问题的能力,能针对超市管理系统的实际问题提出合理的解决方案。
3. 提高学生的团队协作能力,通过小组合作完成课程项目。
情感态度价值观目标:1. 培养学生对超市管理系统课程的学习兴趣,激发其探索精神和创新意识。
2. 培养学生严谨、认真的学习态度,使其认识到知识在实际工作中的应用价值。
3. 增强学生的社会责任感,使其认识到超市管理系统在提高企业效率、降低成本、提升消费者体验等方面的重要性。
本课程针对高年级学生,结合学科特点和教学要求,旨在使学生通过学习超市管理系统课程,掌握相关知识技能,培养实际操作能力,提高团队协作水平,同时注重培养学生的情感态度价值观,为未来从事相关工作打下坚实基础。
二、教学内容1. 超市管理系统概述:介绍超市管理系统的基本概念、功能、发展及应用场景,使学生了解课程背景及意义。
教材章节:第一章 超市管理系统的概念与发展2. 超市商品管理:讲解商品分类、编码、库存管理等知识点,使学生掌握商品管理的基本原理。
教材章节:第二章 超市商品管理3. 超市销售管理:分析销售管理环节,包括销售订单、销售退货、销售统计等,帮助学生了解销售管理流程。
教材章节:第三章 超市销售管理4. 超市库存管理:探讨库存管理的基本原理,包括库存盘点、库存预警、补货策略等,使学生掌握库存管理方法。
教材章节:第四章 超市库存管理5. 超市管理系统数据库:介绍数据库的基本概念、设计方法,以及SQL语言的使用,让学生掌握数据库操作技能。
教材章节:第五章 超市管理系统数据库6. 超市管理系统实践:指导学生运用所学知识,设计并实现一个简单的超市管理系统,培养学生的实际操作能力。
超市管理系统本设计运用C语言程序设计了一个超市管理系统。
主要实现得功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。
1、开发工具与编程语言:开发工具:MicrosoftVisual C++6、0编程语言:C语言2.模块划分3、系统功能与函数得对应关系本系统包括一个主函数与6个被调函数,分别如下:(1)主函数void main()(2)功能选择函数 void gongneng()(3)进货功能函数 void jinhuo()(4)退货功能函数 void tuihuo()(5)商品销售函数 void spxs()(6)信息查询函数void xxcx()(7)信息浏览函数 void spxxpx()4、结构体类型说明商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。
结构体类型定义为:structxinxi//结构体char bh[30];//商品编号char bhstr[30];//商品名称float jinjia;//商品进价float shoujia;//商品售价int kucun;//商品库存数量};5、系统函数得设计与实现5.1主函数主函数中运行功能选择函数,运行时可以显示系统界面,系统界面如图5-1所示。
图5-1 系统主界面主函数中可以实现各种功能得选择。
5、2进货功能函数(1)流程图进货功能函数实现进货功能,能够实现要进货商品得信息添加或录入。
进货时,先检测本商品就是否存在,若存在则修改库存数量等相关信息;否则添加本商品得相关信息。
进货流程图如图5-2所示。
开始菜单进货功能输入商品得名称ﻩﻩ(2)系统代码voi d jin hu o()//进货处理函数 {ch ar str[30]; i nt i,a=2; wh ile(a ==2) {print f("请输入商品得名称:"); sca nf("%s",s tr); for(i=0;i<b ;i++)if(strcmp(st r,s[i]、bhst r)==0)//查找要进货得商品 {pr intf("编号:%s ,进价:%5.1f,售价:%5.1f,库存数量:%d\n",s[i]、bh,s[i]、jinj ia,s [i]、shoujia,s[i ]、kucun); print f("请输入新库存数量:");s canf ("%d ",&s[i]、kuc un);//修改库存信息 pri ntf ("库存信息修改完成\n "); ﻩbr eak; }if(i>=b)//如果没有找到要进货得商品,则添加商品信息 {printf("添加商品信息:\n");printf("请输入商品编号:");scanf("%s",s[i]、bh);printf("请输入商品名称:");scanf("%s",s[i]、bhstr);printf("请输入商品进价:");scanf("%f",&s[i]、jinjia);printf("请输入商品售价:");scanf("%f",&s[i]、shoujia);printf("请输入商品库存数量:");scanf("%d",&s[i]、kucun);printf("商品信息添加完成\n");b++;}printf("请选择:");printf("1、返回开始菜单");printf("2、继续进行进货处理");scanf("%d",&a);}}(3)运行效果输入:选项1输出:请输入商品得名称:输入:1输出:添加商品信息请输入商品编号:……输入:1输出:商品信息添加完成请选择:1、返回开始菜单2、继续进行进货处理输入:2输出:请输入商品名称:输入:1输出:编号:1,进价:1、0,售价:1、0,库存数量:1请输入新库存:输入:2输出:库存信息修改完成请选择:1、返回开始菜单2、继续进行进货处理输入:1返回开始菜单运行效果图如图5-3所示。
超市管理系统c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和数据结构,如数组、结构体等;2. 学会使用C语言进行简单的文件操作;3. 了解超市管理系统的基本功能和需求;4. 学习如何设计、编写和调试C语言程序。
技能目标:1. 能够运用所学知识设计并实现一个简单的超市管理系统;2. 培养独立分析问题、解决问题的能力;3. 提高编程实践能力,熟练使用C语言进行程序设计;4. 学会使用调试工具,提高程序调试效率。
情感态度价值观目标:1. 培养对计算机编程的兴趣,激发学习积极性;2. 培养团队协作意识,学会与他人共同解决问题;3. 增强学生的自信心,鼓励他们勇于挑战困难;4. 培养良好的编程习惯,注重代码规范和优化。
本课程旨在让学生通过学习C语言,设计并实现一个超市管理系统,掌握编程的基本方法和技巧。
针对学生的年级特点,课程内容注重实践操作,培养学生动手能力和解决问题的能力。
在教学过程中,注重激发学生的学习兴趣,培养团队协作精神,提高学生的综合素质。
课程目标的设定遵循具体、可衡量原则,为教学设计和评估提供明确方向。
二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制结构(顺序、选择、循环);2. 函数:函数定义、调用、参数传递、返回值、库函数使用;3. 数组与字符串:一维数组、二维数组、字符串处理;4. 结构体与文件操作:结构体定义、初始化、结构体数组、文件打开、读写、关闭;5. 超市管理系统功能模块设计:用户模块(登录、注册)、商品模块(增删改查)、购物车模块(添加、删除、结算)、库存模块(库存管理);6. 程序调试与优化:错误类型分析、调试工具使用、代码优化。
教学内容依据课程目标进行选择和组织,确保学生掌握C语言基础知识,并能运用所学设计超市管理系统。
教学大纲明确指出教材相关章节,安排合理的教学进度,使教学内容具有科学性和系统性。
教学中注重理论与实践相结合,提高学生的编程实践能力。
C 毕业课程设计超市管理系统一、教学目标本课程旨在让学生掌握超市管理系统的基本知识和技能,能够运用C语言进行程序设计,实现超市管理的基本功能,如商品信息管理、库存管理、销售管理等。
同时,通过本课程的学习,培养学生的问题解决能力和团队协作能力,提高学生的创新意识和实践能力。
具体来说,知识目标包括:1.掌握C语言的基本语法和编程方法。
2.理解超市管理系统的业务流程和需求分析。
3.学习常用的数据结构和算法,并能够应用于实际问题解决。
技能目标包括:1.能够使用C语言编写简单的程序,实现超市管理的基本功能。
2.学会使用调试工具,能够发现和修复程序中的错误。
3.能够进行团队合作,共同完成一个完整的超市管理系统项目。
情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情,提高学生的学习积极性。
2.培养学生的问题解决能力和创新意识,让学生感受到编程的乐趣。
3.培养学生的团队协作意识,让学生学会与他人合作共同完成任务。
二、教学内容本课程的教学内容主要包括三个部分:C语言基础知识、超市管理系统的设计与实现、项目实践。
1.C语言基础知识:包括C语言的基本语法、数据类型、运算符、控制结构等。
这部分内容是学习后续章节的基础,需要学生掌握。
2.超市管理系统的设计与实现:包括需求分析、系统设计、模块划分等。
这部分内容让学生了解超市管理系统的业务流程,学会如何将实际问题转化为程序设计问题。
3.项目实践:学生分组完成一个超市管理系统项目,包括商品信息管理、库存管理、销售管理等。
这部分内容让学生将所学知识应用于实际问题解决,提高学生的实践能力。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:教师讲解C语言的基本语法和编程方法,让学生掌握基础知识。
2.案例分析法:通过分析真实的超市管理系统案例,让学生了解业务流程和需求分析。
3.实验法:学生动手编写程序,实现超市管理的基本功能,培养学生的实践能力。
超市管理系统c语言课程设计一、教学目标本节课的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握超市管理系统的基本概念、设计方法和实现技术。
技能目标要求学生能够使用C语言进行简单的程序设计,掌握数据结构的基本操作,以及运用面向对象编程思想进行软件开发。
情感态度价值观目标则是培养学生对计算机科学的兴趣和热情,提高他们的问题解决能力和团队合作意识。
通过对本节课的学习,学生将了解超市管理系统的设计原理,掌握C语言编程方法,培养实际操作能力,提高对计算机科学的兴趣和热情。
二、教学内容本节课的教学内容主要包括超市管理系统的基本概念、C语言编程基础、数据结构的基本操作以及面向对象编程思想。
首先,介绍超市管理系统的基本概念,包括系统架构、功能模块和设计原则。
然后,通过C语言编程实例,使学生掌握C语言的基本语法、数据类型、运算符、控制结构等编程基础。
接下来,讲解数据结构的基本操作,如链表、栈、队列等,并引导学生运用这些数据结构实现超市管理系统的相关功能。
最后,引入面向对象编程思想,让学生了解类、对象、封装、继承等基本概念,并运用面向对象的方法设计超市管理系统。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
首先,通过讲授法向学生传授超市管理系统的基本概念、C语言编程基础和数据结构的基本操作。
然后,运用讨论法引导学生探讨面向对象编程思想的优点和适用场景,以及如何在超市管理系统中运用这一思想。
接下来,通过案例分析法分析具体的超市管理系统案例,让学生了解实际应用中的问题和解决方案。
最后,利用实验法让学生动手实践,编写简单的超市管理系统程序,提高实际操作能力。
四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书将提供超市管理系统的基本概念、C语言编程方法和数据结构的基本操作等知识,为学生学习提供理论支持。
多媒体资料将通过图片、视频等形式展示超市管理系统的实际应用场景,帮助学生更好地理解课程内容。
C语言程序设计超市管理系统目录第一章课程设计目的要求1.1设计目的 (3)1.2 设计要求 (3)1.3设计思路 (3)第二章课程设计任务内容2.1课程设计题目 (3)2.2课程设计任务 (4)2.2.1 设计内容 (4)2.2.2 各组员任务 (4)第三章详细设计说明3.1 系统模块图 (4)3.2 主要函数定义 (5) (5)3.3结构体的建立和文件的使用 (8)3.3.1 结构体的建立 (8)第四章课程设计心得与体会 (10)附录·程序源代码参考文献第一章课程设计目的要求设计“超市管理系统”的主要目的是锻炼学生综合运用所学的 C 语言程序设计知识的能力,独自利用 C 语言知识编写承训解决实际问题的能力,培养同学严谨的工作态度和良好的程序设计习惯,让同学们认识到必须重视实践环节,多读程序,多编写程序,多上机实践。
进一步培养结构化程序设计的思想,加深对高级语言要素和控制结构的理解。
通过课程设计的训练,学生能够了解程序设计的基本开发过程,掌握编写、调试和测试 C 语言程序的基本过程,掌握程序设计的技巧的大体流程。
本次程序设计主要侧重于知识的运用,把平时学到的运用到实践中去。
1.1 设计目标:1.熟悉c语言的编译连接和运行过程。
2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。
3.掌握if语句及switch语句的运用方法及嵌套应用方法。
4.掌握实现循环结构的三种语句while、 do-while.、for 的使用。
5.掌握函数的定义方法和调用方法。
6.能够采用模块化思想调试程序。
7.指针和文件的使用,结构体的使用1.2 设计要求:1. 源程序要有适当的注释,使程序容易阅读。
2. 必须用结构体和文件等数据结构。
3. 程序的运行结果要求使用文件作备份。
4. 至少输出一份报表,鼓励自行增加新功能。
第二章课程设计任务内容2.1 课程设计题目超市管理系统2.2 课程设计任务系统为超市管理系统,在此系统当中需要用到许多函数,包括系统函数以及自定义的函数,在这个系统当中,总共分为五个模块:管理员登陆、客户信息管理、商品管理、购物结算、销售结算。
西安邮电大学高级语言课程设计报告题目:超市管理系统院系名称:理学院专业名称:应用物理学班级:1301学生姓名:王松学号(8位):07132022指导教师:王西龙设计起止时间:2014年06月19日~2014年06月27日1:程序模型2:原函数概况1:创建函数void start(); /*启动界面*/void input(); /*商品数据信息输入函数*/void change(); /*商品数据信息修改函数*/void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/void search(); /*商品信息查找*/void mima();/*密码程序*/void colour();//颜色选择void huanying();2:商品信息录入input()3:商品信息的修改Change()4:商品信息的删除Dele()5:商品信息的查询Seaerch()6:系统颜色选择Colour()7:退出系统3:详细设计过程1:结构体变量的定义struct MarketGoods /*存数商品信息的结构体*/{char goods_id[30]; /*商品编号*/char goods_name[30]; /*商品名称*/double goods_price; /*商品价格*/double goods_discount;/*商品折扣*/int goods_amount;/*商品总数目*/int goods_remain;/*商品剩余数目*/}goods[COUNT];int count=0; /*全局变量,用于保存实际上有多少个商品*/2:欢迎界面void huanying(){printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");printf("\t\3 欢迎使用\3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 超市管理系统\3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \4\4\4\4\4\4 \3\n");printf("\t\3 \3\n");printf("\t\3 \5\5\5\5\5\5\5\5\5 \3\n");printf("\t\3 \3\n");printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");}3:密码登陆void mima(){// char pass[6]={'1','2','3','4','5','6'};/*假设密码长度是6*/char pass[]={"123456"};/*假设密码长度是6*/char str[6],ch;int i=0;int flag=0;printf(" 请输入密码:");fflush(stdin);for(i=0;i<6;i++){ch=getch(); /*读取字符,不显示*/str[i]=ch;putchar('*');}for(i=0;i<6;i++){if(str[i]!=pass[i]){flag=1;break;}}if(flag){printf("\n密码错误,登录失败!请重新登录\n");mima();}else printf("\n登录成功\n");getch();system("cls");start();}4:系统选择界面void start() /*启动菜单*/{int chi;printf(" 超市商品管理系统\n");printf("********************************************\n");printf("********************************************\n");printf(" 1.商品信息的录入:\n");printf(" 2.商品信息的修改:\n");printf(" 3.删除某个商品信息:\n");printf(" 4.查找商品信息:\n");printf(" 5.颜色选择:\n");printf(" 0.退出程序\n");printf("********************************************\n");printf("********************************************\n");printf(" 输入你的选择: ");scanf("%d",&chi); /*根据你的选择执行相应的函数*/if(chi==1) input();elseif(chi==2) change();else if(chi==3) dele();else if(chi==4) search();else if(chi==5) colour();else if(chi==0){printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n");exit(0);}else{printf(" You Enter The Choice Is Not valid ! \n");getch();system("cls");start();}}void huanying(){printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");printf("\t\3 欢迎使用\3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 超市管理系统\3\n");printf("\t\3 \3\n");printf("\t\3 \3\n");printf("\t\3 \4\4\4\4\4\4 \3\n");printf("\t\3 \3\n");printf("\t\3 \5\5\5\5\5\5\5\5\5 \3\n");printf("\t\3 \3\n");printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");}5:商品信息的录入void input() /*数据录入*/{FILE *fp;char flag[20];fp=fopen("e:/student.txt","wt");do{printf("请输入你的商品信息:\n"); /*录入商品的信息*/printf("商品编号:");scanf("%s",goods[count].goods_id);printf("商品名字:");scanf("%s",goods[count].goods_name);printf("商品价格:");scanf("%lf",&goods[count].goods_price);printf("商品折扣:");scanf("%lf",&goods[count].goods_discount);printf("商品总数目:");scanf("%d",&goods[count].goods_amount);printf("商品剩余数目:");scanf("%d",&goods[count].goods_remain);count++; /*存数的商品数加一*/printf("是否继续输入数据y是n否: "); /*是否还想继续输入数据*/scanf("%s",flag);}while(strcmp(flag,"y")==0||strcmp(flag,"Y")==0);fwrite(&goods,sizeof(struct MarketGoods),count,fp);fclose(fp);output(); /*调用显示商品数据*/getch();system("cls");start();}6:商品信息的修改void change() /*数据修改*/{FILE *fp;int i,m=0;char ch[20],a[20];fp=fopen("e:/student.txt","rt");while(fread(&goods[m],sizeof(struct MarketGoods),1,fp)!=NULL){m++;}fclose(fp);printf("\nyou sure want change goodsInfor y/n): "); /*根据商品的id来修改数据*/scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\nenter you want change goods_id:");scanf("%s",a);for(i=0;i<count;i++){if(strcmp(goods[i].goods_id,a)==0){printf("\nyou sure want change goods name(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\nname:");scanf("%s",goods[i].goods_name);}printf("\nyou sure want change goods price(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\nprice");scanf("%lf",&goods[i].goods_price);}printf("\nyou sure want goods discount(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\ndiscount");scanf("%lf",&goods[i].goods_discount);}printf("\nyou sure want goods amount(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\namount");scanf("%d",&goods[i].goods_amount);}printf("\nyou sure want goods remain(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0){printf("\nremain"); scanf("%d",&goods[i].goods_remain);}}}}fwrite(&goods,sizeof(struct MarketGoods),count,fp);fclose(fp);output();getch();system("cls");start();}7:商品信息的删除void dele() /*数据删除*/{FILE *fp;int i,m=0,j;char ch[20],c[20];fp=fopen("e:/student.txt","rt");while(fread(&goods[m],sizeof(struct MarketGoods),1,fp)!=NULL){printf("%s",goods[m].goods_id);m++;}fclose(fp);printf("\nenter you want delete name :\n"); /*根据商品的名称来删除数据*/ printf("name:");scanf("%s",c);for(i=0;i<count;i++){if(strcmp(c,goods[i].goods_name)==0)break; /*找到,即跳出循环*/for(j=i;j<count-1;j++)goods[j]=goods[j+1];}printf("\t\t\tyou had delete %s\n",c);count--;fp=fopen("e:/student.txt","wt");fwrite(&goods,sizeof(struct MarketGoods),count,fp);fclose(fp);output();getch();system("cls");start();}8:商品信息查询void search() /*数据查找*/{FILE *fp;int i,m=0;char a[20];fp=fopen("e:/student.txt","rt");while(fread(&goods[m],sizeof(struct MarketGoods),1,fp)!=NULL){printf("%s",goods[m].goods_name);m++;}printf("\nenter you want look name:"); /*根据商品的名称来查找数据*/scanf("%s",a);for(i=0;i<m;i++){if(strcmp(goods[i].goods_name,a)==0)printf("%s %s %lf %lf %d %d \n",goods[i].goods_id,goods[i].goods_name,goods[i].goods_price,goods[i].goods_dis count,goods[i].goods_amount,goods[i].goods_remain);}getch();system("cls");start();}9:系统颜色选择void colour(){int a;printf("\n\n\t\t选择以下方案\n");printf("\n\n\t\t1**********红底黑字\n");printf("\n\n\t\t2**********白底黑子");printf("\n\n\t\t3**********黑底红字");printf("\n\n\t\t4**********绿底蓝字");printf("\n\n\t\t5**********黄底蓝字");printf("\n\n\t\t6**********系统默认");printf("\n\n\t\t\t\t请挑选您喜欢的颜色<1-6>....");scanf("%d",&a);switch(a){case 1:system("color 40"); break;case 2:system("color 70"); break;case 3:system("color 04"); break;case 4:system("color 21"); break;case 5:system("color 65"); break;case 6:system("color la"); break;default:printf("\n\n\t\t\t\t输入无效");{getch();colour();}}start();}10:商品信息输出void output() /*数据输出*/{ FILE *fp;int i,m=0;fp=fopen("e:/student.txt","rt");while(fread(&goods[m],sizeof(struct MarketGoods),1,fp)!=NULL){m++;}fclose(fp);printf(" 编号名称价格折扣总数目剩余数目\n");for(i=0;i<m;i++){printf("%s %s %lf %lf %10d %10d \n",goods[i].goods_id,goods[i].goods_name,goods[i].goods_price,goods[i].goods_discount,goods[i].goods_amount,goods[i].goods_remain);}getch();system("cls");start();}11:退出系统void start() /*启动菜单*/{int chi;printf(" 超市商品管理系统\n");printf("********************************************\n");printf("********************************************\n");printf(" 1.商品信息的录入:\n");printf(" 2.商品信息的修改:\n");printf(" 3.删除某个商品信息:\n");printf(" 4.查找商品信息:\n");printf(" 5.颜色选择:\n");printf(" 0.退出程序\n");printf("********************************************\n");printf("********************************************\n");printf(" 输入你的选择: ");scanf("%d",&chi); /*根据你的选择执行相应的函数*/if(chi==1) input();elseif(chi==2) change();else if(chi==3) dele();else if(chi==4) search();else if(chi==5) colour();else if(chi==0){printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n");exit(0);4:调试分析调试过程中,会有很多的错误。
超市管理系统本设计运用C语言程序设计了一个超市管理系统。
主要实现的功能有进货功能、退货功能、商品销售功能、商品信息查询功能、商品信息浏览功能。
1.开发工具和编程语言:开发工具:Microsoft Visual C++ 6.0编程语言:C语言2.模块划分3. 系统功能与函数的对应关系本系统包括一个主函数和6个被调函数,分别如下:(1)主函数 void main()(2)功能选择函数 void gongneng()(3)进货功能函数 void jinhuo()(4)退货功能函数 void tuihuo()(5)商品销售函数 void spxs()(6)信息查询函数 void xxcx()(7)信息浏览函数 void spxxpx()4.结构体类型说明商品信息包括:商品编号、商品名称、商品进价、商品售价、商品库存数量。
结构体类型定义为:struct xinxi//结构体{char bh[30];//商品编号char bhstr[30];//商品名称float jinjia;//商品进价 float shoujia;//商品售价 int kucun;//商品库存数量 };5 . 系统函数的设计与实现5.1 主函数主函数中运行功能选择函数,运行时可以显示系统桌面,系统桌面如图5-1所示。
图5-1 系统主桌面主函数中可以实现各种功能的选择。
5.2进货功能函数(1)进程安排图进货功能函数实现进货功能,能够实现要进货商品的信息添加或录入。
进货时,先检测本商品是否存在,若存在则修改库存数量等相关信息。
否则添加本商品的相关信息。
进货进程安排图如图 否(2)系统代码void jinhuo()//进货处理函数{char str[30];int i,a=2;while(a==2){printf("请输入商品的名称:");scanf("%s",str);for(i=0;i<b;i++)if(strcmp(str,s[i].bhstr)==0)//查找要进货的商品{printf("编号:%s,进价:%5.1f,售价:%5.1f,库存数量:%d\n",s[i].bh,s[i].jinjia,s[i].shoujia,s[i].kucun);printf("请输入新库存数量:");scanf("%d",&s[i].kucun);//修改库存信息printf("库存信息修改完成\n");break;}if(i>=b)//如果没有找到要进货的商品,则添加商品信息 {printf("添加商品信息:\n");printf("请输入商品编号:");scanf("%s",s[i].bh);printf("请输入商品名称:");scanf("%s",s[i].bhstr);printf("请输入商品进价:");scanf("%f",&s[i].jinjia);printf("请输入商品售价:");scanf("%f",&s[i].shoujia);printf("请输入商品库存数量:");scanf("%d",&s[i].kucun);printf("商品信息添加完成\n");b++;}printf("请选择:");printf("1.返回开始菜单");printf("2.继续进行进货处理");scanf("%d",&a);}}(3)运行效果输入:选项1输出:请输入商品的名称:输入:1输出:添加商品信息请输入商品编号:……输入:1输出:商品信息添加完成请选择:1.返回开始菜单2.继续进行进货处理输入:2输出:请输入商品名称:输入:1输出:编号:1,进价:1.0,售价:1.0,库存数量:1 请输入新库存:输入:2输出:库存信息修改完成请选择:1.返回开始菜单2.继续进行进货处理 输入:1 返回开始菜单运行效果图如图5-3所示。
图5-3进货功能运行桌面5.3退货功能函数(1)进程安排图退货功能函数实现退货功能,能够实现要退货商品的信息修改。
退货时,修改库存数量等相关信息。
若库存数量为0,提示是否删除本商品,若选“是”则删除该商品的信息。
否是否是否是图5-4(2)系统代码void tuihuo()//退货处理函数{int i,a,c=2,d;char str[30];while(c==2){printf("请输入要退的商品名称:");scanf("%s",str);for(i=0;i<b;i++)if(strcmp(str,s[i].bhstr)==0)//查找要退货的商品{printf("请输入要退商品的数量:");scanf("%d",&d);printf("请选择是否要退货");printf("1.是");printf("2.否");scanf("%d",&a);if(a==1){s[i].kucun =s[i].kucun +d;//修改库存信息printf("退货已成功\n");}if(s[i].kucun==0)//如果库存数量为零,提示是否删除该商品{printf("本商品库存为0,请选择是否删除本商品");printf("1.是");printf("2.否");scanf("%d",&a);if(a==1){strcpy(s[i].bh,"该商品不存在");strcpy(s[i].bhstr,"该商品不存在");s[i].jinjia=0;s[i].shoujia=0;s[i].kucun=0;printf("本商品已删除\n");}}}printf("请选择:");printf("1.返回开始菜单");printf("2.继续进行退货处理");scanf("%d",&c);}}(3)运行效果输入:2输出:请输入要退的商品名称:输入:1输出:请输入要退商品的数量:输入:1输出:请选择是否要退货1.是2.否输入:1输出:退货已成功请选择:1.返回开始菜单2.继续进行退货处理输入:1返回开始菜单运行效果图如图5-5所示。
图5-5退货功能运行桌面5.4商品销售函数(1)进程安排图商品销售函数实现商品购买功能。
购买商品时输入要购买商品的编号、购买数量,能够计算出应收金额和应收总金额,同时修改库存数量。
此外,当实收金额少于应收总金额时,此次销售不成功,可根据用户的要求进行修改或放弃。
商品销售进程安排图如图5-6所示。
图5-6商品销售进程安排图(2)系统代码void spxs()//商品销售函数{char str[30];int i,sl,a=2,c;float je,jez=0,ssje,zl;while(a==2){printf("请输入购买商品的编号:");scanf("%s",str);for(i=0;i<b;i++)if(strcmp(str,s[i].bhstr)==0)//查找购买的商品{printf("请输入要购买的数量:");scanf("%d",&sl);while(sl>s[i].kucun )//购买的数量如果大于库存数量{printf("商品库存数量不足,请重新输入要购买的数量:"); scanf("%d",&sl);}printf("应收金额为:");je=sl*s[i].shoujia;//计算购买该商品的金额printf("%5.1f\n",je);s[i].kucun=s[i].kucun-sl;//修改库存信息printf("应收总金额为:");jez=jez+je;//计算购买商品的总金额printf("%5.1f\n",jez);break;}if(i>=b)//如果没有找到该商品printf("对不起,未找到该商品\n");printf("请选择:");printf("1.结账");printf("2.继续购买商品");scanf("%d",&a);if(a==1)//结账{printf("请输入实收金额:");scanf("%f",&ssje);while(ssje<jez)//如果实收金额小于应收总金额{printf("金额不足,请选择:");printf("1.重新付款");printf("2.取消购买");scanf("%d",&c);if(c==1)//重新付款{printf("请输入实收金额:");scanf("%f",&ssje);}else//取消购买某种商品{printf("请输入取消购买商品的编号或名称:");scanf("%s",str);for(i=0;i<b;i++)if((strcmp(str,s[i].bh)==0)||(strcmp(str,s[i].bhstr)==0))//查找要取消购买的商品 {printf("请输入取消购买的数量");scanf("%d",&sl);s[i].kucun =s[i].kucun +sl;//修改库存信息jez=jez-sl*s[i].shoujia ;//重新计算总金额printf("取消购买成功\n");}}}zl=ssje-jez;//找零printf("找零%5.1f\n",zl);printf("购买成功\n");}if(a!=2){printf("请选择:");printf("1.返回开始菜单");printf("2.继续购买商品");scanf("%d",&a);jez=0;}}}(3)运行效果输入:3输出:请输入购买商品的编号:输入:1输出:请输入要购买的数量:输入:1输出:应收金额为:1.0应收总金额为:1.0请选择:1.结账2.继续购买商品输入:2输出:请输入购买商品的编号:输入:2输出:请输入要购买的数量:输入:1输出:应收金额为:2.0应收总金额为:3.0请选择:1.结账2.继续购买商品输入:1输出:请输入实收金额:输入:2输出:金额不足,请选择:1.重新付款2.取消购买输入:1输出:请输入实收金额:输入:5输出:找零2.0购买成功请选择:1.返回开始菜单2.继续购买商品输入:1返回开始菜单运行效果图如图5-7所示。