• 大小: 11KB
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-08-13
  • 语言: C/C++
  • 标签: 课程设计  c  c++  

资源简介

课程设计名称:实验室设备管理系统 设计内容:编写一个简单的实验室设备管理程序,帮助管理实验室设备信息。要求具有设备信息管理的功能,其中包括设备信息的录入、删除、查询和修改等功能;还应包括对实验室信息管理的功能,其中包括对实验室信息的录入、删除、修改和查询等功能。 任务和要求 运用面向对象的程序设计方法,要求选择动态数组类模板,任务中要运用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=

评论

共有 条评论