超市商品信息管理系统源代码

合集下载

(完整word版)c语言程序设计超市管理系统

(完整word版)c语言程序设计超市管理系统

实验题目:超市管理系统一、实验目的1.熟悉 c 语言的编译连接和运行过程。

2.掌握 c 语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。

3.掌握if 语句及switch 语句的运用方法及嵌套应用方法。

4.掌握实现循环结构的三种语句while 、do-while. 、for 的使用。

5.掌握函数的定义方法和调用方法。

6.能够采用模块化思想调试程序。

二.实验内容1.编写程序并进行调试运行。

2.输入商品资料,并保存于文件。

每件商品包含信息如:商品号、商品名、商品类别、商品总量、商品上限和下限、商品价格、进货日期、生产日期、保质期等。

3.对已存入的商品信息进行更新操作,包括添加一件商品信息、删除某件商品信息和修改商品信息。

4.通过按商品名、商品种类、商品进货量的方式查询商品信息。

5.输入某商品号后对其利润进行统计、对进货价格相同的商品进行统计。

6 对商品的库存量和利润进行排序。

7.最后输出商品信息,供需要时打印。

二、需求分析1.该程序可用于对商品的基本信息的存储、更新、查询、输出、统计、排序等操作,以实现管理者对商品的管理和消费者对商品的了解。

2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多件商品信息,也可对个别商品信息进行适当的删除或修改。

以便随时更新商品信息。

3.程序中设计的查询功能可根据需要从若干数据中查询某件商品信息,并且可根据三种不同的方法查询:按商品名查询、按商品种类查询和按商品进货量查询。

以满足不同的需要。

四、概要设计1、方案设计对系统进行分析,给出结构图分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计结构图如下:超市管理管理系统查询模块排序模块退出系统退出系统查询模块排序模块统计模块*更新模块*输出信息¥录入信息按商品名查询利润排行库存量排行退出系统第二类商品第一类商品退出系统2 •功能模块说明:对各个模块进行功能的描述(1).输入模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

超市各种商品代码的认识

超市各种商品代码的认识
(3)畐U食类:调味料、粮油、常温制品、低温制品、速冻类、农
副产品
调味料:佐料、酱油、醋、其他调料
粮油:袋装米面、散装米面、精品油、散油、方便面挂面、豆类 制品、其他粮油类
常温制品:常温肉制品、酱菜、罐头、其他常温制品 低温制品:低温肉制品、其他低温制品 速冻类:汤圆、水饺、丸子、冰糕、海产品、其他速冻食品 农副产品:禽蛋类、生鲜肉、蔬菜、水果、干货、其他农副产品
1、基本设备:货架(种类)、促销平台、立风柜、岛柜、空调、电源
2、辅助设备:电子秤、打价枪 理货员岗位职责及每日工作流程
1、理货员岗位职责
1、了解并掌握本区的商品名称、用途、价格、生产日期、保质期等基本信息 资料;
2、及时整理、补充商品,保证货架及货堆的丰满,管辖区域商品无缺物价签 现象;
3、每日按规定的时间打好续货单,及时补充货源;
帽类 床上用品:被褥、垫盖、其他床上用品 箱包类:皮包类、其他箱包类 针织类:毛巾、台布、其他针织品
(4)文体区:文化用品、体育用品、玩具 文化用品:纸制品、办公用品、书籍、音像制品、其他文化用品 体育用品:球类、健身类、保护类、其他体育用品类 玩具:电动玩具、智力玩具、毛绒玩具、其他玩具
3、联营商品(无库存,不参加盘点) 卖场内设备常识
(7)主管安排的其他事情
12:00——12:30
(1)货架整理,将商品摆放整齐,有不足的进行补充
(2)将购物车篮摆放在固定位置
12:30——12:40交班
(1)告诉下一班当日上午的到货情况
(2)当日上午未完成工作需下一班人员继续的内容
(3)需要续货的商品情况
12:40点名,下班
(二)午班
12:30以前
X8〜X6代表国家代码,X5〜X2代表商品项目代码,X1为校验码

python商品管理系统课程设计

python商品管理系统课程设计

python商品管理系统课程设计一、教学目标本课程旨在通过学习Python商品管理系统,使学生掌握Python编程语言的基本语法和操作,学会使用Python进行商品管理,提高学生的编程能力和实际应用能力。

1.掌握Python基本语法和数据类型。

2.学会使用Python进行条件判断和循环控制。

3.了解Python中的类和对象,能够编写简单的类。

4.熟悉Python中的文件操作和异常处理。

5.能够使用Python编写简单的程序,解决实际问题。

6.学会使用Python进行商品管理,包括商品的增加、删除、修改和查询。

7.能够对Python程序进行调试和优化。

情感态度价值观目标:1.培养学生对编程语言的兴趣,提高学生学习的积极性。

2.培养学生解决问题的能力,提高学生的创新意识。

3.培养学生团队合作的意识,提高学生的团队协作能力。

二、教学内容本课程的教学内容主要包括Python基本语法和数据类型、控制结构、类和对象、文件操作和异常处理等,结合具体的商品管理案例,使学生能够掌握Python 编程语言的基本知识和应用。

具体的教学大纲如下:1.第一章:Python简介和基本语法介绍Python的发展历程、特点和基本语法。

2.第二章:数据类型和变量介绍Python中的整数、浮点数、字符串、列表、元组、集合和字典等数据类型,以及变量的概念。

3.第三章:控制结构介绍Python中的条件判断、循环控制和break、continue等控制语句。

4.第四章:函数和模块介绍Python中的函数定义和调用,以及模块的导入和使用。

5.第五章:类和对象介绍Python中的类和对象的概念,以及类的定义、创建对象和使用对象。

6.第六章:文件操作介绍Python中的文件打开、关闭、读写和文件路径等概念。

7.第七章:异常处理介绍Python中的异常概念、异常处理机制和try、except、finally等语句。

8.第八章:商品管理系统结合商品管理的需求,编写Python程序实现商品的增加、删除、修改和查询等功能。

c语言超市管理系统报告书

c语言超市管理系统报告书

1 需求分析:随着现代生活质量的提高,超市这种便利的效劳开始走进我们的生活,同时随着超市涌入我们的生活,如何更便利的对超市进行系统和有序的操作,成为了我们需要考虑的问题,本程序运用C语言程序设计了一个超市管理系统。

关系系统的的功能主要有新购物品入库、物品信息删除、物品信息修改、物品信息查询、物品信息浏览功能,在相应的硬盘上面进行存盘以防止局部数据的丧失。

为了更加人性化使用此管理系统,还在MENU选项总添加了系统颜色设置功能,使用户可以根据自己的喜好修改操作界面。

2 概要设计(1)数据结构依据给定的物品信息和数据形式,数组必须用结构体实现。

结构类型的层次结构:struct ima{int id;char name[20];char produce[30];int number;float price;};(2)模块划分依据程序的结构反和功能,遵照“自顶而下〞的原那么,描述该程序的层次结构图一显示了该程序的层次结构,共5层:如下列图:图一图一的层次结构1、void chushihua()2、增加物品Tianjia();3、删除物品信息Shanchu();4、Xiugai();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,"花生牛奶","湖北武汉",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;}{ 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");scanf("%d",&i.id);if(panduanID(i.id)==1){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);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);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);}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:scanf("%d",&findID);fread(&i,sizeof(struct ima),1,fp);while(!feof(fp)){if(i.id==findID){printf("\n\n\t***************物品信息******************");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);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-----------------------------------------");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 调试分析:“;〞before tybe7测试结果:1、欢送界面2、系统选择界面:3、新购物品入库:4、物品信息删除:5、物品信息修改:6、物品信息查询7、物品信息浏览:8、系统颜色设置:9、应用程序退出:8 参考文献:课程设计总结C语言已学习了两个学期了。

商品订购系统设计完整代码

商品订购系统设计完整代码

商品订购系统设计完整代码以下是一个商品订购系统的设计完整代码示例:```pythonimport jsonclass Product:def __init__(self, id, name, price):self.id = id = nameself.price = priceclass Order:def __init__(self, id, products):self.id = idself.products = productsdef calculate_total(self):total = 0for product in self.products:total += product.pricereturn totalclass OrderSystem:def __init__(self):self.products = []self.orders = []def add_product(self, product):self.products.append(product)def create_order(self, product_ids): order_products = []for id in product_ids:for product in self.products:if product.id == id:order_products.append(product)breakorder_id = len(self.orders) + 1order = Order(order_id, order_products) self.orders.append(order)return order_iddef get_order_total(self, order_id):for order in self.orders:if order.id == order_id:return order.calculate_totalreturn Nonedef save_to_file(self, filename): data ="products": [],"orders": []}for product in self.products:data["products"].append"id": product.id,"name": ,"price": product.price})for order in self.orders:order_product_ids = []for product in order.products:order_product_ids.append(product.id) data["orders"].append"id": order.id,"product_ids": order_product_ids})with open(filename, 'w') as file:json.dump(data, file)def load_from_file(self, filename):with open(filename, 'r') as file:data = json.load(file)for product_data in data["products"]:product = Product(product_data["id"], product_data["name"], product_data["price"])self.add_product(product)for order_data in data["orders"]:order_products = []for product_id in order_data["product_ids"]:for product in self.products:if product.id == product_id:order_products.append(product)order = Order(order_data["id"], order_products)self.orders.append(order)#创建商品订购系统示例order_system = OrderSystem#添加商品product_1 = Product(1, "苹果", 3)product_2 = Product(2, "香蕉", 2)product_3 = Product(3, "橙子", 4)order_system.add_product(product_1)order_system.add_product(product_2)order_system.add_product(product_3)#创建订单order_id = order_system.create_order([1, 3])#获取订单总价order_total = order_system.get_order_total(order_id) if order_total is not None:print(f"订单{order_id}总价为:{order_total}")else:print("订单不存在")#保存数据到文件order_system.save_to_file("order_data.json")#从文件加载数据order_system.load_from_file("order_data.json")```这个代码示例演示了一个简单的商品订购系统。

超市会员管理系统详细代码

超市会员管理系统详细代码

数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。

具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。

根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Employee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

各种实体具体的描述E-R图如下。

1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。

如图3-11所示,用户登录信息实体E-R图。

图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。

图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图。

图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图。

java购物系统源代码

java购物系统源代码

1 StartSMS.javapackage cn.itcast;import ;/*** 系统开启类** @author Administrator**/public class StartSMS {public StartSMS() {}public static void main(String args[]) {Data data = new Data();data.ini();Menu menu = new Menu();menu.setData(data.goodsName, data.goodsPrice, data.custNo,data.custBirth, data.custScore);menu.showLoginMenu();boolean flag = true;label0: do {if (!flag)break;Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();VerifyEqual verifyequal = new VerifyEqual();switch (i) {case 1: // '\001'int j = 3;do {if (j < 1)continue label0;if (verifyequal.verify(,{menu.showMainMenu();continue label0;}if (j != 1) {"\n用户名和密码不匹配,请重新输入:");} else {"\n您没有权限进入系统!谢谢!");flag = false;}j--;} while (true);case 2: // '\002'if (verifyequal.verify(,{"请输入新的用户名:");= scanner.next();"请输入新的密码:");= scanner.next();"用户名和密码已更改!");"\n请选择,输入数字:");} else {"抱歉,你没有权限修改!");flag = false;}break;case 3: // '\003'"谢谢您的使用!");//flag = false;System.exit(0);break;default:"\n输入有误!请重新选择,输入数字: ");break;}} while (flag);}}2 VerifyEqual.javapackage cn.itcast;import ;/*** 验证管理员登录** @author Administrator**/public class VerifyEqual {public VerifyEqual() {}public boolean verify(String s, String s1) {"请输入用户名:");Scanner scanner = new Scanner(System.in);String s2 = scanner.next();scanner = new Scanner(System.in);String s3 = scanner.next();return s2.equals(s) && s1.equals(s3);}}3 CustManagement.javapackage cn.itcast;import ;public class CustManagement {public CustManagement() {}public void setData(String as[], double ad[], int ai[], String as1[],int ai1[]) {goodsName = as;goodsPrice = ad;custNo = ai;custBirth = as1;custScore = ai1;}public void returnLastMenu() {"\n\n请按'n'返回上一级菜单:");Scanner scanner = new Scanner(System.in);boolean flag = true;doif (scanner.next().equals("n")) {Menu menu = new Menu();menu.setData(goodsName, goodsPrice, custNo, custBirth,custScore);menu.showCustMMenu();} else {"输入错误, 请重新'n'返回上一级菜单:");flag = false;}while (!flag);}public void add() {"购物管理系统 > 客户信息管理 > 添加客户信息\n\n");Scanner scanner = new Scanner(System.in);"请输入会员号(<4位整数>):");int i = scanner.nextInt();"请输入会员生日(月/日<用两位数表示>):");String s = scanner.next();int j = scanner.nextInt();int k = -1;int l = 0;do {if (l >= custNo.length)break;if (custNo[l] == 0) {k = l;break;}l++;} while (true);custNo[k] = i;custBirth[k] = s;custScore[k] = j;"新会员添加成功!");returnLastMenu();}public void modify() {"购物管理系统 > 客户信息管理 > 修改客户信息\n\n");"请输入会员号:");Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();" 会员号生日积分 ");"------------|------------|---------------");int j = -1;int k = 0;do {if (k >= custNo.length)break;if (custNo[k] == i) {StringBuilder()).append(custNo[k]) .append("\t\t").append(custBirth[k]).append("\t\t").append(custScore[k]).toString());j = k;break;}k++;} while (true);if (j != -1) {System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");"\t\t\t\t1.修改会员生日.\n");"\t\t\t\t2.修改会员积分.\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");"请选择,输入数字:");switch (scanner.nextInt()) {case 1: // '\001'"请输入修改后的生日:");custBirth[j] = scanner.next();"生日信息已更改!");break;case 2: // '\002'"请输入修改后的会员积分:");custScore[j] = scanner.nextInt();"会员积分已更改!");break;}} else {"抱歉,没有你查询的会员。

超市管理系统设计代码

超市管理系统设计代码

import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import javax.swing.event.*;import javax.swing.*;import java.sql.*;import java.util.*;import java.io.*;class Myframe1 extends JFrame //设置主界面{JFrame f=new JFrame();JLabel L1,L2;JButton btn1,btn2,btn3,btn4;public Myframe1(){f=new JFrame("主界面");L1=new JLabel("超市商品管理系统欢迎您");L1.setFont(new Font("TimesRoman",Font.BOLD,18));L2=new JLabel("您辛苦了~~~~");L2.setFont(new Font("TimesRoman",Font.BOLD,18)); btn1=new JButton("进货管理系统");btn2=new JButton("售货管理系统");btn3=new JButton("商品信息管理");btn4=new JButton("管理系统帮助");Container container=this.getContentPane();container.setLayout(new GridLayout(9,3,0,50));for(int i=0;i<3;i++)container.add(new JLabel());container.add(new JLabel());container.add(L1);container.add(new JLabel());container.add(new JLabel());container.add(btn1);container.add(new JLabel());container.add(new JLabel()); container.add(btn2);container.add(new JLabel());container.add(new JLabel()); container.add(btn3);container.add(new JLabel());container.add(new JLabel()); container.add(btn4);container.add(new JLabel());container.add(new JLabel()); container.add(L2);container.add(new JLabel());container.setBackground(Color.cyan);f.add(container);f.setLocation(60,60);f.setSize(750,650);f.setVisible(true);Montior bn=new Montior();btn1.addActionListener(bn);btn2.addActionListener(bn);btn3.addActionListener(bn);btn4.addActionListener(bn);}class Montior implements ActionListener{public void actionPerformed(ActionEvent e1) {if(e1.getSource()==btn1){new Myframe2();}if(e1.getSource()==btn2){new Myframe3();}if(e1.getSource()==btn3){new Myframe4();}if(e1.getSource()==btn4){new bangzhu();}}}}class bangzhu extends JFrame {JTextPane ta=new JTextPane();JScrollPane sp=new JScrollPane(ta);public bangzhu(){super("管理系统帮助");ta.setFont(new Font("TimesRoaman",Font.BOLD+Font.PLAIN,20));ta.setText(" 1.初次进入登录系统,系统中没有售货员信息,可以进入系统但是为了以后能够使用方便\n"+" 还是增加售货员信息,以便下次登录。

python代码完成超市管理系统的设计与实现

python代码完成超市管理系统的设计与实现

python代码完成超市管理系统的设计与实现超市管理系统是一个相对复杂的系统,涵盖了商品管理、库存管理、销售管理、员工管理等多个模块。

以下是一个简化的超市管理系统的Python代码示例,主要实现了商品管理和销售管理两个功能。

pythonclass Product:def __init__(self, id, name, price, quantity):self.id = id = nameself.price = priceself.quantity = quantityclass Supermarket:def __init__(self):self.products = []def add_product(self, product):self.products.append(product)def sell_product(self, product_id, quantity):for product in self.products:if product.id == product_id:if product.quantity >= quantity:product.quantity -= quantityreturn quantity * product.priceelse:return "库存不足"return "商品不存在"# 示例supermarket = Supermarket()# 添加商品product1 = Product(1, "苹果", 5, 100)product2 = Product(2, "香蕉", 3, 50)supermarket.add_product(product1)supermarket.add_product(product2)# 销售商品print(supermarket.sell_product(1, 10)) # 输出 50print(supermarket.sell_product(2, 30)) # 输出 "库存不足"在这个示例中,我们定义了两个类:Product和Supermarket。

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语言程序设计超市管理系统

程序设计——超市管理系统学院:专业:班级:姓名:学号:指导老师:超市管理系统课程设计1)需求分析:设计题目:超市管理系统设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。

2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计:统计输出库存量低于100的货号及类别。

统计输出有两种以上(含两种)商品库存量低于100的商品类别。

2)概要设计:系统总体设计框架:系统功能模块图:3)详细设计:主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格与库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别工作流程图:4)主要源程序代码:#include "stdio.h" /*输入,输出头文件*/ #include "stdlib.h" /*申请空间头文件*/#include "string.h" /*对字符串加工头文件*/ #include "conio.h" /*清屏头文件*/FILE *fp;int n=0; /*定义文件指针类型*/int i,j,a[4],m; /*定义整数类型*/float aver[4],sum[4],g[4],h; /*定义浮点类型*/char c[5]="elec"; /*定义字符数组类型*/ char d[5]="comm"; /*定义字符数组类型*/char e[5]="food"; /*定义字符数组类型*/char f[5]="offi"; /*定义字符数组类型*/struct good /*定义结构体*/{int num; /*商品编号*/char name[20]; /*商品名称*/char kind[40]; /*商品类型*/float price; /*商品价格*/char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/}*head,*p1,*p2;struct good *createlist() /*创建链表函数*/{struct good *head1,*p1,*p2; /*定义结构体指针类型*/if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/ {printf("can not open the file");exit(0); /*结束程序*/}head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p1=head1;p2=head1;printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1->unit,&p 1->quantity); /*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/while(1){p1=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf(" (以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d",&p1->num);if(p1->num==-1) /*申请空间结束条件*/{printf("____________________\n\n");fprintf(fp,"%d",-1);fclose(fp);return head1; /*返回头指针*/}scanf("%s %s %f %s %d",p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity); /*输入商品信息*/printf("________________\n");fprintf(fp,"%d %s %s %f %s %d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}struct good *paixu(struct good*head2) /*链表排序函数*/struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/for(i=0;i<=3;i++) /*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;}p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ p6->next=head2;head2=p6;while(p6->next!=NULL) /*判断循环结束条件*/{p7=p6->next;r=p6;while(p7->next!=NULL) /*判断循环结束条件*/{if((p7->next->price)>(r->next->price)) /*判断是否调换*/r=p7;p7=p7->next;}if(p6!=r) /*判断循环结束条件*/s=r->next; /*指针调换*/r->next=s->next;s->next=p6->next;p6->next=s;}p6=p6->next;}p6=head2;head2=head2->next;free(p6); /*释放第一个无效空间*/return head2;}void jisuan(){p1=head;do{if(strcmp(p1->kind,c)==0) /*判断是否为电器类型*/{sum[0]=sum[0]+(p1->price)*(p1->quantity); /*求电器总价*/ a[0]=a[0]+p1->quantity; /*求电器总件数*/}if(strcmp(p1->kind,d)==0) /*判断是否为日用品类型*/{sum[1]=sum[1]+(p1->price)*(p1->quantity); /*求日用品总价*/ a[1]=a[1]+p1->quantity; /*求日用品总件数*/}if(strcmp(p1->kind,e)==0) /*判断是否为办公用品类型*/{sum[2]=sum[2]+(p1->price)*(p1->quantity); /*求办公用品总价*/ a[2]=a[2]+p1->quantity; /*求办公用品总件数*/}if(strcmp(p1->kind,f)==0) /*判断是否为食品类型*/{sum[3]=sum[3]+(p1->price)*(p1->quantity); /*求食品总价*/a[3]=a[3]+p1->quantity; /*求食品总件数*/}p1=p1->next;}while (p1!=NULL); /*遍历链表结束条件*/for(i=0;i<4;i++)aver[i]=sum[i]/a[i]; /*求每类商品平均价*/printf("****************************************************\n"); printf("商品类型\t 平均价\t 总库存量\n");printf("****************************************************\n");printf("____________________________________________________\n"); printf("电器总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[0],aver[0],a[0]); printf("____________________________________________________\n"); printf("日用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[1],aver[1],a[1]); printf("____________________________________________________\n"); printf("食品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[2],aver[2],a[2]); printf("____________________________________________________\n"); printf("办公用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[3],aver[3],a[3]);printf("____________________________________________________\n");}void shuchu() /*输出商品信息函数*/{do{struct good *p3,*p4,*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goods message.txt","rb+"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p3=head;fscanf(fp,"%d %s %s %f %s %d",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity);/*从文件中写到链表*/while(1){p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/fscanf(fp,"%d ",&p4->num);if(p4->num!=-1) /*判断循环结束条件*/{fscanf(fp,"%s %s %f %s %d",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity); /*从文件中写到链表*/ p4->next=NULL;p3->next=p4;p3=p4;}else{p3->next=NULL;break;}}fclose(fp); /*关闭文件*/p3=head;while(p3!=NULL){printf(" %d %s %s %0.1f %s %d\n\n",p3->num,p3->name,p3->kin d,p3->price,p3->unit,p3->quantity);printf("__________________________________\n");p3=p3->next;}printf("**********************************\n");printf("//////////////////////////////////\n");while(n!=4){p3=head;printf("**********************************\n");printf("1 添加商品信息\n");printf("2 删除某商品信息\n");printf("3 修改某商品信息\n");printf("4 返回(当你完成了对某一商品的添加、删除或者修改后请按4返回)\n");printf("**********************************\n");scanf("%d",&n);if(n==1) /*添加商品信息*/{printf("请输入商品编号名称类型价格单位数目\n");printf("**********************************\n");p4=(struct good *)malloc(sizeof(struct good)); /*申请空间*/scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4->unit,&p 4->quantity); /*输入商品信息*/p4->next=NULL;while(p3->next!=NULL) /*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}while(p3!=NULL){fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity) ;/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==2) /*删除商品*/{printf("**********************************\n");printf("请输入需要删除的商品编号\n");printf("**********************************\n");scanf("%d",&p);printf("**********\n");printf("1 确认删除\n2 取消删除\n");printf("**********\n");scanf("%d",&r);if(r==1){if((head->num)==p){head=head->next;free(p3); /*释放空间*/}else{p4=head;p3=p4->next;while(p3!=NULL) /*判断循环结束条件*/ {if((p3->num)==p){p5=p3->next;free(p3); /*释放空间*/p4->next=p5;break;}p3=p3->next;p4=p4->next;}}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/}if(r==2)continue; /*继续循环*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==3) /*修改某商品信息*/{printf("请输入需要修改的商品编号\n");scanf("%d",&q);while(p3!=NULL) /*判断循环结束条件*/{if((p3->num)==q) /*判断是否为所需要修改的商品*/{printf("请输入商品单价与库存量(如果单价不变请输入原来的单价)\n");scanf("%f %d",&p3->price,&p3->quantity); /*输入商品价格与库存量*/}p3=p3->next;}if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp); /*关闭文件*/printf("**********************************\n");printf("__________________________________\n");printf("------------请按4返回-------------\n");printf("__________________________________\n");printf("**********************************\n");}if(n==4) /*退出*/break;}printf("**********\n");printf("1 继续修改\n---------\n2 返回\n");printf("**********\n");scanf("%d",&p);if(p==1)continue; /*继续循环*/if(p==2)break; /*跳出循环*/}while(n!=2);fclose(fp); /*关闭文件*/}void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,c)==0) /*判断商品类型是否为电器类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出电器类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出日用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,e)==0) /*判断商品类型是否为办公用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出办公用品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity); /*输出食品类商品信息*/ printf("________________________________________________\n");}p3=p3->next;}return;}void shunxudayin(){for(i=0;i<4;i++)g[i]=aver[i]; /*将平均价赋给新数组*/for(j=0;j<3;j++) /*将新数组用冒泡排序法排序*/for(i=j+1;i<4;i++){if(g[j]<g[i]){h=g[j];g[j]=g[i];g[i]=h;}}printf("\n****************************\n");printf("商品平均价格排序表(从高到低)\n");printf("****************************\n");printf("________________________________________________\n");printf("编号\t名称\t类别\t单价\t单位\t数量\n");printf("________________________________________________\n"); for(j=0;j<4;j++)for(i=0;i<4;i++){if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/switch(i){case 0:printf0(head); /*调用遍历链表并打印电器类商品函数*/break;case 1:printf1(head); /*调用遍历链表并打印日用品类商品函数*/break;case 2:printf2(head);/*调用遍历链表并打印办公用品类商品函数*/break;case 3:printf3(head); /*调用遍历链表并打印食品类商品函数*/break;}}void tongji1(){p1=head;printf("\n************************\n");printf("库存量低于100的货名及类别\n");printf("************************\n");printf("________________________\n");printf("商品名称\t商品类型\n");printf("________________________\n");while(p1!=NULL) /*判断遍历链表循环结束条件*/{if(p1->quantity<100) /*判断库存量是否小于100*/{printf("%s\t%s\n",p1->name,p1->kind); /*输出商品名称及类别*/ printf("________________________\n");}p1=p1->next;}}void tongji2()printf("\n**********************************************\n");printf("商品库存量有2种以上(含2种)低于100的商品类别:\n");printf("**********************************************\n");printf("________\n");if((a[0]<100)&&(a[0]>=2)) /*判断电器类库存量是否为2种以上(含2种)低于100*/{printf("电器\n");printf("________\n");}if((a[1]<100)&&(a[1]>=2)) /*判断日用品类库存量是否为2种以上(含2种)低于100*/{printf("日用品\n");printf("________\n");}if((a[2]<100)&&(a[2]>=2)) /*判断食品类库存量是否为2种以上(含2种)低于100*/{printf("食品\n");printf("________\n");if((a[3]<100)&&(a[3]>=2)) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/{printf("办公用品\n");printf("________\n");}}int main(int argc, char* argv[]){struct good *p1,*p2; /*定义结构体指针类型*/while(1){printf("***********************************************\n");printf("1 ----------输出查看或者修改已存信息-----------\n");printf("-----------------------------------------------\n");printf("2 -----重新输入新信息(并且删除原有信息)------\n");printf("-----------------------------------------------\n");printf("3 统计商品信息(如果您还没有查看过信息请先按1)\n");printf("-----------------------------------------------\n");printf("4 -------------------退出---------------------\n");printf("***********************************************\n");scanf("%d",&m);if(m==1)shuchu(); /*调用输出信息函数*/if(m==2){system("cls");head=createlist(); /*调用建立链表函数*/}if(m==3){printf("统计结果如下\n");head=paixu(head); /*调用链表排序函数*/ jisuan(); /*调用计算函数*/ shunxudayin(); /*调用顺序打印函数*/ tongji1(); /*调用统计1函数*/tongji2(); /*调用统计2函数*/}if(m==4){p1=head;while(p1!=NULL) /*判断遍历链表结束条件*/ {p2=p1->next;free(p1); /*释放空间*/p1=p2;}break;}}return 0; /*结束程序*/ }5)调试分析过程描述:测试数据:01 milk drink 2.5 box 502 apple fruit 3 kilo 2测试输出结果:存在问题的思考:源代码出错,漏了一些分号导致程序频频出错,在进行编写时注意小地方别出错!否则会影响大局!6)总结:学习体会与收获:通过这个超市管理系统程序设计实验,我从理论知识跨越到实践上,感到收效良多,从崇拜计算机到学会控制计算机,在心理上不再觉得计算机是万能的,人的大脑才是万能的,算法才是万能的数学才是万能的,在这次实验中,实现一个完整的程序大大加深了我对C语言课程的兴趣!对C语言课程设计的认识以及自己的建议:C语言课程设计就是通过编译实现需要的功能的一种程序的设计,建议自己以后在这方面多下功夫,真正实现自己编译以个完整的C程序,实现自己的梦想和未来!。

小超市管理系统可运行代码

小超市管理系统可运行代码
{
case 1:Add();break;
case 2:Delet();break;
}
getchar();
return;
}
void Add()
{
printf("\t请输入所添加商品的商品编号:");
scanf("%ld",goods[n].num);
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;
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("\t 7→查询商品信息\n");
printf("\t 8→浏览商品信息\n");
printf("\t 9→保存商品信息\n");
printf("\t请选择您所需要的操作(或选择(0)退出)\n");
scanf("%d",&m);

1C#简单超市收银系统源码

1C#简单超市收银系统源码
public double Price {
get; set; }
public string Name {
get; set; }
public string ID {
get; set; }
public ProductFather(string id, double price, string Name) {
Console.WriteLine("欢迎观临,请问您需要些什么?"); Console.WriteLine("我们有 Acer、SamSung、Jiangyou、Banana"); string strType = Console.ReadLine(); Console.WriteLine("您需要多少?"); int count = Convert.ToInt32(Console.ReadLine()); //去仓库取货物 ProductFather[] pros = ck.QuPros(strType, count); //下面该计算价钱了 double realMoney = GetMoney(pros); Console.WriteLine("您总共应付{0}元", realMoney); Console.WriteLine("请选择您的打折方式 1--不打折 2--打九折 3--打 85 折 4--买 300 送 50 5--买 500 送 100"); string input = Console.ReadLine(); //通过简单工厂的设计模式根据用户的舒服获得一个打折对象 CalFather cal = GetCal(input); double totalMoney = cal.GetTotalMoney(realMoney); Console.WriteLine("打完折后,您应付{0}元", totalMoney); Console.WriteLine("以下是您的购物信息"); foreach (var item in pros) {

超市系统的源代码

超市系统的源代码

}//获得指定商品信息publicstaticString[]getRowStock(Stringid){String[]s=newString[6];1.DBUtil_SM.class自定义了各种对数据操作的静态方法,包括对各个数据库的增删改查,其中关于user表中的删除仅能由权限2以上的治理人员执行,代码如下(手工编写)packagepaim;importjava.sql.*;importjava.util.*;importjava.io.*;publicclassDBUtil_SM{//猎取用户信息publicstaticList<String[]>getVIPList(){ArrayList<String[]>vl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,age,sex,workuntil,tel,lvl,totalfromVIP_IM";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[8];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}vl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnvl;}//猎取库存信息publicstaticList<String[]>getStockList(){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectid,name,price,count,vprice,typefromstockorderbytype"; ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[6];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}sl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//添加用户信息publicstaticvoidtoInsertID(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintoVIP_IMvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"','"+s[5]+"','"+s[6]+"','"+s[7] +"')";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//删除用户信息publicstaticvoidtoDelID(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();st.executeUpdate("deletefromVIP_IMwhereid='"+id+"'");st.executeUpdate("deletefromuserwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新用户数据publicstaticvoidtoUpdateID(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="updateVIP_IMsetname='"+s[1]+"',age="+s[2]+",sex='"+s[3]+"',workuntil='"+s[4]+"',tel='"+s[5]+"',lvl= '"+s[6]+"',total="+s[7]+"whereid='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//提取一个用户信息publicstaticString[]getRowID(Stringid){String[]s=newString[8];try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,age,sex,workuntil,tel,lvl,totalfromVIP_IMwhereid='"+id+"'");if(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}//删除库存信息publicstaticvoidtoDelStock(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();st.executeUpdate("deletefromstockwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加库存信息publicstaticvoidtoInsertStock(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintostockvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"','"+s[5]+"')"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新物品信息publicstaticvoidtoUpdateStock(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="updatestocksetname='"+s[1]+"',price="+s[2]+",count="+s[3]+",vprice="+s[4]+",type='"+s[5]+"'wherei d='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,price,count,vprice,typefromstockwhereid='"+id+"'");if(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}//用户登录publicstaticintgetUser(String[]k){String[]s=newString[4];inti=0;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,lit,pswfromuserwhereid='"+k[0]+"'"); if(rs.next()){for(intj=0;j<s.length;j++){s[j]=rs.getString(j+1);}i=5;}else{returni;}if(k[1].equals(s[3])){if(s[2].equals("1")){i=1;}else{i=2;}}else{i=3;}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returni;}//修改密码publicstaticvoidtoUpdatePsw(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="updateusersetpsw='"+s[1]+"'whereid='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//猎取积分列表publicstaticList<String[]>getTotalList(){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectid,name,totalfromtotalorderbytotal";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[3];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//猎取商品积分publicstaticintgetTotalS(Stringid){intt=0;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selecttotalfromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getInt(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//猎取用户积分publicstaticintgetTotalV(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selecttotalfromVIP_IMwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getInt(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//猎取积分商品名称publicstaticStringgetTotalName(Stringid){Stringt="";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectnamefromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getString(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//积分兑换表publicstaticvoidaddList(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintototallist(id,name,ltotal,tname,ttotal)values('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"') ";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//用户消费记录publicstaticList<String[]>getIDTotal(Stringid){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,ltotal,tname,ttotalfromtotallistwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[5];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}sl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//用户账户插进publicstaticvoidtoInsertUser(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="insertintouservalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"')"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//积分物品添加publicstaticvoidaddTotal(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="insertintototalvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"')";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新积分物品信息publicstaticvoidtoUpdateTotal(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="updatetotalsetname='"+s[1]+"',total='"+s[2]+"'whereid='"+s[0]+"'"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//删除积分物品信息publicstaticvoidtoDelTotal(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();st.executeUpdate("deletefromtotalwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//猎取积分列表publicstaticString[]getTotalListS(Stringid){String[]s=newString[3];try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,totalfromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);while(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}}2.SMServlet.class用于响应jsp请求依据情况调用DBUtil_SM中的方法,返回结果,代码如下(手工编写)packagepaim;importjavax.servlet.*;importjavax.servlet..*;importjava.io.*;publicclassSMServletextendsServlet{@OverridepublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException {doPost(request,response);}@OverridepublicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException {Stringaction=request.getParameter("action");if(action.equals("del_id"))//删除用户{Stringid=request.getParameter("id");DBUtil_SM.toDelID(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("add_id"))//添加用户{String[]s=newString[9];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("age")!=null){s[2]=newString(request.getParameter("age").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("sex")!=null){s[3]=newString(request.getParameter("sex").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("workuntil")!=null){s[4]=newString(request.getParameter("workuntil").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("tel")!=null){s[5]=newString(request.getParameter("tel").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("lvl")!=null){s[6]=newString(request.getParameter("lvl").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("total")!=null){s[7]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");}s[8]=newString(request.getParameter("psw").getBytes("ISO8859_1"),"GB2312");} String[]g=newString[2];g[0]=s[0];g[1]=s[8];if(DBUtil_SM.getUser(g)!=0)//返回0即不存在用户{request.getRequestDispatcher("/useradd.jsp?str=1").include(request,response);}else{String[]user=newString[4];user[0]=s[0];user[1]=s[1];user[2]="1";user[3]=s[8];DBUtil_SM.toInsertID(s);DBUtil_SM.toInsertUser(user);request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("update_id"))//修改用户信息{Stringlit=request.getParameter("lim");String[]s=newString[8];s[0]=request.getParameter("id");if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("age")!=null){s[2]=newString(request.getParameter("age").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("sex")!=null){s[3]=newString(request.getParameter("sex").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("workuntil")!=null){s[4]=newString(request.getParameter("workuntil").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("tel")!=null){s[5]=newString(request.getParameter("tel").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("lvl")!=null){s[6]=newString(request.getParameter("lvl").getBytes("ISO8859_1"),"GB2312");}s[7]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toUpdateID(s);if(lit.equals("use"))//依据用户权限显示页面{request.getRequestDispatcher("/userlist.jsp?id="+s[0]).include(request,response);}else{request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("del_stock"))//删除物品{Stringid=request.getParameter("id");DBUtil_SM.toDelStock(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("add_stock"))//添加物品信息{String[]s=newString[6];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("price")!=null){s[2]=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("count")!=null){s[3]=newString(request.getParameter("count").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("vprice")!=null){s[4]=newString(request.getParameter("vprice").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("type")!=null){s[5]=newString(request.getParameter("type").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toInsertStock(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("update_stock"))//修改物品信息{if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("price")!=null){s[2]=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("count")!=null){s[3]=newString(request.getParameter("count").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("vprice")!=null){s[4]=newString(request.getParameter("vprice").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("type")!=null){s[5]=newString(request.getParameter("type").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toUpdateStock(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("login"))//登陆验证{String[]k=newString[2];k[0]=request.getParameter("id");k[1]=request.getParameter("psw");inti=DBUtil_SM.getUser(k);if(i==1)//判定是否为用户{request.getRequestDispatcher("/userlist.jsp?id="+k[0]+"&&lim=use").forward(request,response); }if(i==0||i==5||i==3)//用户名不存在密码错误{request.getRequestDispatcher("/login.jsp?str=9").include(request,response);}if(i==2)//治理员跳转{request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("password"))//密码修改{k[0]=request.getParameter("id");k[1]=request.getParameter("opsw");String[]s=newString[2];s[0]=k[0];s[1]=request.getParameter("npsw1");inti=DBUtil_SM.getUser(k);if(i==1){DBUtil_SM.toUpdatePsw(s);request.getRequestDispatcher("/userlist.jsp?id="+s[0]+"&&lim=use").forward(request,response); }if(i==0||i==5||i==3){request.getRequestDispatcher("/update.jsp?id="+s[0]+"&&str=9").include(request,response);}if(i==2){DBUtil_SM.toUpdatePsw(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("total"))//兑换积分积分余额积分消费判定操作{String[]id=newString[2];id[0]=request.getParameter("id");id[1]=request.getParameter("tid");int[]t=newint[5];t[0]=DBUtil_SM.getTotalV(id[0]);t[1]=DBUtil_SM.getTotalS(id[1]);t[3]=t[0]-t[1];Stringtname=DBUtil_SM.getTotalName(id[1]);String[]sl=DBUtil_SM.getRowID(id[0]);String[]ll=newString[6];if(t[3]<0){request.getRequestDispatcher("/total.jsp?id="+id[0]+"&&str=1").forward(request,response);}else{sl[7]=Integer.toString(t[3]);ll[0]=sl[0];ll[1]=sl[1];ll[2]=Integer.toString(t[3]);ll[3]=DBUtil_SM.getTotalName(id[1]);ll[4]=Integer.toString(t[1]);DBUtil_SM.addList(ll);DBUtil_SM.toUpdateID(sl);request.getRequestDispatcher("/total.jsp?id="+id[0]).forward(request,response);}}if(action.equals("addtotal"))//添加积分物品{String[]s=newString[3];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("total")!=null){s[2]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.addTotal(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("del_total"))//删除积分物品{Stringid=request.getParameter("id");DBUtil_SM.toDelTotal(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("totalupdate"))//积分物品修改{String[]s=newString[3];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("total")!=null){s[2]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");}DBUtil_SM.toUpdateTotal(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}}}3.Web.xml为配置文件代码如下(自动生成后添加参数)<?xmlversion="1.0"encoding="ISO-8859-1"?><web-appxmlns="://java.sun/xml/ns/javaee"xmlns:xsi=":///2001/XMLSchema-instance"xsi:schemaLocation="://java.sun/xml/ns/javaee://java.sun/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>SuperMarket</display-name><description>SuperMarket</description><servlet><servlet-name>SMServlet</servlet-name><servlet-class>paim.SMServlet</servlet-class></servlet><servlet-mapping><servlet-name>SMServlet</servlet-name><url-pattern>/SMServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file></welcome-file></welcome-file-list></web-app>4.Admin.jsp文件为治理员治理模块的主界面,代码如下(HTML格式为自动生成,jsp 代码为手工编写)<%@pagecontentType="text/html;charset=gbk"import="paim.DBUtil_SM,java.util.*"%><head><linkrel="stylesheet"type="text/css"></head><bodybgcolor="#FFFFFF"><palign="center"><strong>用户信息治理</strong><%request.setCharacterEncoding("GBK");response.setCharacterEncoding("GBK");List<String[]>vl=DBUtil_SM.getVIPList();List<String[]>sl=DBUtil_SM.getStockList();List<String[]>tl=DBUtil_SM.getTotalList();%><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>用户名</td><td>年龄</td><td>性不</td><td>工作单位</td><td>联系方式</td><td>会员等级</td><td>积分</td><tdcolspan="2">治理</td></tr><%for(String[]s:vl){if(s[4]==null||s[4].equals("")){s[4]="暂无信息";}if(s[5]==null||s[5].equals("")){s[5]="暂无信息";}%><tralign="center"><td><ahref="userlist.jsp?id=<%=s[0]%>"><%=s[1]%></a></td><td><%=s[2]%></td><td><%=s[3]%></td ><td><%=s[4]%></td><td><%=s[5]%></td><td><%=s[6]%></td><td><%=s[7]%></td> <td><ahref="update.jsp?id=<%=s[0]%>&&lit=5">修改</a></td><td><ahref="SMServlet?action=del_id&&id=<%=s[0]%>">删除</a></td></tr>}%></table><palign="right"><ahref="useradd.jsp">添加用户</a><palign="center"><strong>库存信息治理</strong><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>商品编号</td><td>名称</td><td>价格</td><td>会员价</td><td>类型</td><td>库存</td><tdcolspan="2">治理</td></tr><%for(String[]s:sl){%><tralign=center><td><%=s[0]%></td><td><%=s[1]%></td><td><%=s[2]%></td><td><%=s[4]%></td><td><%=s[5]%></t d><td><%=s[3]%></td><td><ahref="stockupdate.jsp?id=<%=s[0]%>">修改</a></td><td><ahref="SMServlet?action=del_stock&&id=<%=s[0]%>">删除</a></td></tr><%}%></table><palign="right"><ahref="stockadd.jsp">添加物品</a><palign="center"><strong>积分物品信息治理</strong><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>编号</td><td>物品</td><td>所需积分</td><tdcolspan="2">治理</td></tr><%for(String[]s:tl){%>。

自动售货机系统源代码

自动售货机系统源代码

#include<stdio.h>#include<stdlib.h>#include<string.h>#include "goods.h"bool GetCharge(int Sum,int Money);void Getsmalcharge(int Money,int *ChargeNum); int KouLing();char ChooseJieMian();char SaleCenter();void loadGoodsFrom* gs);char ManageCenter();void KunCun();void Sale();void ShangJia();void TongJiFun();Goods goods[3];TongJi tj[3];void init(){for(int i = 0; i < 3; ++i){tj[i].jrxl = 0;tj[i].jrzje = 0;}}void main(){//初始化init();int op = 0;//读取商品信息loadGoodsFrom);char c = ChooseJieMian();while(true){system("cls");if( c == '1'){c = SaleCenter();}else if(c == '2'){op = KouLing();if(op == 1){//进入管理界面c = ManageCenter();//system("pause");}else if(op == 0){//进去销售界面c = SaleCenter();}}}}//----------------------------------------------------/*** @return 1销售界面2管理界面*/char SaleCenter(){char state='N';int Sum=0;char Pro = 'd';// printf("\n********************************\n");while(true){state='N';Sum=0;while(!(Pro == 'c' || Pro == 'a' || Pro == 'b' || Pro == 'q')){system("cls");printf("\n\t*******************************************");printf("\n\t*********顾客您好,请选择商品**************\n");printf("\n\t·a·商品%s ·b·商品%s ·c·商品%s ·q·管理\n",goods[0].name,goods[1].name,goods[2].name);printf("\n\t -%d- -%d- -%d- (单位:件)",goods[0].totalCount,goods[1].totalCount,goods[2].totalCount);printf("\n\t*******************************************\n\t\t");Pro = getchar();}if(Pro == 'q')break;switch(Pro){case 'a':{Sum=Sum+2;printf("\n\t·商品A价格为%d,请投币·",Sum);}break;case 'A':{Sum=Sum+2;printf("\n\t·商品A价格为%d,请投币·",Sum);}break;case 'b':{Sum=Sum+3;printf("\n\t·商品B价格为%d,请投币·",Sum);}break;case 'B':{Sum=Sum+3;printf("\n\t·商品B价格为%d,请投币·",Sum);}break;case 'c':{Sum=Sum+6;printf("\n\t·商品C价格为%d,请投币·",Sum);}break;case 'C':{Sum=Sum+6;printf("\n\t·商品C价格为%d,请投币·",Sum);}break;default:{printf("\n\t输入物品有误!!!!\n");}break;};int Money;bool st=false;while(!st){// printf("\n输入金额:");scanf("%d",&Money);getchar();st=GetCharge(Sum,Money);};Pro = 'd';system("PAUSE");}return '2';}bool GetCharge(int Sum,int Money){int ChargeNum[4];for(int i=0;i<4;i++){ChargeNum[i]=0;}if(Sum>Money){printf("\n\t·所投金额不足支付所选商品,请重新投币·");return false;}else if(Sum==Money){printf("\n\t·所投金额等于商品价格,请在商品出口处拿取商品·\n");//销售成功的操作if(Sum == goods[0].price){goods[0].totalCount --;Sale();tj[0].jrxl ++;tj[0].jrzje += Sum;}else if(Sum == goods[1].price){goods[1].totalCount --;Sale();tj[1].jrxl ++;tj[1].jrzje += Sum;}else if(Sum == goods[2].price){goods[1].totalCount --;Sale();tj[2].jrxl ++;tj[2].jrzje += Sum;}return true;}else{int Result=Money-Sum;Getsmalcharge(Result,ChargeNum);printf("\n\t·所投金额大于商品价格,为您找零%d元·\n",Result);printf("\n\t\t-壹元面值%d张-\n",ChargeNum[0]);printf("\n\t\t-贰元面值%d张-\n",ChargeNum[1]);printf("\n\t\t-伍元面值%d张-\n",ChargeNum[2]);printf("\n\t\t-拾元面值%d张-\n",ChargeNum[3]);printf("\n\t·请在商品出口处拿取商品·\n");// printf("\n余额为%d元,应找零\n1 元%d张\n2 元%d张\n5 元%d张\n10元%d张\n",Result,ChargeNum[0],ChargeNum[1],ChargeNum[2],ChargeNum[3]);}//end if//销售成功的操作if(Sum == goods[0].price){goods[0].totalCount --;Sale();tj[0].jrxl ++;tj[0].jrzje += Sum;}else if(Sum == goods[1].price){goods[1].totalCount --;Sale();tj[1].jrxl ++;tj[1].jrzje+= Sum;}else if(Sum == goods[2].price){goods[2].totalCount --;Sale();tj[2].jrxl ++;tj[2].jrzje+= Sum;}return true;}/**成功卖出操作的后台操作*/void Sale(){FILE* fp;if ((fp = fopen("d:\\goods.out", "w")) == NULL){printf ("未找到文件d:\\goods.out...系统将退出\n ");exit(0);}fprintf(fp,"%s %d %d\n",goods[0].name,goods[0].totalCount,goods[0].price);fprintf(fp,"%s %d %d\n",goods[1].name,goods[1].totalCount,goods[1].price);fprintf(fp,"%s %d %d\n",goods[2].name,goods[2].totalCount,goods[2].price);//关闭文件fclose(fp);fp = NULL;}//------------------------------------void Getsmalcharge(int Money,int *ChargeNum){if(Money<0)return;int Sum=Money;int charge[4]={1,2,5,10};ChargeNum[3]=Sum/charge[3];Sum=Sum%charge[3];ChargeNum[2]=Sum/charge[2];Sum=Sum%charge[2];ChargeNum[1]=Sum/charge[1];Sum=Sum%charge[1];ChargeNum[0]=Sum/charge[0];Sum=Sum%charge[0];}/***@return 1 口令正确0 口令错误,并返回销售界面*/int KouLing(){char kl[50];int count = 0,ret = 0;char rkl[50] = "admin";while(strcmp(rkl,kl) != 0){if(count == 0){printf("\n\t*******************************************");printf("\n\t****************管理口令验证***************\n");printf("\n\t·Tip·忘记口令,输入“cancel”,进入销售界面\n");printf("\n\t*******************************************\n\t\t");}else{printf("\n\t*******************************************");printf("\n\t****************管理口令验证***************\n");printf("\n\t·Tip·忘记口令,输入“cancel”,进入销售界面\n");printf("\n\t*******************************************");printf("\n\t\t\t\t输入错误次数:%d次\n\t\t",count);}count++;scanf("%s",kl);system("CLS");if(strcmp(kl,"cancel") == 0)break;}if(strcmp(kl,"cancel") == 0)ret = 0;elseret = 1;return ret;}/*** @ return '1' , '2'*/char ChooseJieMian(){char c = '3';while(true){system("cls");printf("\n\t*******************************************");printf("\n\t****************界面选择*******************\n");printf("\n\t·1·-销售界面- ·2·-管理界面-\n");printf("\n\t*******************************************\n\t\t");c = getchar();if(c == '1' || c == '2')break;}system("cls");return c;char ManageCenter(){while(true){int op = 7;while( !(op == 1|| op == 2 || op == 3 || op == 4|| op == 5 || op == 6)){system("cls");printf("\n\t*******************************************");printf("\n\t*************欢迎您,管理员****************\n");printf("\n\t·1·-库存查询- ·2·-商品上架-\n");printf("\n\t·3·-销售查询- ·4·-会计查询-\n");printf("\n\t·5·-结算功能- ·6·-销售界面-\n");printf("\n\t*******************************************\n\t\t");scanf("%d",&op);}bool flag = false;switch(op){case 1:{KunCun();}break;case 2:{ShangJia();}break;case 3:{TongJiFun();}break;case 4:{}break;case 5:{}break;case 6:{flag = true;}break;default:break;}if(flag)break;elsesystem("PAUSE");}return '1';}*从文件里读取商品信息@return 商品列表*/void loadGoodsFrom* gs){//获得FILE 指针FILE* fp;if ((fp = fopen("d:\\goods.out", "r")) == NULL){printf ("未找到文件d:\\goods.out...系统将退出\n ");exit(0);}//Goods gs[3];int i = 0;while(!feof(fp)){fscanf(fp,"%s %d %d",gs[i].name,&gs[i].totalCount,&gs[i].price);i++;}//关闭文件fclose(fp);fp = NULL;}void KunCun(){int i = 0;printf("\n\t·商品名称··商品价格(元)··商品余量(件)·\n");for(i = 0; i < 3; ++i){printf("\n\t-%s-\t\t-%d-\t\t-%d-\n",goods[i].name,goods[i].price,goods[i].totalCount);}}void ShangJia(){printf("\n\t·Tip·正数增加,负数减少商品\n");int gs1 = 0,gs2 = 0,gs3 = 0;printf("\n\t\t-商品%s(余%d件): ",goods[0].name,goods[0].totalCount);scanf("%d",&gs1);printf("\n\t\t-商品%s(余%d件): ",goods[1].name,goods[1].totalCount);scanf("%d",&gs2);printf("\n\t\t-商品%s(余%d件): ",goods[2].name,goods[2].totalCount);scanf("%d",&gs3);goods[0].totalCount = gs1 + goods[0].totalCount < 0 ? 0:gs1 + goods[0].totalCount;goods[1].totalCount = gs2 + goods[1].totalCount < 0 ? 0:gs2 + goods[1].totalCount;goods[2].totalCount = gs3 + goods[2].totalCount < 0 ? 0:gs3 + goods[2].totalCount;//写文件//获得FILE 指针FILE* fp;if ((fp = fopen("d:\\goods.out", "w")) == NULL){printf ("未找到文件d:\\goods.out...系统将退出\n ");exit(0);}fprintf(fp,"%s %d %d\n",goods[0].name,goods[0].totalCount,goods[0].price);fprintf(fp,"%s %d %d\n",goods[1].name,goods[1].totalCount,goods[1].price);fprintf(fp,"%s %d %d\n",goods[2].name,goods[2].totalCount,goods[2].price);//关闭文件fclose(fp);fp = NULL;}void TongJiFun(){printf("\n\t·今日商品销售情况一览·\n");printf("\n\t\t-商品%s %d件共%d元-\n",goods[0].name,tj[0].jrxl,tj[0].jrzje);printf("\n\t\t-商品%s %d件共%d元-\n",goods[1].name,tj[1].jrxl,tj[1].jrzje);printf("\n\t\t-商品%s %d件共%d元-\n",goods[2].name,tj[2].jrxl,tj[2].jrzje);printf("\n\t·共计%d件,%d元·\n",tj[0].jrxl + tj[1].jrxl+tj[2].jrxl,tj[0].jrzje+tj[1].jrzje+tj[2].jrzje);}//Goods.htypedef struct _Goods{char name[50];int totalCount;int price;}Goods;typedef struct _TongJi{int jrxl;int jrzje;}TongJi;。

C毕业课程设计超市管理系统

C毕业课程设计超市管理系统

C 毕业课程设计超市管理系统一、教学目标本课程旨在让学生掌握超市管理系统的基本知识和技能,能够运用C语言进行程序设计,实现超市管理的基本功能,如商品信息管理、库存管理、销售管理等。

同时,通过本课程的学习,培养学生的问题解决能力和团队协作能力,提高学生的创新意识和实践能力。

具体来说,知识目标包括:1.掌握C语言的基本语法和编程方法。

2.理解超市管理系统的业务流程和需求分析。

3.学习常用的数据结构和算法,并能够应用于实际问题解决。

技能目标包括:1.能够使用C语言编写简单的程序,实现超市管理的基本功能。

2.学会使用调试工具,能够发现和修复程序中的错误。

3.能够进行团队合作,共同完成一个完整的超市管理系统项目。

情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情,提高学生的学习积极性。

2.培养学生的问题解决能力和创新意识,让学生感受到编程的乐趣。

3.培养学生的团队协作意识,让学生学会与他人合作共同完成任务。

二、教学内容本课程的教学内容主要包括三个部分:C语言基础知识、超市管理系统的设计与实现、项目实践。

1.C语言基础知识:包括C语言的基本语法、数据类型、运算符、控制结构等。

这部分内容是学习后续章节的基础,需要学生掌握。

2.超市管理系统的设计与实现:包括需求分析、系统设计、模块划分等。

这部分内容让学生了解超市管理系统的业务流程,学会如何将实际问题转化为程序设计问题。

3.项目实践:学生分组完成一个超市管理系统项目,包括商品信息管理、库存管理、销售管理等。

这部分内容让学生将所学知识应用于实际问题解决,提高学生的实践能力。

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

1.讲授法:教师讲解C语言的基本语法和编程方法,让学生掌握基础知识。

2.案例分析法:通过分析真实的超市管理系统案例,让学生了解业务流程和需求分析。

3.实验法:学生动手编写程序,实现超市管理的基本功能,培养学生的实践能力。

UML-超市管理系统

UML-超市管理系统

UML-超市管理系统1. 系统概述超市管理系统是一个用于管理超市商品、库存、销售和员工等信息的管理系统。

该系统可以帮助超市提高工作效率,降低运营成本,并实现对各项业务的实时监控和数据分析。

2. 静态结构2.1 类图类图描述了系统的静态结构,包括类、属性和方法。

以下是一些主要类的示例:•商品类(Product):包含商品ID、名称、价格、类别等属性,提供查询商品信息的方法。

•库存类(Inventory):包含库存量、供应商等属性,提供添加、删除和更新库存的方法。

•销售类(Sale):包含销售记录ID、商品ID、销售数量、销售时间等属性,提供查询销售记录的方法。

•员工类(Employee):包含员工ID、姓名、职位、工资等属性,提供查询员工信息的方法。

2.2 对象图对象图展示了系统中对象之间的实例关系。

例如,一个库存对象可以包含多个商品对象。

2.3 组件图组件图描述了系统的模块划分和依赖关系。

例如,商品管理模块、库存管理模块和销售管理模块等。

2.4 部署图部署图展示了系统在物理硬件上的部署情况,包括服务器、客户端等。

3. 动态行为3.1 序列图序列图描述了系统中对象之间交互的顺序。

以下是一个示例序列图:1.用户登录系统。

2.系统验证用户身份。

3.用户选择进入商品管理模块。

4.系统展示商品列表。

5.用户查询特定商品信息。

6.系统返回查询结果。

3.2 协作图协作图展示了系统中对象之间交互的协作关系。

例如,商品管理模块中的商品查询功能涉及多个对象的协作。

3.3 状态图状态图描述了系统中的对象在不同条件下的状态变化。

例如,一个商品对象在库存充足、销售后和库存不足等状态之间的转换。

3.4 用例图用例图展示了系统的主要功能模块和用户之间的交互。

例如,用户可以进行商品查询、库存管理和销售统计等操作。

4. 数据库设计数据库设计包括数据表的创建、字段定义和关联关系。

以下是一个简化示例:•商品表(Product):商品ID(主键)、名称、价格、类别等字段。

java超市管理系统课程设计报告

java超市管理系统课程设计报告

java超市管理系统课程设计报告湖南文理学院课程设计题目:超市管理系统系别计算机科学与技术班级计科12102学生姓名罗巍杨欢杨沁铠唐振学号 201217010223指导教师谭文学课程设计进行地点:第三实验楼A617任务下达时间: 2014 年5月21日起止日期:2014年5月21日起——至 2014年6月21日止目录一、系统需求分析.................................. - 6 -1.1系统名称:...................................... - 6 -1.2系统介绍:...................................... - 6 -1.3开发背景........................................ - 6 -1.4.系统面向的用户群体.............................. - 7 -1.5开发环境........................................ - 7 -二、系统总体设计.................................. - 7 -2.1系统功能结构图 .................................. - 7 -三、系统详细设计...................... 错误!未定义书签。

3.1数据库实体E-R图设计 ................ 错误!未定义书签。

3.2数据库表的设计 ...................... 错误!未定义书签。

3.3物理设计文档 ........................ 错误!未定义书签。

3.4详细设计............................ 错误!未定义书签。

四、系统总结.......................... 错误!未定义书签。

新华书店进销存管理系统部分程序源代码

新华书店进销存管理系统部分程序源代码

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载新华书店进销存管理系统部分程序源代码地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容附录2新华书店进销存管理系统部分程序源代码主程序MAIN.PRG程序代码SET DEFAULT TO C:\毕业设计PUBLIC nkfgl,nxsgl,ncggl,nkcgl,nxtgl STORE .f. TO nkfgl,nxsgl,ncggl,nkcgl,nxtgl PUBLIC nname,ndepartmentSTORE "" TO nname,ndepartmentDo Form loginfRead EventsDo Form mainRead EventsQuit主表单MAIN.SCX代码2.1 表单Init过程程序代码do mmenu.mpr with this,.T.bel2.caption = nnamebel4.caption = ndepartment系统登入表单LOGINF.SCX代码3.1 表单登入按钮Click事件程序代码SELECT userGO TOP*检查用户名和密码是否输入If empty(thisform.text1.value) thenbel3.caption = "请输入用户名"returnelseif empty(thisform.text2.value) thenbel3.caption = "请输入密码"returnendifendif*操作USER表,查询满足条件记录locate for name = alltrim(thisform.text1.value)if !found()bel3.caption="用户不存在"returnelseif user.password != alltrim(thisform.text2.value) thenbel3.caption="密码错误"returnendifendifnname = ndepartment = user.department nkfgl = user.kfglnxsgl = user.xsglncggl = user.cgglnkcgl = user.kcglnxtgl = user.xtglthisform.releaseclear events系统管理表单XTGLF.SCX代码4.1 表单Init过程程序代码thisform.text1.enabled = .f. thisform.text2.enabled = .f. thisform.text3.enabled = .f. bo1.enabled = .f. thisform.check1.enabled = .f. thisform.check2.enabled = .f. thisform.check3.enabled = .f.thisform.check4.enabled = .f. thisform.check5.enabled = .f. bel5.visible = .f. thisform.text3.visible = .f. mand10.enabled = .f. mand11.enabled = .f. thisform.dis_recordthisform.dis_reccommand4.2 表单自定义过程DIS_RECORD程序代码PUBLIC newcommandSTORE .f. TO newcommandif reccount("user") = 0thisform.text1.value = ""thisform.text2.value = ""bo1.value = "" thisform.check1.value = 0thisform.check2.value = 0thisform.check3.value = 0thisform.check4.value = 0thisform.check5.value = 0elsethisform.text1.value = thisform.text2.value = user.password bo1.value = user.department if user.kfgl thenthisform.check1.value = 1elsethisform.check1.value = 0endifif user.xsgl thenthisform.check2.value = 1elsethisform.check2.value = 0endifif user.cggl thenthisform.check3.value = 1elsethisform.check3.value = 0endifif user.kcgl thenthisform.check4.value = 1elsethisform.check4.value = 0endifif user.xtgl thenthisform.check5.value = 1elsethisform.check5.value = 0endifendifthisform.refresh4.3 表单自定义过程DIS_RECCOMMAND程序代码private nstore 0 to nn = reccount("user")if n=1 .or. n=0 thenmand1.enabled = .f. mand2.enabled = .f. mand3.enabled = .f. mand4.enabled = .f.elseif recno("user")=1 thenmand1.enabled = .f.mand2.enabled = .f. mand3.enabled = .t. mand4.enabled = .t.elseif recno("user")=n thenmand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .f. mand4.enabled = .f.elsemand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .t. mand4.enabled = .t.endifendifendifthisform.refresh4.4 表单保存按钮Click事件程序代码if empty(thisform.text1.value) then=messagebox("请输入用户名",0+48+0,"出错")thisform.refreshreturnendifif empty(thisform.text2.value) then=messagebox("请输入密码",0+48+0,"出错")thisform.text2.setfocusthisform.refreshreturnendifif .not.(alltrim(thisform.text2.value) ==alltrim(thisform.text3.value)) then=messagebox("密码重复错误,请重新输入",0+48+0,"出错") thisform.text2.value = ""thisform.text3.value = ""thisform.text2.setfocusthisform.refreshreturnendifif empty(bo1.value) then=messagebox("请选择所属部门",0+48+0,"出错")thisform.refreshreturnendififthisform.check1.value=0.and.thisform.check2.value=0.and .thisform.check3.value=0.and.thisform.check4.value=0.an d.thisform.check5.value=0 then=messagebox("至少选择一个用户权限",0+48+0,"出错") thisform.check1.setfocusthisform.refreshreturnendififthisform.check1.value=1.and.thisform.check2.value=1.and .thisform.check3.value=1.and.thisform.check4.value=1.an d.thisform.check5.value=1 thenmesbox=messagebox("此用户将具有全部权限,请确认",4+48+0,"警告")if mesbox=7 thenthisform.check1.setfocusthisform.refreshreturnendifendif*用户权限处理PRIVATEnname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxt nname = alltrim(thisform.text1.value)npassword = alltrim(thisform.text2.value)ndepartment = alltrim(bo1.value) if thisform.check1.value = 1 thennkf = .t.elsenkf = .f.endifif thisform.check2.value = 1 thennxs = .t.elsenxs = .f.endifif thisform.check3.value = 1 thenncg = .t.elsencg = .f.endifif thisform.check4.value = 1 thennkc = .t.elsenkc = .f.endifif thisform.check5.value = 1 thennxt = .t.elsenxt = .f.endif*判断是新记录保存还是修改记录If newcommand then && newcommand = .t. 是新记录保存locate for =alltrim(thisform.text1.value) if found() then=messagebox("用户已经存在",0+48+0,"出错")thisform.text1.setfocusthisform.refreshreturnendif*数据表user保存记录insert intouser(name,password,department,kfgl,xsgl,cggl,kcgl,xtgl) values (nname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxt) =messagebox("保存完毕",0+48+0,"提示")elseupdate user set password=npassword,department=ndepartment,kfgl=nkf,xsgl=nxs,cggl=ncg,kcgl=nkc,xtgl=nxt where name= nname=messagebox("修改完成",0+48+0,"提示")endif*表单初始化thisform.text1.enabled = .f.thisform.text2.enabled = .f.thisform.text3.enabled = .f.bo1.enabled = .f.thisform.check1.enabled = .f.thisform.check2.enabled = .f.thisform.check3.enabled = .f.thisform.check4.enabled = .f. thisform.check5.enabled = .f. mand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .t. mand4.enabled = .t. mand5.enabled = .t. mand6.enabled = .t. mand7.enabled = .t. mand8.enabled = .t. mand9.enabled = .t. mand10.enabled =.f. mand11.enabled =.f. mand12.enabled = .t. bel5.visible = .f. thisform.text3.visible = .f. thisform.dis_reccommand thisform.dis_recordnewcommand = .f.thisform.refresh4.5 表单浏览按钮Click事件程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,80 noFLOAT CLOSE nominimize nogrow nozoom systembrow fields name,department,kfgl,xsgl,cggl,kcgl window browsewin noappend nomodify nodeleterelease window browsewin图书管理表单TSGL.SCX代码5.1 自定义过程AUTO_BOOKID程序代码select bookset order to bookidgo bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 =alltrim(str(val(substr(alltrim(book.bookid),2,6))+1,6,0 ))autoid2 = len(autoid1)if autoid2 != 6 thenfor n = autoid2 to 5autoid1 = "0" + autoid1endforendifautoid4 = "B" + alltrim(autoid1)thisform.text1.value = autoid4 5.2 新建按钮Click事件程序代码thisform.text2.enabled = .t. thisform.text3.enabled = .t. thisform.text4.enabled = .t. thisform.text5.enabled = .t. thisform.text6.enabled = .t. bo1.enabled = .t. thisform.text7.enabled = .t. thisform.text8.enabled = .t. mand1.enabled = .f. mand2.enabled = .f. mand3.enabled = .f. mand4.enabled = .f. mand5.enabled = .f. mand6.enabled = .f. mand7.enabled = .f. mand8.enabled = .f. mand9.enabled = .f. mand10.enabled =.t. mand11.enabled =.t.mand12.enabled = .t.thisform.text2.value = ""thisform.text3.value = ""thisform.text4.value = ""thisform.text5.value = ""thisform.text6.value = ""bo1.value = ""thisform.text7.value = 0thisform.text8.value = 0thisform.auto_bookidthisform.text2.setfocusthisform.newcommand = .t.thisform.refresh5.3 删除按钮Click事件程序代码if reccount("book")=1 then=messagebox("只有一条记录,不能删除",0+16+0,"出错") returnelsenbookid = alltrim(thisform.text1.value) nbookname = alltrim(thisform.text2.value)mesbox=messagebox("是否删除"+nbookid+"号图书",4+48+0,"警告")if mesbox=7 thenreturnelseuse book EXCLUSIVEdelete from book where bookid=nbookidpack=messagebox(nbookid+"图书已经删除",0+48+0,"提示") endifendifthisform.dis_recordthisform.dis_reccommandthisform.grid1.recordsource = "book"thisform.refresh5.4 保存按钮Click事件程序代码if empty(thisform.text2.value)=messagebox("请输入书名",0+48+0,"出错")thisform.text2.setfocusthisform.refreshreturnendifif empty(thisform.text3.value)=messagebox("请输入书号",0+48+0,"出错") thisform.text3.setfocusthisform.refreshreturnendifif empty(thisform.text4.value)=messagebox("请输入出版社",0+48+0,"出错") thisform.text4.setfocusthisform.refreshreturnendifif empty(thisform.text5.value)=messagebox("请输入作者信息",0+48+0,"出错") thisform.text5.setfocusthisform.refreshreturnendifif empty(bo1.value)=messagebox("请选择图书类型",0+48+0,"出错")bo1.setfocusthisform.refreshreturnendifif thisform.text7.value = 0=messagebox("请输入价格",0+48+0,"出错")bo1.setfocusthisform.refreshreturnendifPRIVATEnbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbook cd,nbookclass,nbookprice,nbookdiscountnbookid = alltrim(thisform.text1.value)nbookname = alltrim(thisform.text2.value)nbookno = alltrim(thisform.text3.value)nbookphouse = alltrim(thisform.text4.value)nbookwriter = alltrim(thisform.text5.value)nbookcd = alltrim(thisform.text6.value)nbookclass = alltrim(bo1.value)nbookprice = thisform.text7.valuenbookdiscount = thisform.text8.value*判断是新记录保存还是修改记录If thisform.newcommand then && newcommand = .t. 是新记录保存*数据表book保存记录insert into book(bookid,bookname,bookno,bookphouse,bookwriter,bookcd,bookclass,bookprice,bookdiscount) values(nbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbookcd,nbookclass,nbookprice,nbookdiscount)=messagebox("保存完毕",0+48+0,"提示")elseupdate book setbookname=nbookname,bookno=nbookno,bookphouse=nbookphouse,bookwriter=nbookwriter,bookcd=nbookcd,bookclass=nbookclass,bookprice=nbookprice,bookdiscount=nbookdiscountwhere bookid=nbookid=messagebox("修改完成",0+48+0,"提示")endif*表单初始化thisform.text2.enabled = .f.thisform.text3.enabled = .f.thisform.text4.enabled = .f.thisform.text5.enabled = .f.thisform.text6.enabled = .f.bo1.enabled = .f.thisform.text7.enabled = .f.thisform.text8.enabled = .f.mand5.enabled = .t.mand6.enabled = .t.mand7.enabled = .t.mand8.enabled = .t.mand9.enabled = .t.mand10.enabled =.f.mand11.enabled =.f.mand12.enabled = .t.thisform.dis_recordthisform.dis_reccommandthisform.newcommand = .f.thisform.refresh5.5 浏览按钮Click事件程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,160 noFLOAT CLOSE nominimize nogrow nozoom systembrow fieldsbookid,bookname,bookno,bookphouse,bookwriter,bookcd,boo kclass,bookprice,bookdiscount window browsewin noappend nomodify nodeleterelease window browsewin会员输入表单KFGL_HYSR.SCX程序代码6.1 自定义过程AUTO_VIPID程序代码select vipset order to vipidgo bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 =alltrim(str(val(substr(alltrim(vip.vipid),2,6))+1,6,0)) autoid2 = len(autoid1)if autoid2 != 6 thenfor n = autoid2 to 5autoid1 = "0" + autoid1endforendifautoid4 = "V" + alltrim(autoid1)thisform.text1.value = autoid46.2 保存按钮Click事件程序代码*输入数据校验if empty(thisform.text2.value)=messagebox("请输入会员姓名",0+16+0,"出错") thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0=messagebox("请选择会员性别",0+16+0,"出错") thisform.optiongroup1.option1.setfocus returnelseprivate nvipsexstore "" to nvipsexif thisform.optiongroup1.value = 1store "男" to nvipsexelsestor "女" to nvipsexendifendifif empty(thisform.text4.value)=messagebox("请输入会员联系地址",0+16+0,"出错") thisform.text4.setfocusreturnendifif empty(thisform.text5.value)=messagebox("请输入会员联系电话",0+16+0,"出错") thisform.text5.setfocusreturnendifif empty(thisform.text6.value)=messagebox("请输入邮政编码",0+16+0,"出错") thisform.text6.setfocusreturnendif*保存数据private nvipid,nvipname,nvipadd,nvipphone,nvipcode nvipid = alltrim(thisform.text1.value)nvipname = alltrim(thisform.text2.value)nvipadd = alltrim(thisform.text4.value)nvipphone = alltrim(thisform.text5.value) nvipcode = alltrim(thisform.text6.value)insert into vip(vipid,vipname,vipsex,vipadd,vipphone,vipcode,vipsum,vi pdiscount) values(nvipid,nvipname,nvipsex,nvipadd,nvipphone,nvipcode,0,0) =messagebox("保存成功",0+48+0,"提示")nmesbox=messagebox("是否打印会员卡?",4+32+0,"会员卡打印")if nmesbox = 6selectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphon e,vip.vipcode from vip where vip.vipid = nvipid into cursor vipcardselect vipcardreport form vipcard.frx to printuse in vipcardendifthisform.auto_vipidmand2.click6.3 清除按钮Click事件程序代码thisform.text2.value = ""thisform.optiongroup1.value = 0thisform.text4.value = ""thisform.text5.value = ""thisform.text6.value = ""thisform.text1.setfocusthisform.refresh会员查询表单KFGL_HYCX.SCX程序代码7.1 表单自定义过程DIS_GRID程序代码thisform.grid1.readonly = .t.thisform.grid1.columncount = 8thisform.grid1.column1.header1.caption = "会员编号" thisform.grid1.column1.width = 80thisform.grid1.column1.movable = .f.thisform.grid1.column1.resizable = .f.thisform.grid1.column2.header1.caption = "会员姓名" thisform.grid1.column2.width = 80thisform.grid1.column2.movable = .f.thisform.grid1.column2.resizable = .f.thisform.grid1.column3.header1.caption = "会员性别" thisform.grid1.column3.width = 80thisform.grid1.column3.movable = .f.thisform.grid1.column3.resizable = .f.thisform.grid1.column4.header1.caption = "联系地址"thisform.grid1.column4.width = 250thisform.grid1.column4.movable = .f.thisform.grid1.column4.resizable = .f.thisform.grid1.column5.header1.caption = "联系电话"thisform.grid1.column5.width = 80thisform.grid1.column5.movable = .f.thisform.grid1.column5.resizable = .f.thisform.grid1.column6.header1.caption = "邮政编码"thisform.grid1.column6.width = 80thisform.grid1.column6.movable = .f.thisform.grid1.column6.resizable = .f.thisform.grid1.column7.header1.caption = "累计购书金额"thisform.grid1.column7.width = 80thisform.grid1.column7.movable = .f.thisform.grid1.column7.resizable = .f.thisform.grid1.column8.header1.caption = "会员优惠折扣"thisform.grid1.column8.width = 80thisform.grid1.column8.movable = .f.thisform.grid1.column8.resizable = .f.thisform.refresh7.2 表单Init过程程序代码thisform.dis_gridpublic ncombo1,ncombo2,ntext1,chsql,cxsqlstore "" to ncombo1,ncombo2,ntext1,chsql,cxsqlthisform.optiongroup1.value = 0thisform.optiongroup1.enabled = .f.thisform.grid1.recordsource = Nullselectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphon e,vip.vipcode,vip.vipsum,vip.vipdiscount from vip into cursor hycx_temptable order by vip.vipidthisform.grid1.recordsource = "hycx_temptable"thisform.dis_gridthisform.refresh7.3 表单添加条件按钮Click事件程序代码if empty(bo1.value) .or.empty(bo2.value) .or.empty(thisform.text1.value)=messagebox("请输入条件",0+48+0,"出错")bo1.setfocusreturnendifif thisform.optiongroup1.value = 1chsql = " AND "endifif thisform.optiongroup1.value = 2chsql = " OR "endifchsql = chsql + ncombo1 + ncombo2 + ntext1 thisform.edit1.value = thisform.edit1.value + chsql if .not.empty(thisform.edit1.value)thisform.optiongroup1.value = 1thisform.optiongroup1.enabled = .t.endifbo1.value = ""bo2.value = ""thisform.text1.value = ""chsql = ""bo1.setfocusthisform.refresh7.4 表单条件查询按钮Click事件程序代码if empty(thisform.edit1.value)=messagebox("请输入查询条件",0+16+0,"出错")mand1.setfocusthisform.refreshreturnendifcxsql = alltrim(thisform.edit1.value)thisform.grid1.recordsource = Nullselectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphon e,vip.vipcode,vip.vipsum,vip.vipdiscount from vip where &cxsql into cursor hycx_temptable order by vip.vipid thisform.grid1.recordsource = "hycx_temptable"thisform.dis_gridthisform.optiongroup1.value = 0thisform.optiongroup1.enabled = .f.bo1.value = ""bo2.value = ""thisform.text1.value = ""thisform.edit1.value = ""store "" to ncombo1,ncombo2,ntext1,chsql,cxsqlthisform.refresh会员修改表单KFGL_HYXG.SCX程序代码表单Init过程程序代码LPARAMETERS nPar1select vipset order to vipidlocate for vip.vipid = nPar1 thisform.text1.value = vip.vipid thisform.text2.value = vip.vipname if vip.vipsex = "男"thisform.optiongroup1.value = 1 elsethisform.optiongroup1.value = 2 endifthisform.text4.value = vip.vipadd thisform.text5.value = vip.vipphone thisform.text6.value = vip.vipcode thisform.refresh保存按钮Click事件程序代码*输入数据校验if empty(thisform.text2.value)=messagebox("请输入会员姓名",0+48+0,"出错") thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0=messagebox("请选择会员性别",0+48+0,"出错") thisform.optiongroup1.option1.setfocusreturnelseprivate nvipsexstore "" to nvipsexif thisform.optiongroup1.value = 1store "男" to nvipsexelsestor "女" to nvipsexendifendifif empty(thisform.text4.value)=messagebox("请输入会员联系地址",0+48+0,"出错") thisform.text4.setfocusreturnendifif empty(thisform.text5.value)=messagebox("请输入会员联系电话",0+48+0,"出错")thisform.text5.setfocusreturnendifif empty(thisform.text6.value)=messagebox("请输入邮政编码",0+48+0,"出错")thisform.text6.setfocusreturnendif*修改数据private nvipid,nvipname,nvipadd,nvipphone,nvipcodenvipid = alltrim(thisform.text1.value)nvipname = alltrim(thisform.text2.value)nvipadd = alltrim(thisform.text4.value)nvipphone = alltrim(thisform.text5.value)nvipcode = alltrim(thisform.text6.value)update vip set vip.vipname = nvipname, vip.vipsex = nvipsex, vip.vipadd = nvipadd, vip.vipphone = nvipphone, vip.vipcode = nvipcode where vip.vipid = nvipid=messagebox("修改已完成",0+48+0,"提示")thisform.release删除按钮Click事件程序代码nvipid = alltrim(thisform.text1.value)mesbox=messagebox("是否删除" + nvipid + "号会员",4+48+0,"警告")if mesbox=7 thenreturnelseuse vip EXCLUSIVEdelete from vip where vip.vipid = nvipidpack=messagebox("会员" + nvipid + "已经删除",0+48+0,"提示")endifthisform.release会员卡打印表单KFGL_HYDY.SCX程序代码9.1 打印按钮Click事件程序代码if empty(thisform.text1.value)=messagebox("请输入会员编号",0+16+0,"出错")thisform.text1.setfocusreturnelsenvipid = thisform.text1.valueendifnmesbox=messagebox("是否打印会员卡?",4+32+0,"会员卡打印")if nmesbox = 6selectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphon e,vip.vipcode from vip where vip.vipid = nvipid into cursor vipcardselect vipcardreport form vipcard.frx to printuse in vipcardendif9.2 输入框Text1的Valid事件程序代码this.value = alltrim(this.value)if .not.empty(this.value)select vipgo toplocate for vip.vipid = this.valueif found()thisform.text2.value = vip.vipname thisform.text3.value = vip.vipsex thisform.text4.value = vip.vipadd thisform.text5.value = vip.vipphone thisform.text6.value = vip.vipcodeelse=messagebox("会员编号不存在",0+16+0,"出错") thisform.text1.value = ""thisform.text2.value = ""thisform.text3.value = ""thisform.text4.value = ""thisform.text5.value = ""thisform.text6.value = ""endifendifthisform.refresh采购员管理表单KFGL_CGY.SCX程序代码10.1 表单自定义过程AUTO_BUYERID程序代码select buyerset order to buyeridgo bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 =alltrim(str(val(substr(alltrim(buyer.buyerid),4,2))+1,2 ,0))autoid2 = len(autoid1)if autoid2 =1autoid1 = "0" + autoid1endifautoid4 = "BUY" + alltrim(autoid1)thisform.text1.value = autoid410.2 表单表单保存按钮Click程序代码privatenbuyerid,nbuyername,nbuyersex,nbuyerbirthday,nbuyeradd, nbuyerphoneif empty(thisform.text2.value)=messagebox("请输入采购员姓名",0+48+0,"出错")thisform.text2.setfocusthisform.refreshreturnendifif thisform.optiongroup1.value = 0=messagebox("请选择采购员性别",0+48+0,"出错") thisform.optiongroup1.option1.setfocus thisform.refreshreturnendifif thisform.text3.value = {}=messagebox("请输入出生年月",0+48+0,"出错") thisform.text3.setfocusthisform.refreshreturnendifif empty(thisform.text4.value) then=messagebox("请输入家庭住址",0+48+0,"出错") thisform.text4.setfocusthisform.refreshreturnendifif empty(thisform.text5.value) then=messagebox("请输入联系电话",0+48+0,"出错") thisform.text5.setfocusthisform.refreshreturnendifnbuyerid = alltrim(thisform.text1.value)nbuyername = alltrim(thisform.text2.value)if thisform.optiongroup1.value = 1nbuyersex = "男"elsenbuyersex = "女"endifnbuyerbirthday = dtoc(thisform.text3.value)nbuyeradd = alltrim(thisform.text4.value)nbuyerphone = alltrim(thisform.text5.value)*判断是新记录保存还是修改记录If thisform.newcommand = .t. && newcommand = .t. 是新记录保存*数据表buyer保存记录insert intobuyer(buyerid,buyername,buyersex,buyerbirthday,buyeradd ,buyerphone) values(nbuyerid,nbuyername,nbuyersex,nbuyerbirthday,nbuyeradd ,nbuyerphone)=messagebox("保存完毕",0+48+0,"提示")elseupdate buyer setbuyername=nbuyername,buyersex=nbuyersex,buyerbirthday=n buyerbirthday,buyeradd=nbuyeradd,buyerphone=nbuyerphone where buyerid=nbuyerid=messagebox("修改完成",0+48+0,"提示")endif*表单初始化thisform.text1.enabled = .f.thisform.text2.enabled = .f.thisform.optiongroup1.enabled = .f.thisform.text3.enabled = .f.thisform.text4.enabled = .f.thisform.text5.enabled = .f.mand1.enabled = .t.mand2.enabled = .t.mand3.enabled = .t.mand4.enabled = .t.mand5.enabled = .t.mand6.enabled = .t.mand7.enabled = .t.mand8.enabled = .t.mand9.enabled = .t.mand10.enabled =.f.mand11.enabled =.f.mand12.enabled = .t.thisform.dis_recordthisform.dis_reccommandthisform.newcommand = .f.thisform.refresh10.3 表单删除按钮Click程序代码if reccount("buyer")=1 then=messagebox("只有一条记录,不能删除",0+16+0,"出错") returnelsenbuyerid = alltrim(thisform.text1.value)nbuyername = alltrim(thisform.text2.value)mesbox=messagebox("是否删除"+nbuyerid+"号采购员"+nbuyername,4+48+0,"警告")if mesbox=7 thenreturnelseuse buyer EXCLUSIVEdelete from buyer where buyer.buyerid=nbuyeridpack=messagebox(nbuyerid+"号采购员"+nbuyername+"已经删除",0+48+0,"提示")endifendifthisform.dis_recordthisform.dis_reccommandthisform.refresh10.4 表单浏览按钮Click程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,120 noFLOAT CLOSE nominimize nogrow nozoom systemselect buyerset order to buyeridbrow fieldsbuyerid,buyername,buyersex,buyerbirthday,buyeradd,buyer phone window browsewin noappend nomodify nodeleterelease window browsewin10.5 表单自定义过程DIS_RECORD程序代码select buyerset order to buyeridif reccount("buyer") = 0thisform.text1.value = ""thisform.text2.value = ""thisform.optiongroup1.value = 0thisform.text3.value = {}thisform.text4.value = ""thisform.text5.value = ""elsethisform.text1.value = buyer.buyerid thisform.text2.value = buyer.buyernameif buyer.buyersex = "男"thisform.optiongroup1.value = 1elsethisform.optiongroup1.value = 2endifthisform.text3.value = buyer.buyerbirthday thisform.text4.value = buyer.buyeraddthisform.text5.value = buyer.buyerphoneendifthisform.refresh采购员信息查找表单KFGL_CGY_CZ.SCX程序代码11.1 表单查找按钮Click事件程序代码if thisform.optiongroup1.value = 1 .and. empty(thisform.text1.value)=messagebox("请输入采购员编号",0+16+0,"出错") thisform.text1.setfocusreturnendifif thisform.optiongroup1.value = 2 .and. empty(thisform.text2.value)=messagebox("请输入采购员姓名",0+16+0,"出错") thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0=messagebox("请选择条件",0+16+0,"出错")thisform.optiongroup1.option1.setfocusreturnendifselect buyerset order to buyeridgo topif thisform.optiongroup1.value = 1locate for buyerid == alltrim(thisform.text1.value) if .not.found()=messagebox("没有附和条件记录",0+16+0,"出错") thisform.text1.setfocusreturnendifelselocate for buyername = alltrim(thisform.text2.value) if .not.found()=messagebox("没有附和条件记录",0+16+0,"出错") thisform.text2.setfocusreturnendifendifcggl_cgy.dis_recordcggl_cgy.dis_reccommandcggl_cgy.refresh thisform.release。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t1=glist[i].num;
t2=glist[j].num;
break;
case 2:
t1=glist[i].price;
t2=glist[j].price;
break;
case 3:
t1=glist[i].stock;
}
printf("排序后\n");
output(glist,len);
}
}
int search(GOODS glist[],int len,int search_num)
{
int i=len-1;
while(i>=0&&(glist[i].num!=search_num))
i--;
return i; //返回找到的数组下标
}
void edit(GOODS glist[],int len,int edit_num)
{
int ss;
ss=search(glist,len,edit_num);
if(ss==-1)
printf("查无此商品\n");
}
return i;
}
void output(GOODS glist[],int len)
{
int i;
for(i=0;i<len;i++)
printf("商品号=%-5d 商品名称=%-5s 商品价格=%-5.2f元 商品库存量=%-5d件\n",glist[i].num,glist[i].name,glist[i].price,glist[i].stock);
}
void sort(GOODS glist[],int len)
{
int i,j,k,s1,t1,t2;
char s2;
GOODS temp;
char sortmenu1[]={"************************\n"
" 排序菜单1 \n"
struct goodstype
{
long int num;
char name[20];
float price;
int stock;
};
typedef struct goodstype GOODS;
GOODS glist[MAXLEN];
void output(GOODS glist[],int len);
};
do
{
printf("%s\n",menu);
printf("请在0-4之间选择:");
scanf("%d",&sel);
switch(sel)
{
case 1:
length=input(glist);
printf("共输入:%d件商品\n",length);
printf("请输入新的信息:\n");
printf("请输入商品号码 名称 价格 库存量(以空格分隔):");
scanf("%s %s %f %d",&glist[ss].num,glist[ss].name,&glist[ss].price,&glist[ss].stock);
int input(GOODS glist[])
{
int i=0;
printf("请输入商品号(十进制数,输入-1代表结束):");
scanf("%d",&glist[i].num);
while(glist[i].num!=-1)
{
printf("请输入商品名称 价格 库存量(以空格分隔):");
" 超市商品信息管理系统. \n"
" *1.输入商品信息 \n"
" *2.输出商品信息 \n"
" *3.排序 \n"
" *4.查找 \n"
{
s=search(glist,len,del_num);
if(s==-1)
printf("查无此商品\n");
else
{
for(s=s+1;s<len;s++)
glist[s]=glist[s+1];
printf("****************删除成功***********************\n");
void sort(GOODS glist[],int len);
int search(GOODS glist[],int len,int search_num);
void edit(GOODS glist[],int len,int search_num);
int del(GOODS glist[],int len);
printf("%s",sortmenu2);
printf("请选择>或<:");
scanf("%s",&s2);
for(i=0;i<len-1;i++)
{
for(j=i+1;j<len;j++)
{
switch(s1)
{
case 1:
}
break;
case 6:
while(1)
{
printf("请输入要删除的商品号码(输入-1代表回到主菜单):");
scanf("%d",&del_number);
if(del_number==-1)
break;
length=del(glist,length);
printf("还剩商品数量=%d件\n",length);
}
break;
case 0: exit(1);
}
}while(sel!=0);
}
//除去输出功能,其他功能都应该是循环体为主体结构
len--;
}
}
return len;
}
int main()
{
int length=0,sel;
int s,search_number;
int edit_number;
int del_number;
char menu[]={ "**************************************************\n"
printf("**********修改成功*********************\n");
}
}
int del(GOODS glist[],int len,int del_num)
{
int s;
if(len==0)
printf("亲,已经没有商品了哦!\n");
else
};
char sortmenu2[]={"************************\n"
" 排序菜单2 \n"
" >. 升序 \n"
" <. 降序 \n"
}
break;
case 5:
while(1)
{
printf("请输入要修改商品的号码(输入-1代表回到主菜单):");
scanf("%d",&edit_number);
if(edit_number==-1)
break;
edit(glist,length,edit_number);
if(s==-1)
printf("查无此商品\n");
else
printf("商品号=%-5d 商品名称=%-5s 商品价格=%-5.2f元 商品库存量=%-5d件\n",glist[s].num,glist[s].name,glist[s].price,glist[s].stock);
{
printf("请输入查找条件(商品号,输入-1代表回到主菜单):");
scanf("%d",&search_number);
if(search_number==-1)
break;
s=seer);
scanf("%s %f %d",glist[i].name,&glist[i].price,&glist[i].stock);
i++;
printf("请输入下一个商品号(十进制数,输入-1代表回到主菜单):");
scanf("%d",&glist[i].num); //i为数组长度,其实最后一个数组元素为glist[i-1]
"************************\n"
};
for(k=0;k<1;k++)
{
printf("%s",sortmenu1);
相关文档
最新文档