21xrx.com
2024-12-22 19:41:11 Sunday
登录
文章检索 我的文章 写文章
C++ 课程设计实验报告
2023-07-08 20:41:43 深夜i     --     --
C++ 课程设计 实验报告 算法 数据结构

C++课程设计是计算机科学专业的学生必修课程,也是学生们学习编程语言的一个重要环节。课程设计实验是该课程的重要组成部分,为学生提供了一个将他们所学到的知识应用于实践的机会。在本篇文章中,我们将分享一份C++课程设计的实验报告。

任务要求

本次C++课程设计实验的任务是开发一个货物管理系统。该系统需要能够管理货物的信息,包括货物名称、价格、数量等。同时,该系统还需要能够对货物进行入库、出库和查询等操作,并能够生成相应的报表,例如入库、出库和库存报表。

开发环境

本次实验的开发环境为Visual Studio 2019。使用C++语言进行编程,采用了面向对象的程序设计方法,以C++类的形式表示了货物和仓库。

代码实现

首先,我们定义了一个货物类Goods以及一个仓库类Store。货物类包括货物的名称、价格和数量,以及一些对这些属性进行操作的方法。仓库类包括了一个货物数组、仓库的容量、入库和出库等方法。以下是部分代码示例:


class Goods {

private:

  std::string name;

  double price;

  int amount;

public:

  Goods(std::string name, double price, int amount)

    this->name = name;

    this->price = price;

    this->amount = amount;

  

  void decreaseAmount(int num) {

    if (this->amount >= num)

      this->amount -= num;

    else

      throw std::runtime_error("Decrease amount failed");

  }

  // other getters and setters

};

class Store {

private:

  int capacity;

  Goods *goodsList;

public:

  Store(int capacity) {

    this->capacity = capacity;

    this->goodsList = new Goods[capacity];

  }

  void addGoods(Goods g) {

    for (int i = 0; i < capacity; i++) {

      if (goodsList[i].name.empty()) {

        goodsList[i] = g;

        std::cout << "Add goods succeeded" << std::endl;

        return;

      }

    }

    std::cout << "Add goods failed" << std::endl;

  }

  // other methods

};

除此之外,我们还定义了一个Menu类,用于实现系统菜单。该菜单将用户输入转换成菜单选项,并调用仓库类的相应方法实现操作。以下是代码示例:


class Menu {

public:

  static char getMenuOption()

    std::cout << "1. Add goods" << std::endl;

    std::cout << "2. Decrease goods amount" << std::endl;

    std::cout << "3. Generate report" << std::endl;

    std::cout << "4. Quit" << std::endl;

    std::cout << "Enter option: ";

    char op;

    std::cin >> op;

    return op;

  

};

// in main function

int main() {

  Store store(100);

  while (true) {

    char op = Menu::getMenuOption();

    switch (op) {

      case '1': {

        std::string name;

        double price;

        int amount;

        std::cout << "Enter name, price and amount: ";

        std::cin >> name >> price >> amount;

        Goods g(name, price, amount);

        store.addGoods(g);

        break;

      }

      // other cases

    }

  }

  return 0;

}

实验结果

经过调试和测试,我们最终成功实现了货物管理系统,并能够进行入库、出库和查询等操作。同时,我们还能够生成各种报表,如入库、出库和库存报表等。

结论

通过本次C++课程设计实验,我们深入了解了C++语言的面向对象特性以及如何将其应用于实际的软件开发中。通过本次实践,学生们能够更加深入地理解程序设计的思想,同时也能够提高自己的编程技能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复