通过面向程序设计写一个医院药品管理系统,通过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;
}