欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 【C#】书籍信息的添加、修改、查询、删除

【C#】书籍信息的添加、修改、查询、删除

2024/12/4 23:08:54 来源:https://blog.csdn.net/weixin_49345320/article/details/144217791  浏览:    关键词:【C#】书籍信息的添加、修改、查询、删除

文章目录

    • 一、简介
    • 二、程序功能
      • 2.1 Book类
        • 属性:
        • 方法:
      • 2.2 Program 类
    • 三、方法:
    • 四、用户界面流程:
    • 五、程序代码
    • 六、运行效果


一、简介

简单的C#控制台应用程序,用于管理书籍信息。这个程序将允许用户添加、编辑、查看和删除书籍信息,并将每本书籍的信息保存到一个文本文件中。这是一个实用的工具,适用于需要管理书籍信息的用户。

二、程序功能

我们的程序将包含以下功能:

当然,以下是程序中每个功能和对应方法的详细解释:

2.1 Book类

这个类代表了一个书籍对象,包含了书籍的所有属性。

属性:
  • Title:书名。
  • Author:作者。
  • Publisher:出版社。
  • PublishDate:出版日期。
  • Price:定价。
方法:
  • Book():默认构造函数,用于创建一个没有任何信息的书籍对象。
  • Book(string title, string author, string publisher, DateTime publishDate, decimal price):参数化构造函数,用于创建一个包含所有信息的书籍对象。
  • SaveToFile(string filePath):将书籍信息保存到指定的文件路径。这个方法使用File.WriteAllText来写入文件,文件内容以特定的格式保存(书名、作者、出版社、出版日期和定价)。
  • LoadFromFile(string filePath):从指定的文件路径加载书籍信息。这个方法使用File.ReadAllLines来读取文件,并解析每一行来设置书籍对象的属性。
  • DeleteBookFile(string filePath):删除指定文件路径的书籍文件。这个方法首先检查文件是否存在,如果存在,则使用File.Delete来删除文件。

2.2 Program 类

这个类包含程序的入口点和用户界面逻辑。

三、方法:

  • Main(string[] args):程序的入口点。这个方法设置控制台标题,显示主菜单,并根据用户的选择调用不同的方法来执行操作。
  • AddEditBook():添加或编辑书籍信息。这个方法提示用户输入书籍的详细信息,并保存到用户指定的文件路径。
  • ViewBook():查看书籍信息。这个方法提示用户输入书籍文件的路径,然后加载并显示书籍的详细信息。
  • DeleteBook():删除书籍信息。这个方法提示用户输入要删除的书籍文件路径,然后调用Book.DeleteBookFile方法来删除文件。

四、用户界面流程:

  • 程序启动后,显示主菜单,用户可以选择添加/编辑书籍、查看书籍、删除书籍或退出程序。
  • 根据用户的选择,程序调用相应的方法来执行操作。
  • 每个方法都通过控制台输入输出与用户交互,获取必要的信息或显示结果。

五、程序代码

以下是程序的完整代码:

using System;
using System.IO;namespace pages_211_编程题3_2_书籍信息的查看与编辑
{public class Book{public string Title { get; set; }public string Author { get; set; }public string Publisher { get; set; }public DateTime PublishDate { get; set; }public decimal Price { get; set; }public Book() { }public Book(string title, string author, string publisher, DateTime publishDate, decimal price){Title = title;Author = author;Publisher = publisher;PublishDate = publishDate;Price = price;}public void SaveToFile(string filePath){File.WriteAllText(filePath, $"书名: {Title}\n作者:{Author}\n出版社: {Publisher}\n出版日期: {PublishDate}\n定价: {Price}");}public static Book LoadFromFile(string filePath){string[] lines = File.ReadAllLines(filePath);return new Book{Title = lines[0].Split(new char[] { ':' }, 2)[1].Trim(),Author = lines[1].Split(new char[] { ':' }, 2)[1].Trim(),Publisher = lines[2].Split(new char[] { ':' }, 2)[1].Trim(),PublishDate = DateTime.Parse(lines[3].Split(new char[] { ':' }, 2)[1].Trim()),Price = decimal.Parse(lines[4].Split(new char[] { ':' }, 2)[1].Trim())};}public static void DeleteBookFile(string filePath){if (File.Exists(filePath)){File.Delete(filePath);Console.WriteLine("书籍文件删除成功。");}else{Console.WriteLine("书籍文件不存在。");}}}class Program{static void Main(string[] args){Console.Title = "书籍管理器";bool exit = false;while (!exit){Console.WriteLine("\n书籍管理器");Console.WriteLine("1. 添加/编辑书籍");Console.WriteLine("2. 查看书籍");Console.WriteLine("3. 删除书籍");Console.WriteLine("4. 退出");Console.Write("请选择一个选项:");int option = Convert.ToInt32(Console.ReadLine());switch (option){case 1:AddEditBook();break;case 2:ViewBook();break;case 3:DeleteBook();break;case 4:exit = true;break;default:Console.WriteLine("选项无效,请再试一次");break;}}}static void AddEditBook(){Console.Write("请输入书名:");string title = Console.ReadLine();Console.Write("请输入作者:");string author = Console.ReadLine();Console.Write("请输入出版社:");string publisher = Console.ReadLine();Console.Write("请输入出版日期(格式为yyyy-MM-dd):");DateTime publishDate = DateTime.Parse(Console.ReadLine());Console.Write("请输入定价:");decimal price = decimal.Parse(Console.ReadLine());Book book = new Book(title, author, publisher, publishDate, price);Console.Write("请输入保存书籍的文件路径:");string filePath = Console.ReadLine();book.SaveToFile(filePath);Console.WriteLine("书籍保存成功。");}static void ViewBook(){Console.Write("请输入要查看书籍的文件路径:");string filePath = Console.ReadLine();Book book = Book.LoadFromFile(filePath);Console.WriteLine($"书名: {book.Title}");Console.WriteLine($"作者: {book.Author}");Console.WriteLine($"出版社: {book.Publisher}");Console.WriteLine($"出版日期: {book.PublishDate.ToShortDateString()}");Console.WriteLine($"定价: {book.Price}");}static void DeleteBook(){Console.Write("请输入要删除书籍的文件路径:");string filePath = Console.ReadLine();Book.DeleteBookFile(filePath);}}
}

六、运行效果

  • 添加书籍

在这里插入图片描述
在这里插入图片描述

  • 修改书籍
    在这里插入图片描述
    在这里插入图片描述

  • 删除书籍
    在这里插入图片描述
    在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com