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日

相关文章

  • C# 脚本引擎RulesEngine的使用详解

    C# 脚本引擎RulesEngine的使用详解 什么是C#脚本引擎RulesEngine C# 脚本引擎RulesEngine是一个能够使用C#代码作为规则来进行决策的开源框架。它使用基于表达式树的动态编译技术,支持编写高效且安全的规则。 如何使用RulesEngine 添加依赖和命名空间 首先需要将以下依赖添加到项目中: <PackageRefere…

    C# 2023年5月31日
    00
  • 详解log4net的使用

    详解log4net的使用 log4net 是一种流行的 .NET 平台的日志记录框架,它可以记录各种级别的日志消息,并支持多种输出方式。本文将为你介绍如何在你的 .NET 项目中使用 log4net,实现灵活的日志记录功能。 安装log4net log4net 可以通过 NuGet 包管理器安装,只需要在 Visual Studio 中打开 “NuGet 包…

    C# 2023年5月31日
    00
  • 基于SqlSugar的开发框架循序渐进介绍(28)– 快速构建系统参数管理界面

    在参照一些行业系统软件的时候,发现一个做的挺不错的系统功能-系统参数管理,相当于把任何一个基础的系统参数碎片化进行管理,每次可以读取一个值进行管理,这样有利于我们快速的处理业务需求,是一个挺好的功能。本篇随笔模拟这个功能,基于SqlSugar开发框架的基础上,利用代码生成工具快速生成系统参数管理界面和相关的业务类生成。 1、参考和具体实现的效果对比 参照的界…

    C# 2023年4月27日
    00
  • 详解C#获取特定进程CPU和内存使用率

    详解C#获取特定进程CPU和内存使用率 想要获取特定进程的CPU和内存使用率,我们可以使用C#语言结合System.Diagnostics命名空间提供的相关API来实现。 步骤一:获取特定进程 首先我们需要获取我们想要获取的那个进程的实例,可以采用以下方法: Process process = Process.GetProcessesByName(&quot…

    C# 2023年6月7日
    00
  • c#多种加解密示例(md5加密解密)

    针对“c#多种加解密示例(md5加密解密)”问题,以下是完整攻略: 一、什么是MD5加密? MD5是一种单向加密算法,将任意长度的数据(字节序列)作为输入,通过一系列数学运算,得到一个固定长度(128位)的输出,即MD5值。这个过程是不可逆的,不能通过MD5值还原原来的输入数据,称为单向加密。MD5广泛应用于密码保护、文件校验等领域。 二、如何在c#中实现M…

    C# 2023年6月8日
    00
  • 用Linq从一个集合选取几列得到一个新的集合(可改列名)

    使用Linq可以从一个集合中选择一部分数据,然后形成一个新的集合,具体可分为以下几步: 使用Select()方法选择数据集合中的某些字段。 使用Select()方法创建一个匿名类型对象,指定新的列名。 使用ToList()方法生成一个新的集合对象。 下面是一个完整的示例代码: List<Student> students = new List&l…

    C# 2023年6月1日
    00
  • C#实现Datatable排序的方法

    一、Datatable排序的方法简介 在C#中,Datatable是一个非常重要的数据结构之一。很多时候我们需要对Datatable进行排序来实现对数据的精细管理。依据不同的需求,我们可以对Datatable按照不同的列进行升序或降序排序。下面,我们将提供两个示例来讲解如何使用C#实现Datatable排序的方法。 二、示例1:对Datatable按照单一列…

    C# 2023年5月31日
    00
  • C#实现炫酷启动图-动态进度条效果

    下面就讲解一下“C#实现炫酷启动图-动态进度条效果”的完整攻略。 1. 动态进度条效果是什么? 动态进度条是指在程序启动的时候,会出现一个进度条,进度条随着程序的启动过程不断变化,最终到达100%的效果。这种效果可以让启动过程更具有视觉和动态感,能够吸引用户的注意力,让用户感觉程序更加高效。 2. C#实现动态进度条效果步骤 下面我来详细讲解一下如何在C#中…

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