药品信息管理系统各子系统功能实现以及要求 1】添加:输入要增加的药品个数,逐条录入新增的药品各项信息,并保存到数据文件中,增加时要有对编号是否重复的判断。 【2】删除:输入药品编号,若存在,删除该条信息;若不存在给出信息提示。可以考虑增加“是否删除?”的信息提示,在确认后再进行删除。 【3】查找:按药品编号查找,输出查找到的药品信息,若不存在输出相应提示信息。 【4】修改:输入药品编号,先显示该药品信息(由于编号不会重复,在此至多显示一条信息);然后输入新的信息,并把信息存到数据文件。此处也要有对编号是否重复的判断。 【5】浏览:输出显示所有药品信息,并输出药品总个数。 【6】按价格排序:在此子系统中,可以选择排序的次序,并将排序后的药品信息显示出来。 【7】退出系统。 【8】扩充:以上叙述的是各个模块的基本功能,请自行扩充各个模块及各种信息的统计等功能。 用 C语言编写程序 满足以上
时间: 2024-02-19 12:01:33 浏览: 69
要求的药品信息管理系统,可以按照以下步骤实现:
1. 定义药品信息的结构体,包括药品编号、药品名称、规格、生产厂家、单价、库存量等信息。
2. 实现添加药品信息的函数,该函数先输入要增加的药品个数,逐条录入新增的药品各项信息,并保存到数据文件中。在增加时要有对编号是否重复的判断。
3. 实现删除药品信息的函数,该函数先输入药品编号,若存在,删除该条信息;若不存在给出信息提示。可以考虑增加“是否删除?”的信息提示,在确认后再进行删除。
4. 实现查找药品信息的函数,按药品编号查找,输出查找到的药品信息,若不存在输出相应提示信息。
5. 实现修改药品信息的函数,先输入药品编号,显示该药品信息(由于编号不会重复,在此至多显示一条信息);然后输入新的信息,并把信息存到数据文件。此处也要有对编号是否重复的判断。
6. 实现浏览药品信息的函数,输出显示所有药品信息,并输出药品总个数。
7. 实现按价格排序的函数,在此子系统中,可以选择排序的次序,并将排序后的药品信息显示出来。
8. 实现退出系统的函数。
9. 可以考虑扩充各个模块及各种信息的统计等功能。
下面是一个基本的药品信息管理系统的 C 语言代码示例:
相关问题
药品信息管理系统C语言【1】添加:输入要增加的药品个数,逐条录入新增的药品各项信息,并保存到数据文件中,增加时要有对编号是否重复的判断。 【2】删除:输入药品编号,若存在,删除该条信息;若不存在给出信息提示。可以考虑增加“是否删除?”的信息提示,在确认后再进行删除。 【3】查找:按药品编号查找,输出查找到的药品信息,若不存在输出相应提示信息。 【4】修改:输入药品编号,先显示该药品信息(由于编号不会重复,在此至多显示一条信息);然后输入新的信息,并把信息存到数据文件。此处也要有对编号是否重复的判断。 【5】浏览:输出显示所有药品信息,并输出药品总个数。 【6】按价格排序:在此子系统中,可以选择排序的次序,并将排序后的药品信息显示出来。 【7】退出系统。 【8】扩充:以上叙述的是各个模块的基本功能,请自行扩充各个模块及各种信息的统计等功能。
好的,这是一个药品信息管理系统,需要实现的功能有:
1. 添加药品信息,并保存到数据文件中。
2. 删除药品信息。
3. 按药品编号查找药品信息。
4. 修改药品信息。
5. 浏览所有药品信息。
6. 按价格排序并显示排序后的药品信息。
7. 退出系统。
8. 扩充其他功能。
这个系统需要使用C语言编写。我会给你逐步介绍每个功能的实现方法。
用c++编写程序,要求:输入要增加的药品的个数,逐条录入新增的药品的各项信息,并保存到数据文件中,增加时要有对编号是否重复的判断
好的,让我来解答你的问题。
首先,你需要定义一个药品的结构体,包含药品编号、药品名称、药品价格等信息。然后,你可以使用文件流来读取和写入数据文件。
以下是一个简单的示例程序:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// 定义药品结构体
struct Medicine {
int id; // 药品编号
string name; // 药品名称
double price; // 药品价格
};
// 判断药品编号是否重复
bool isDuplicateId(int id, Medicine* medicines, int count) {
for (int i = 0; i < count; i++) {
if (medicines[i].id == id) {
return true;
}
}
return false;
}
int main() {
int n; // 要增加的药品的个数
cout << "请输入要增加的药品的个数:";
cin >> n;
// 动态分配药品结构体数组
Medicine* medicines = new Medicine[n];
// 读取数据文件中的药品信息
int count = 0;
ifstream fin("medicines.dat");
if (fin.is_open()) {
while (fin >> medicines[count].id >> medicines[count].name >> medicines[count].price) {
count++;
}
fin.close();
}
// 录入新增的药品信息
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个药品的信息(编号、名称、价格):";
cin >> medicines[count+i].id >> medicines[count+i].name >> medicines[count+i].price;
// 判断药品编号是否重复
if (isDuplicateId(medicines[count+i].id, medicines, count+i)) {
cout << "药品编号已存在,请重新输入!" << endl;
i--;
}
}
// 写入数据文件
ofstream fout("medicines.dat");
if (fout.is_open()) {
for (int i = 0; i < count+n; i++) {
fout << medicines[i].id << " " << medicines[i].name << " " << medicines[i].price << endl;
}
fout.close();
}
// 释放动态分配的数组内存
delete [] medicines;
return 0;
}
```
在这个示例程序中,我们定义了一个药品结构体,并使用动态分配的数组来存储药品信息。在录入新增的药品信息时,我们使用了 `isDuplicateId` 函数来判断药品编号是否重复。最后,我们将药品信息写入数据文件,并释放动态分配的数组内存。
希望这个示例程序能够对你有所帮助!
阅读全文
相关推荐
















