资源简介
课程设计名称:实验室设备管理系统
设计内容:编写一个简单的实验室设备管理程序,帮助管理实验室设备信息。要求具有设备信息管理的功能,其中包括设备信息的录入、删除、查询和修改等功能;还应包括对实验室信息管理的功能,其中包括对实验室信息的录入、删除、修改和查询等功能。
任务和要求
运用面向对象的程序设计方法,要求选择动态数组类模板,任务中要运用I/O流对象对文件进行读写操作。
本题程序应提供的基本管理功能有:
添加:即增加一条信息到设备信息中,或增加一条信息到实验室信息中;
显示:即在屏幕上显示所有设备或实验室信息;
存储:即将设备信息和实验室信息分别保存在文件中;
装入:即将文件中的信息读入程序;
查询:可根据设备名称查找具体情况,若找到,显示在屏幕上;
修改:可修改设备信息,或对实验室信息进行修改。
代码片段和文件信息
#include
#include
#include
#include
#include
using namespace std;
//实验室数据类型
struct lab{
int labid;//实验室编号
int area;//实验室面积
char admin[20];//管理员姓名
};
//设备数据类型
struct equipment{
int id;//设备编号
char name[25];//名称
char model[25];//型号
int labid;//所属实验室
int price;//价格
char date[10];//购买日期
};
//动态数组类模板///////////////////////////////////////
template
class Array
{
private:
T * pointer;
int size;
int capacity;
void capacity_increase();
public:
Array():pointer(0)size(0)capacity(0){};
explicit Array(int );
Array(const Array& );
~Array(){delete [] pointer;};
int length(){return size;}; //长度
const Array & operator = (const Array & );
T & operator [] (int n){
if(n>=size || n<0){
cerr<<“数组中无该元素“< }
{
return pointer[n] ;
}
};
T * operator + (int n) { return pointer+n; };
void insert(int n T pT); //在第n(n从0开始计)个元素前面插入pT
void erase(int n); //删除第n个元素
void push_back(T); //从后插入
void print(){ //打印
for(int i=0;i cout< }
cout< };
};
template
Array::Array(int n)
{
pointer = new T[capacity=(size=n)*2];
}
template
Array::Array(const Array & rh)
{
pointer = new T[rh.capacity];
size = rh.size;
for(int i=0;i pointer[i] = rh.pointer[i]; //成员操做符的优先级高于中括号操做符
}
}
template
const Array & Array::operator =(const Array & rh)
{
delete [] pointer;
size = rh.size;
capacity = rh.capacity;
pointer = new T[rh.capacity];
for(int i=0;i pointer[i] = rh.pointer[i];
}
return * this;
}
template
void Array::capacity_increase()
{
if(capacity==0){
capacity=1;
}
T * temp = new T[capacity *= 2];
for(int i=0;i temp[i] = pointer[i];
}
delete [] pointer;
pointer = temp;
}
template
void Array::push_back(T pT)
{
if(size==capacity){
capacity_increase();
}
pointer[size++] = pT;
}
template
void Array::insert(int n T pT)
{
if(n>=size || n<0){
cerr<<“Insert Error“< return;
}
if(size==capacity){
capacity_increase();
}
for(int i=size;i>n;i--){
pointer[i]=pointer[i-1];
}
pointer[n] = pT;
}
template
void Array::erase(int n)
{
if(n>=size || n<0){
cout<<“Erase Error“< return ;
}
for(int i=n;i pointer[i]=pointer[i+1];
}
--size;
}/////////////////////////////////////////////////////////////////////
//主函数
void main(){
int i=0;
int lid=-1eid=-1;
char name[25];
char mainchoice=
相关资源
- 宠物管理系统课程设计(源码+数据库
- c语言课程设计:客房登记系统源码
- 职工信息管理系统源码(控制台)
- 8位竞赛抢答器的课程设计报告.docx
- C++MFC模块讲解,黑发程序员课程整理
- VC++MFC课程设计的学生成绩管理系统
- C++实现21点游戏
- c++课程设计学生管理系统浙工大源码
- 课程设计: MFC 学生信息管理系统
- dsp课程设计——语音加密.zip
- 广东工业大学数据结构课程设计航空
- 数据结构课程设计扑克牌排序
- c++课程设计宾馆客房管理系统
- c语言课程设计-职工信息管理系统-单
- 飞机票订购系统C语言课程设计报告全
- c++ 课程设计_中国象棋
- 编译原理课程设计-C语言子集编译器
- 操作系统课程设计(银行家算法)附
- 用c写的航空订票系统 航班信息改变
- 信息论课程设计——LZW编码
- 人员管理系统 c语言源码 课程设计专
- MFC课程设计学生管理系统
- C++写的商店管理系统
- vc++课程设计 让计算机来猜测用户“暗
- 职工工作量统计系统.rar
- 扫雷游戏.cpp C++ 课程设计
- 酒店客房预定系统vc++)
- C语言数据结构课程设计之统计C程序单
- 职工信息管理系统C 链表
- C++课程设计 扑克牌游戏内含2程序
评论
共有 条评论