C#商品管理系统简易版

C#商品管理系统简易版攻略

1. 基础准备

  • 安装Visual Studio:在官网上下载 Visual Studio 安装包,按照提示进行安装即可。
  • 掌握C#基础语法:熟悉C#关键词、变量类型、循环语句、条件语句等基础语法,在基础上可以更好地理解代码的实现逻辑。

2. 搭建初始界面

在 Visual Studio 中创建一个 Windows Form 应用程序,将主界面设计为一个简易版的商品管理系统,例如:

_____________________
|  商品管理系统首页   |
|_____________________|

   1. 添加商品
   2. 删除商品
   3. 修改商品
   4. 查询商品
   5. 退出

3. 实现主要功能

3.1 添加商品

用户输入商品名称、价格、库存等信息,程序将信息写入文件中。示例代码:

private void btn_Add_Click(object sender, EventArgs e)
{
    string name = txt_Name.Text.Trim();  // 商品名称
    double price = Convert.ToDouble(txt_Price.Text);  // 商品价格
    int stock = Convert.ToInt32(txt_Stock.Text);  // 商品库存
    string info = $"{name},{price},{stock}\n";  // 拼接信息
    string path = "goods.txt";  // 文件路径

    using (StreamWriter sw = new StreamWriter(path, true))
    {
        sw.Write(info);  // 写入文件
    }

    MessageBox.Show("添加成功!");
}

3.2 删除商品

用户输入要删除的商品名称,程序查询文件中是否有该商品,如果有就删除该商品信息。示例代码:

private void btn_Delete_Click(object sender, EventArgs e)
{
    string name = txt_Name.Text.Trim();  // 商品名称
    string path = "goods.txt";  // 文件路径

    // 读取文件并删除符合条件的商品信息
    StringBuilder sb = new StringBuilder();
    using (StreamReader sr = new StreamReader(path))
    {
        while (!sr.EndOfStream)
        {
            string line = sr.ReadLine();
            if (!line.StartsWith(name))
            {
                sb.AppendLine(line);  // 不符合删除条件的商品信息追加到sb
            }
        }
    }

    // 将删除后的文件内容重新写入文件
    using (StreamWriter sw = new StreamWriter(path, false))
    {
        sw.Write(sb);
    }

    MessageBox.Show("删除成功!");
}

3.3 修改商品

用户输入要修改的商品名称,程序查询文件中是否有该商品,如果有就修改商品的信息。示例代码:

private void btn_Modify_Click(object sender, EventArgs e)
{
    string name = txt_Name.Text.Trim();  // 商品名称
    string path = "goods.txt";  // 文件路径
    string[] infos = null;

    // 读取并修改符合修改条件的商品信息
    StringBuilder sb = new StringBuilder();
    using (StreamReader sr = new StreamReader(path))
    {
        while (!sr.EndOfStream)
        {
            string line = sr.ReadLine();
            if (line.StartsWith(name))
            {
                infos = line.Split(',');
                infos[1] = txt_Price.Text.Trim();  // 修改商品价格
                infos[2] = txt_Stock.Text.Trim();  // 修改商品库存
                line = $"\n{infos[0]},{infos[1]},{infos[2]}";  // 修改后的商品信息
            }
            sb.AppendLine(line);  // 不需要修改的商品信息追加到sb
        }
    }

    // 将修改后的文件内容重新写入文件
    using (StreamWriter sw = new StreamWriter(path, false))
    {
        sw.Write(sb);
    }

    MessageBox.Show("修改成功!");
}

3.4 查询商品

用户输入要查询的商品名称,程序查询文件中是否有该商品,如果有就显示该商品的信息。示例代码:

private void btn_Search_Click(object sender, EventArgs e)
{
    string name = txt_Name.Text.Trim();  // 商品名称
    string path = "goods.txt";  // 文件路径
    string info = "";

    // 查询符合条件的商品信息
    using (StreamReader sr = new StreamReader(path))
    {
        while (!sr.EndOfStream)
        {
            string line = sr.ReadLine();
            if (line.StartsWith(name))
            {
                info = $"商品名称:{line.Split(',')[0]}\n商品价格:{line.Split(',')[1]}\n商品库存:{line.Split(',')[2]}";
            }
        }
    }

    if (!string.IsNullOrEmpty(info))
    {
        MessageBox.Show(info);
    }
    else
    {
        MessageBox.Show("没有该商品信息!");
    }
}

4. 总结

通过以上四个简单的功能模块,我们完成了一个简易版的商品管理系统。程序逻辑简单,易于理解和维护,同时也为更复杂的商业系统打下了基础。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#商品管理系统简易版 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码

    Asp.net MVC 是一种基于 Model-View-Controller (MVC) 的 Web 应用程序框架。在开发 Asp.net MVC 应用程序时,实现身份验证、异常处理以及权限验证是非常必要的功能。下面,我们将分别介绍这三种功能的实现方法。 Asp.net MVC 身份验证实现 在 Asp.net MVC 中,实现身份验证有多种方法,包括 F…

    C# 2023年5月31日
    00
  • C#中可空类型的使用

    当我们需要在C#中表示一个可以为null的值时,可空类型(Nullable Types)是非常有用的,它允许我们将值类型(Value Types)赋予null的能力。 定义可空类型 C#中的可空类型是由该类型名称和一个问号(?)组成的,例如: int? num = null; double? price = 3.99; 以上代码中,int?类型表示一个可以为…

    C# 2023年6月1日
    00
  • C#实现Oracle批量写入数据的方法详解

    C#实现Oracle批量写入数据的方法详解 介绍在Oracle数据库开发中,常常需要用到批量插入数据的技术,可以有效地提高数据插入的效率。本文将详细讲解如何使用C#对Oracle进行批量插入数据。 步骤以下是具体的操作步骤: 1.连接Oracle数据库在使用C#对Oracle进行批量插入数据之前,首先需要建立数据源连接。可以使用以下的代码来实现: strin…

    C# 2023年6月1日
    00
  • c# WPF中System.Windows.Interactivity的使用

    C# WPF框架中的System.Windows.Interactivity库为我们提供了一种方便的方式来对界面控件进行交互处理,比如双向绑定、事件触发等操作。本文将介绍System.Windows.Interactivity的基本概念以及如何在项目中使用该库。 什么是System.Windows.Interactivity System.Windows.I…

    C# 2023年5月15日
    00
  • EF Core项目中不同数据库需要的安装包介绍

    下面是EF Core项目中不同数据库需要的安装包介绍的完整攻略。 1. MySQL数据库 第一步:添加依赖 在创建EF Core项目时,需要添加MySql.Data.EntityFrameworkCore这个NuGet依赖,它是与MySQL数据库连接库一起使用的。可以在NuGet 包管理器中搜索MySql.Data.EntityFrameworkCore并将…

    C# 2023年6月3日
    00
  • C# 限制输入为字母或数字以及长度

    日常开发过程中,验证字符的合法性一直是一个必不可少的步骤,以前都是在用户输入完再做判断,不仅麻烦在不符合标准的时候还要提示用户修改,体验很差,为什么不在输入的时候加以限制呢? 以 Winform的TextBox控件为例,这里提供两种方案: 通过字符匹配 正则表达式 在用户输入时限制,所以选用KeyPress事件。 字符匹配 private void txt_…

    C# 2023年4月17日
    00
  • C#远程获取图片文件流的方法

    下面我将详细讲解“C#远程获取图片文件流的方法”的完整攻略,通过下面的流程,你可以轻松地获取远程图片的文件流。 1. 发送HTTP请求 首先,我们需要使用System.Net命名空间下的WebRequest和WebResponse类来发送http请求来获取图片的字节流。以下是一段示例代码: string imageUrl = "<remote…

    C# 2023年6月1日
    00
  • 一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)

    让我来详细讲解一下“一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)”的完整攻略。 什么是无刷新树结构? 无刷新树结构指的是在不刷新整个页面的情况下,实现树形结构的展示和交互。在这种情况下,仅更新部分页面内容,可以提高用户体验和页面响应速度。 实现步骤 1.准备工作 首先,你需要准备一些前置条件,包括: 1.包含jquery的…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部