C++药房管理系统设计模块代码分析

这篇具有很好参考价值的文章主要介绍了C++药房管理系统设计模块代码分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

药房管理系统涉及到药品管理、库存管理、销售管理等多个模块。其中类设计如下(使用C++语言):

1. 药品管理模块——药品类(Drug)的定义:

```cpp
class Drug {
private:
    string name;
    int quantity;
    double price;
public:
    Drug(string n, int q, double p) {
        name = n;
        quantity = q;
        price = p;
    }
    // Getter and setter methods
    string getName() {
        return name;
    }
    int getQuantity() {
        return quantity;
    }
    double getPrice() {
        return price;
    }
    void setQuantity(int q) {
        quantity = q;
    }
};
```

2. 药品库存管理模块的示例代码:

```cpp
class Inventory {
private:
    vector<Drug> drugs;
public:
    void addDrug(Drug drug) {
        drugs.push_back(drug);
    }
    void updateDrugQuantity(string name, int quantity) {
        for (int i = 0; i < drugs.size(); i++) {
            if (drugs[i].getName() == name) {
                drugs[i].setQuantity(quantity);
                break;
            }
        }
    }
    void displayInventory() {
        for (int i = 0; i < drugs.size(); i++) {
            cout << "Name: " << drugs[i].getName() << ", Quantity: " << drugs[i].getQuantity() << ", Price: " << drugs[i].getPrice() << endl;
        }
    }
};
```

3. 销售管理模块的示例代码:

```cpp
class Sales {
private:
    vector<Drug> soldDrugs;
public:
    void sellDrug(Drug drug, int quantity) {
        if (drug.getQuantity() >= quantity) {
            drug.setQuantity(drug.getQuantity() - quantity);
            soldDrugs.push_back(drug);
            cout << "Drug sold successfully." << endl;
        } else {
            cout << "Insufficient quantity in stock." << endl;
        }
    }
    void displaySales() {
        for (int i = 0; i < soldDrugs.size(); i++) {
            cout << "Name: " << soldDrugs[i].getName() << ", Quantity: " << soldDrugs[i].getQuantity() << ", Price: " << soldDrugs[i].getPrice() << endl;
        }
    }
};
```

4.数据库创建和连接代码:

```cpp
#include <iostream>
#include <mysql/mysql.h>

int main() {
    // 创建数据库连接
    MYSQL* conn = mysql_init(NULL);

    // 连接数据库
    if (!mysql_real_connect(conn, "localhost", "root", "password", "pharmacy", 0, NULL, 0)) {
        std::cout << "数据库连接失败: " << mysql_error(conn) << std::endl;
        return 1;
    }

    // 创建药品表
    std::string createTableQuery = "CREATE TABLE drugs ("
                                   "id INT PRIMARY KEY AUTO_INCREMENT,"
                                   "name VARCHAR(100) NOT NULL,"
                                   "quantity INT NOT NULL,"
                                   "price FLOAT NOT NULL"
                                   ")";

    if (mysql_query(conn, createTableQuery.c_str())) {
        std::cout << "创建药品表失败: " << mysql_error(conn) << std::endl;
        return 1;
    }

    // 关闭数据库连接
    mysql_close(conn);

    std::cout << "数据库连接已关闭" << std::endl;

    return 0;
}
```

上述代码创建一个名为"pharmacy"的数据库,其中包含一个名为"drugs"的药品表。你需要将"localhost"、"root"和"password"替换为你自己的MySQL服务器地址、用户名和密码。

5.用户管理模块代码:

```cpp
#include <iostream>
#include <vector>
using namespace std;

// 用户类
class User {
private:
    string username;
    string password;
public:
    User(string username, string password) {
        this->username = username;
        this->password = password;
    }

    string getUsername() {
        return username;
    }

    bool checkPassword(string password) {
        return this->password == password;
    }
};

// 用户管理类
class UserManager {
private:
    vector<User> users;
public:
    void addUser(User user) {
        users.push_back(user);
    }

    bool loginUser(string username, string password) {
        for (int i = 0; i < users.size(); i++) {
            if (users[i].getUsername() == username && users[i].checkPassword(password)) {
                return true;
            }
        }
        return false;
    }
};

int main() {
    UserManager userManager;

    // 添加用户
    User user1("admin", "admin123");
    User user2("guest", "guest123");
    userManager.addUser(user1);
    userManager.addUser(user2);

    // 用户登录
    string username, password;
    cout << "请输入用户名:";
    cin >> username;
    cout << "请输入密码:";
    cin >> password;

    if (userManager.loginUser(username, password)) {
        cout << "登录成功!" << endl;
    } else {
        cout << "登录失败!" << endl;
    }

    return 0;
}
```

代码中包括了一个User类和一个UserManager类。User类表示用户,包含用户名和密码属性,以及检查密码的方法。UserManager类表示用户管理,包含添加用户和登录验证的方法。

在main函数中,首先创建一个UserManager对象,并添加两个用户。然后通过用户输入的用户名和密码,调用UserManager的loginUser方法进行登录验证,如果登录成功,则输出"登录成功",否则输出"登录失败"。文章来源地址https://www.toymoban.com/news/detail-762820.html

到了这里,关于C++药房管理系统设计模块代码分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SMART系统—系统功能管理模块设计与开发

    SMART系统是一个在语言上采用跨平台的JAVA技术、在框架架构上采用流行的MVC架构、在业务架构中采用Spring的IOC思想和ORM技术的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。本文设计的系统管理功能模

    2023年04月18日
    浏览(27)
  • C++/Qt版酒店客房管理系统代码详解——入住管理模块

    入住管理模块代码: ```cpp #include QtWidgets // 客房类 class Room { public:     Room(int number) : m_number(number) {}     int getNumber() const { return m_number; } private:     int m_number; }; // 客房管理系统 class RoomManagementSystem : public QWidget {     Q_OBJECT public:     RoomManagementSystem(QWidget *parent = nullp

    2024年02月03日
    浏览(39)
  • c++学习笔记-STL案例-机房预约系统4-管理员模块

    前言 衔接上一篇“c++学习笔记-STL案例-机房预约系统3-登录模块”,本文主要设计管理员模块,从管理员登录和注销、添加账号、显示账号、查看机房、清空预约五个功能进行分析和实现。 目录 7 管理员模块 7.1 管理员登录和注销 7.1.1 构造函数 ​编辑7.1.2 管理员子菜单 7.1.

    2024年01月19日
    浏览(34)
  • C++课程设计:学生管理系统设计

    高级程序设计课程设计 一、教学目标和基本要求     本课程全面系统的学习面向对象程序设计的基本概念,基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类,对象,继承与派生,多态,虚函数,模板,流类库等。遵循软件过程的各个环节进行系统分

    2024年02月08日
    浏览(50)
  • 系统分析与设计课程报告-----------------社团管理系统

    青年志愿者协会在学院党委的领导及团委的直接指导下,由学生自发组织,全校师生自愿参加的,志愿服务于广大师生,奉献爱心于社会的,倡导积极主流文化的群众性服务性团体。 (一)主席团 作为青年志愿者协会的领导核心,全面主持校青志的各项工作;负责校青志总

    2024年02月11日
    浏览(35)
  • 通讯录管理系统C++代码

    目录 通讯录管理系统(课程设计) 一、系统中需要实现的功能 二、创建项目 三、实现功能 1、菜单功能  2.添加联系人功能  3.显示联系人功能 4.删除联系人  5 .查找联系人功能  6.修改联系人功能  7.清空联系人功能  8.退出功能 对于通讯录管理系统而言,不需要太复杂的

    2024年02月09日
    浏览(32)
  • 【系统分析与设计】高校学生社团管理系统

    学生社团是高校内的一个以拓展学生业余兴趣爱好的组织。社团在大学生校园生活里起着关键作用,它不仅为学生们提供了一个尽情展现才华的舞台,还有效提高了学生自身的沟通能力、组织能力及团队协作能力。 高校社团文化日渐丰富,随之而来的是愈加繁琐的社团事务,

    2023年04月09日
    浏览(30)
  • 超市管理系统 C++(课程设计)

    古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 ---------------🍎------------🍉-------------- 🐼学编程的bird的博客,邀您一起学习🦌 ----------------🥕------------🥭------------- 😊很高兴你打开了这篇博客。 ★如有疑问不解或者说有想问的地方,都可以在下方评论留

    2024年01月16日
    浏览(31)
  • 课程设计---族谱管理系统(c++)

    系统简介 课设题目 界面展示 代码实现 Node.h TreeNode.h Genealogy.h Genealogy.cpp button.h 主函数 Genghis Khan.txt 图片文件 测试案例 结语 族谱管理系统是数据结构课程的一个经典的课程设计案例,主要考查对大家对树结构的掌握与运用。以下是我在课程设计时所写的代码,希望能够对大

    2024年02月03日
    浏览(44)
  • C++课程设计——学生成绩管理系统

    今天清理电脑偶尔发现一个我刚学编程时用c++写的一份课程设计,使用到简单的链表,结构体,c++类与对象的知识——学生成绩管理系统。 ~~ 系统结构: 管理员模式 教师模式 学生模式 实现了对学生成绩及信息的增删改查以及排序。 效果图 主菜单 管理员模式菜单 源代码

    2024年02月16日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包