动物园管理系统实验报告Word文件下载.docx

上传人:b****6 文档编号:21436288 上传时间:2023-01-30 格式:DOCX 页数:24 大小:224.10KB
下载 相关 举报
动物园管理系统实验报告Word文件下载.docx_第1页
第1页 / 共24页
动物园管理系统实验报告Word文件下载.docx_第2页
第2页 / 共24页
动物园管理系统实验报告Word文件下载.docx_第3页
第3页 / 共24页
动物园管理系统实验报告Word文件下载.docx_第4页
第4页 / 共24页
动物园管理系统实验报告Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

动物园管理系统实验报告Word文件下载.docx

《动物园管理系统实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《动物园管理系统实验报告Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

动物园管理系统实验报告Word文件下载.docx

~id:

int

tiger

+show():

void

~motion:

int

horse

+show():

void

~speed:

ﻩ 

panda

+show():

void

~hobby:

int

  

五.数据流图

1.总体数据流图:

从文件读出数据数据

2。

模块数据流图

数据浏览:

数据查询:

                数据录入:

数据删除:

六.界面的设计

界面设计截图:

1.主菜单界面设计

2.浏览界面:

3.录入界面的设计

七.课程设计的心得

  

通过本次实验我能够基本掌握面向对象程序设计的基础知识,在对动物园管理系统的编写过程中了解了面向对象程序设计的应用,也在上机实践和对程序调试的同时提高了自己解决问题的能力。

在这段时间的上机实践中,我学会了很多,了解了如何应用Microsoft VisualC++环境实现工程的创建,类的生成等,可以说这次上机让我对课堂所学的知识有了更好的理解。

深刻的体会到了面向对象程序设计在工程中应用的重要作用,及其对工程方面程序设计的深远影响.

这次实验我受益匪浅,在掌握面向对象程序设计的基础上更使我对c++语言产生了浓厚的兴趣。

使我对原来不太感兴趣的专业课有了更好的认识和理解,我深刻的体会到学好面向对象程序设计的重要性,虽然我们已经结束了课程,但是我会继续努力学好这门课程,利用课余时间上机实现程序的编写和设计,努力学好这门课。

相信此次上机会给我的专业课学习奠定良好的基础,对影响今后的学习意义重大。

附录:

实验代码

//Animal.h

#ifndef Animal_h

#define Animal_h

#include<

iostream〉

#include"

Feed。

h"

#include”ill.h"

//========================================================

usingnamespacestd;

classAnimal:

publicFeed,public ill

{

  private:

ﻩ  intid;

                 

 public:

   Animal(){};

                        

ﻩ Animal(inti,char*f,int t,char*r,char*d,char *p,int ID):

Feed(i,f,t),ill(r,d,p)

ﻩ {id=ID;

}                  /            

                     

ﻩ  ~Animal(){};

             

  voidset_id(intID){id=ID;

}           

ﻩ intget_id(){returnid;

}              

};

#endif

//ill.h

#ifndefill_h

#defineill_h

#include〈iostream〉

#include<

string〉

//=====================================================

usingnamespacestd;

classill

private:

ﻩ char reason[50];

  chardate[20];

  charplace[20];

  public:

 ill(){};

               

 ill(char*r,char *d,char*p){strcpy(reason,r);

strcpy(date,d);

strcpy(place,p);

}

   //构造函数,strcpy(date,d)复制函数,将d复制给date

ﻩ ~ill(){};

                

                

ﻩ voidset_reason(char*r){strcpy(reason,r);

}

  char *get_reason(){returnreason;

  voidset_date(char *d){strcpy(date,d);

}        

  char*get_date(){returndate;

}              

                       

ﻩ voidset_place(char*p){strcpy(place,p);

   char*get_place(){return place;

};

#endif

//Feed.h

#ifndefFeed_h

#defineFeed_h

#include〈iostream〉

#include<

string〉

//===========================================

usingnamespacestd;

classFeed

 private :

int interval;

              

       char food[50];

                  

    inttimes;

                    

 public:

ﻩ  Feed(){};

         

 Feed(inti,char*f,intt){interval=i;

strcpy(food,f);

times=t;

   ~Feed(){};

                   

   voidset_interval(inti){interval=i;

}      

 intget_interval(){returninterval;

}     

                   

ﻩ void set_food(char*f){strcpy(food,f);

}   

 char*get_food(){returnfood;

void set_times(intt){times=t;

 int get_times(){returntimes;

#endif

//Message.h

#ifndefMessage_h

#define Message_h

//=======================================

usingnamespacestd;

struct Message

int m_id;

 intm_interval;

intm_times;

charm_food[50];

 charm_reason[50];

charm_date[20];

charm_place[50];

};

#endif

#include<iostream>

#include"

Manage.h”

#include”Message。

h"

usingnamespacestd;

classTiger:

publicManage

  public:

 voidshow(){cout<〈”老虎的信息”;

} 

  };

#include<

iostream>

#include”Manage。

h”

#include"

Message.h”

usingnamespacestd;

classpanda:

publicManage

public:

  voidshow(){cout〈<

"

熊猫的信息"

;

 };

#include<iostream>

              

#include〈fstream〉         

#include<

string>

           

Animal。

h

#include"

Manage.h"

//#include"Save。

//================================================

usingnamespacestd;

//本机帮助

voidManage:

help()

ﻩint command;

cout〈〈”\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

<

〈endl;

cout〈<

\t\t\t·

您只需按提示输入动物的信息·

”<〈endl;

  cout〈〈"

\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~”〈〈endl<<

endl<

endl;

ﻩdo                

cout<

\t\t\t 1。

返回上一级2.退出系统”<

〈endl;

 

  a:

             

  cin〉>

command;

 switch(command)           

     case 1:

mainmenu();

break;

 

  case2:

return;

       

    default:

       

       cout〈〈"

您输入错误,请重新输入!

endl;

     gotoa;

            

  }           

 }while(command==1||command==2);

//查询动物 

voidManage:

:

search()

{ 

intid,i,m=0;

Messaget;

        

cout<

”******************************************************************************"

endl;

 cout〈<

请输入要查询的动物编号:

”<

cin〉〉id;

             

ifstreamanimal(”sum。

dat"

,ios_base:

in);

animal.read((char*)&m,sizeof(m));

     

ﻩanimal。

close();

                  

ﻩifstream ifile(”animal。

dat”,ios_base:

in);

ﻩfor(i=0;

i〈m;

i++)ﻩ

{

ﻩﻩifile.seekg(i*184);

   

ﻩ ifile。

read((char*)&

t,sizeof(t));

ﻩﻩ

if(t.m_id==id)         

ﻩﻩ{

   cout<

<"

\t\t\t\t动物编号:

”〈<

t.m_id<

〈"

\n”;

 cout<〈”\t\t\t\t喂食间隔时间:

”<〈t.m_interval〈<”\n”;

   cout<

\t\t\t\t食物名称:

〈t.m_food<

\n"

  cout〈〈”\t\t\t\t喂食次数:

〈t.m_times〈<

"\n”;

  cout〈〈”\t\t\t\t得病原因:

〈〈t。

m_reason〈〈”\n"

  cout〈〈”\t\t\t\t得病时间:

t。

m_date〈〈”\n";

 cout〈<

\t\t\t\t得病地点:

<t.m_place<

〈endl〈<

endl<<endl;

ﻩ}

ﻩelse

ﻩﻩ {

ﻩ cout<

文件中没有该信息!

"<

endl;

  }

ﻩcout<

〈”******************************************************************************"〈<

ﻩmainmenu();

       

//已存查询 

void Manage:

read() 

ifstreamifile(”animal。

dat"

ios_base:

in);

  

ﻩMessaget;

intm=0;

ﻩifstreamanimal(”sum.dat"

ios_base:

in);

animal.read((char *)&m,sizeof(m));

animal.close();

ﻩfor(inti=0;

i<

m;

i++)

ﻩ{

ﻩifile.read((char*)&

t,sizeof(t));

”******************************************************************************"

〈<

endl;

cout〈<

”\t\t\t\t动物编号:

t.m_id〈<

”\n"

”\t\t\t\t喂食间隔时间:

t。

m_interval<

   cout〈〈"

\t\t\t\t食物名称:

〈<t.m_food<

〈”\n"

”\t\t\t\t喂食次数:

"〈〈t.m_times<<”\n"

  cout<

\t\t\t\t得病原因:

m_reason<

cout<

”\t\t\t\t得病时间:

”〈〈t。

m_date<<

"\n";

 cout〈〈”\t\t\t\t得病地点:

m_place<

endl;

ﻩcout〈〈"

******************************************************************************"

〈〈endl;

ﻩmainmenu();

voidManage:

save(Message t)

ofstreamfout("

animal.dat"

ios_base:

app);

if(fout)      

fout.write((char*)&t,sizeoft);

ﻩﻩfout。

close();

ﻩcout<<

”添加成功”<

ﻩ}

else

 fout。

close();

 cout<

〈”文件未打开,修改失败"

〈endl;

ﻩ}

int m=0;

ﻩifstreamanimal_sum("

sum.dat"

,ios_base:

ﻩanimal_sum.read((char*)&

m,sizeof(m));

ﻩanimal_sum.close();

ﻩsum=m;

sum++;

ofstreamanimal_sum2("

sum。

dat"

,ios_base:

trunc);

ﻩanimal_sum2.write((char *)&

sum,sizeof(sum));

ﻩanimal_sum2。

close();

//登记动物 

voidManage:

enrol()

 MessageT;

 int i,t,j;

charcommand;

char food[50],reason[50];

 char date[20],place[50];

   

cout〈<

”******************************************************************************”<<

ﻩcout〈<

请输入喂食的间隔时间:

”〈〈endl;

cin>>i;

ﻩcout〈〈"请输入喂食的食物:

endl;

cin〉〉food;

”请输入喂食的次数:

”<<

endl;

ﻩcin>>

t;

ﻩcout〈<

”请输入生病原因:

〈〈endl;

cin>

>

reason;

请输入生病时间:

ﻩcin>

date;

请输入生病地点:

cin〉〉place;

cout<〈"

请输入动物的编号:

〈〈endl;

cin〉〉j;

 cout〈〈"

******************************************************************************"

<〈endl;

 ﻩ

 Animala(i,food,t,reason,date,place,j);

T.m_interval=a。

get_interval();

     

strcpy(T.m_food,a。

get_food());

       

strcpy(T。

m_date,a。

get_date());

    

strcpy(T.m_place,a。

get_place());

       

 strcpy(T.m_reason,a.get_reason());

 T.m_times=a.get_times();

        

******************************************************************************”<

〈endl;

 cout〈〈"

您输入的信息先打印如下:

 <

endl;

 cout<

\t\t\t\t动物编号:

〈T。

m_id<

〈”\n"

 cout<〈"

\t\t\t\t喂食间隔时间:

"<<

T.m_interval<

 cout<

”\t\t\t\t食物名称:

"〈〈T.m_food〈〈"\n”;

〈”\t\t\t\t喂食次数:

<T。

m_times<

\t\t\t\t得病原因:

m_reason<<

 cout〈<

\t\t\t\t得病时间:

〈T.m_date〈<

"\n"

 cout〈<

"\t\t\t\t得病地点:

<〈T。

m_place<<

endl<

endl〈〈endl;

  

 cout〈〈”******************************************************************************”<

 

  

 char c,d;

 intk;

 int I,TI,J;

charFood[50],Reason[50];

charDate[20],Place[50];

 cout<<

"是否确认信息正确(Y/N)”〈〈endl;

cin>

c;

 if(c==’N’) 

 {

 cout〈〈"

******************************************************************************"

〈〈endl;

   

cout〈〈”\t\t\t\t1.修改喂食的间隔时间:

"〈<

endl;

   cout〈<

”\t\t\t\t2。

修改喂食的食物:

endl;

 cout〈〈”\t\t\t\t3.修改喂食的次数:

  cout<

\t\t\t\t4。

修改生病原因:

 cout〈〈”\t\t\t\t5.修改生病时间:

  cout<

\t\t\t\t6。

修改生病地点:

”〈<endl;

 cout〈<

”\t\t\t\t7。

修改动物的编号:

〈”*************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1