我们为之奋斗过的C#之---简单的库存管理系统
今天非常开心,因为今天终于要给大家分享一个库存管理项目了.
我个人感觉在做项目之前一定先要把逻辑思路理清,不要拿到项目就噼里啪啦的一直敲下去这样是一不好的习惯,等你做大项目的时候,你就不会去养成一种做前理清逻辑思路的习惯,在接下来的项目中考虑的太复杂化.所以做前理清逻辑思路是个好习惯..
接下来我们先来分析一下这个库存难管理系统

既然是库存管理显然就有一个货品类(Goods)管理类(Adm)
货品类中包括了(货品名称;货品位置;货品价格;货品评价)
仓库类包括了一些方法
初始化货品信息Input()
输出货品清单列表output()
欢迎菜单Welcom()
根据商品名称获取商品位置GetHome()
获得满意度最高的商品GetSatisfactionHeightGoods()
输出满意度最高的货品outputSatisfactionHeightGoods()
最后在程序的入口类中调用其方法
下面就要详细的叙述一下这个类;方法;以及Main方法中的调用代码了.
首先在项目中添加一个货品类Goods
public class Adm
{
Goods[] goods = ];//实例化一个对象数组
初始化货品的信息方法
public void Input()
{
Goods goods1 = new Goods();//实例化一个goods1对象
goods1.Name = "倚天剑";
goods1.Home = "峨眉山";
goods1.Satisfy = ;
goods1.Money = 9.9;
goods[] = goods1; //将对象每一项值赋给对象数组
Goods goods2 = new Goods();//实例化一个goods2对象
goods2.Name = "屠龙刀";
goods2.Home = "暂不知下落";
goods2.Satisfy = 99.9;
goods2.Money = 90.9;
goods[] = goods2; //将对象每一项值赋给对象数组
Goods goods3 = new Goods();//实例化一个goods3对象
goods3.Name = "孔雀翎";
goods3.Home = "xx地方";
goods3.Satisfy = ;
goods3.Money = ;
goods[] = goods3;//将对象每一项值赋给对象数组
}
输出货品清单列表
public void output() {
Console.WriteLine("库存货品清单列表");
Console.WriteLine("======================");
foreach (Goods item in goods)//用foreach循环遍历数组)
{
if(item!=null)//如果当前数组中的值不为null
{
Console.WriteLine("货品名称:\t{0}",item.Name);//向屏幕打印货品名称
}
}
Console.WriteLine("======================");
}
欢迎菜单
根据商品名称获取商品位置
public void Welcom()
{
Console.WriteLine("======================欢迎使用库存管理系统=======================");
Console.WriteLine("1:根据货品名称获取货品位置2:取得客户满意最高的货品3:退出");
Console.WriteLine("======================欢迎使用库存管理系统=======================");
Console.WriteLine("请选择:");
int choice = int.Parse(Console.ReadLine());//向屏幕输入内容本身是一个string类型,这用到int.Parse转化为int类型
switch(choice)//根据输入的数组选择对应的功能
{
:
GetHome();
break;
:
outputSatisfactionHeightGoods(GetSatisfactionHeightGoods());
break;
:
Console.WriteLine("退出成功!");
break;
default:
Console.WriteLine("对不起!没有对应的模块");
break;
}
}
public void GetHome()
{
Console.WriteLine("请输入要查询的货品名称:");
string name=Console.ReadLine();
foreach (Goods item in goods)
{
if (item != null)//如果当前数组中的值不为null
{
if(name.Equals(item.Name))//如果输入的名字和数组中的名字匹配,就输出对应的货品位置
{
Console.WriteLine(item.Home);//输出货品位置
Welcom();
break;
}
}
}
}
获得满意度最高的商品
public Goods GetSatisfactionHeightGoods()
{
//用冒泡排序算法把满意度从大到小排列
; i < goods.Length - ; i++)
{
; j < goods.Length - - i; j++)
{
].Satisfy)//如果数组中的第一项满意度小于数组中的第二项的满意度那么就进行交换
{
//交换过程
Goods a = goods[i];
goods[i] = goods[i + ];
goods[i + ] = a;
}
}
}
];//返回数组下标为0的那一项这里保存的就是最大的数组中满意度最大那一项
}
输出满意度最高的货品
public void outputSatisfactionHeightGoods(Goods happy)
{
Console.WriteLine("客户满意最高的商品:{0};摆放在:{1};满意度:{2};价格:{3}", happy.Name, happy.Home, happy.Satisfy, happy.Money);//输出信息
}
到这这个库存系统也基本快做好了
最后在程序的入口类(即Main方法中)调用一下
static void Main(string[] args)
{
Adm adm = new Adm();//实例化一个仓库类对象
adm.Input();//保证前三项有值
adm.Inputshow();//调用输出货品信息的方法
adm.Welcom();//调用欢迎菜单的方法
Console.ReadLine();
}
到这一个简单的库存管理系统就Ok了
谢谢你们抽出宝贵的时间来看, 希望看完后对你有帮助.
我们为之奋斗过的C#之---简单的库存管理系统的更多相关文章
- 基于ThinkPHP框架的简单的后台管理系统
版权声明:本文为博主原创文章,未经博主允许不得转载. 基于ThinkPHP框架的简单的后台管理系统 一个简单的后台管理系统,可能还不全面,可以自己改,有登录功能 实例如图:
- Spring Boot简单应用——会员管理系统
简介 本项目是使用Spring Boot编写的一个简单的会员管理系统. 提供了会员的解决方案,主要有会员模块,管理员模块,礼品模块,商品模块,会员等级模块,生日提醒模块,积分模块,详细模块如下图 准备 ...
- Java之从头开始编写简单课程信息管理系统
编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...
- 实现超级简单的bug管理系统
大家可以试着去实现一个超级简单的bug管理系统 不需要鉴权,也就是不需要登陆 有tag管理功能,缺陷上可以加tag,通过tag区分bug的状态和类型 bug的增删改查功能 bug描述支持markdow ...
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...
- 基于node+koa2+mongodb实现简单的导航管理系统
基于node+koa2+mongodb实现简单的导航管理系统 项目说明 本项目gitbub地址 https://github.com/xuess/nav-admin,喜欢请star 基于node 实现 ...
- ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
接上一篇:ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码 1.实现UI端的增删改查 1.1添加增删改查代码 打开SimpleTaskSystem.sln解决方案,添加一个“包含视图的MV ...
- php+js实现一个简单的用户管理系统
php + js 实现一个简单的用户管理系统 说实话,我对PHP是抵触的,但是我们的WEB课程刚好学的就是这个,不得已看了看,下面是用PHP实现的一个简单的用户管理系统. 我们首先来看一下目录结构 a ...
- java简单学生成绩管理系统
题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...
随机推荐
- wildfly jobss 同时连接多个数据源
由于需要从一个远程机器取数据.处理后保存到本地数据库处理.用 wildfly datasource 会报: [com.arjuna.ats.arjuna] (default task-6) ARJUN ...
- POJ 1038 Bugs Integrated, Inc.
AC通道 神坑的一道题,写了三遍. 两点半开始写的, 第一遍是直接维护两行的二进制.理论上是没问题的,看POJ discuss 上也有人实现了,但是我敲完后准备开始调了.然后就莫名其妙的以为会超时,就 ...
- Yocto开发笔记之《Tip-应用程序无法在目标机运行》(QQ交流群:519230208)
官方app编译环境编译的应用程序可以在开发板自带的系统中运行,自己编译并烧写了系统,却提示: root@imx6ulevk:/root# ./VTTerminal -sh: ./VTTerminal: ...
- 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制
内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...
- C# 文件操作大全
1.创建文件夹//using System.IO;Directory.CreateDirectory(%%1); 2.创建文件//using System.IO;File.Create(%%1); 3 ...
- linux手动或者自动启动oracle11g的服务 Oracle 自动启动脚本
手动启动: [oracle@localhost ~]$ sqlplus SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 26 23:39:52 2 ...
- 20145212 《Java程序设计》第2周学习总结
20145212 <Java程序设计>第2周学习总结 教材学习内容总结 第二周主要学习了Java的基本语法,在第一周熟悉了Java基本操作的基础上我们可以自行的利用这些语法编译具有实用价值 ...
- Array subscript is not an integer
字典的字母写成大写了,也不能查成出来,没有报没有这个字典,反而报这个错……找了好久
- sufeinet
http://www.sufeinet.com http://tool.sufeinet.com/
- Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件
第二条:类的头文件中尽量少引入其他头文件 使用向前声明(forward declaring) @class EOCEmployer 1, 将引入头文件的实际尽量延后,只在确有需要时才引入,这样就可以减 ...