通过面向程序设计设计一个医院药品管理系统如何通过STL存入容器中

通过面向程序设计写一个医院药品管理系统,通过STL存储,C++

vector<你的结构体> vec;
vec.push_back(某个结构体对象)

完整的程序:http://download.csdn.net/download/lsyrhz/3518401
采纳本回答后,留下邮箱可代下载。

是课程设计之类的吗,使用vector或者list之类的容器储存应该都行

 // 药品管理.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include "stdlib.h"
#include <vector>
#include <iostream>
#include <string>

using namespace std;

struct Medicine
{
    int Number;
    char Name[100];
    char Unit[10];
    int Mount;
};

vector<Medicine *> Medicines;

void add()
{
    Medicine * m = new Medicine();
    printf("请输入编号,名字,单位,数量:");
    scanf("%d,%[^,],%[^,],%d", &m->Number, &m->Name, &m->Unit, &m->Mount);
    Medicines.push_back(m);
}

void del()
{
    int n;
    cout << "请输入要删除的编号:" << endl;
    cin >> n;
    for (vector<Medicine *>::iterator iter = Medicines.begin();
        iter != Medicines.end();)
        if ((*iter)->Number == n) iter = Medicines.erase(iter); else ++iter;
}

void lst()
{
    cout << "编号\t名称\t单位\t数量\n";
    for (vector<Medicine *>::iterator iter = Medicines.begin();
        iter != Medicines.end();
        iter++)
        cout << (*iter)->Number << "\t" << (*iter)->Name << "\t" << (*iter)->Unit << "\t" << (*iter)->Mount << endl;
    system("pause");
}

void find()
{
    cout << "1 By Name\n2 By Number?\n";
    int ch;
    cin >> ch;
    if (ch == 1)
    {
        int n;
        cin >> n;
        cout << "编号\t名称\t单位\t数量\n";
        for (vector<Medicine *>::iterator iter = Medicines.begin();
            iter != Medicines.end();
            iter++)
            if ((*iter)->Number == n)
                cout << (*iter)->Number << "\t" << (*iter)->Name << "\t" << (*iter)->Unit << "\t" << (*iter)->Mount << endl;
    }
    else
    {
        char m[100];
        scanf("%s", m);
        cout << "编号\t名称\t单位\t数量\n";
        for (vector<Medicine *>::iterator iter = Medicines.begin();
            iter != Medicines.end();
            iter++)
            if (strcmp(m, (*iter)->Name) == 0)
                cout << (*iter)->Number << "\t" << (*iter)->Name << "\t" << (*iter)->Unit << "\t" << (*iter)->Mount << endl;
    }
    system("pause");
}

int main(int argc, char* argv[])
{
    while (1)
    {
        system("cls");
        printf("药品管理系统菜单\n");
        printf("1 添加\n");
        printf("2 删除\n");
        printf("3 全部列出\n");
        printf("4 查询\n");
        printf("5 退出\n请选择:");
        int cho;
        scanf("%d", &cho);
        system("cls");
        switch (cho)
        {
        case 1:
            add();
            break;
        case 2:
            del();
            break;
        case 3:
            lst();
            break;
        case 4:
            find();
            break;
        case 5:
            exit(0);
            break;
        default:
            break;
        }
    }
    return 0;
}