当前位置:文档之家› 动物园管理系统

动物园管理系统

// test1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
using namespace std;
struct dongwu
{
int bianhao;
char zhonglei[10];
char chandi[20];
int nianling;
int tizhong;
dongwu *p;
};
inline void chaxun(dongwu*,char[]);//用于查询动物名称并输出
inline void shuchu_1(dongwu*);//用于输出全部动物信息
inline void shuchu_2(dongwu*);//用于输出一个动物的所有信息
inline void shuru(dongwu*);//用于输入一个动物的所有信息
int main()
{
char a;
int n,x=0;
char m[10];
dongwu *q=new dongwu;
dongwu*head=q;//用head指针记录第一个结点
/****************************************************
m为动物种类
a用来判断是否录入初始信息
n为管理员想要做的操作的数字代表
x为是否继续录入动物信息的记录符
****************************************************/
cout<<"***************************************************************"<cout<<" 欢迎进入动物管理系统"<cout<<"***************************************************************"<cout<cout<<"是否录入初始信息:是/否(Y/N)";
cin>>a;
while(a!='y'&&a!='Y'&&a!='n'&&a!='N')
{
cout<<"输入错误!请再次输入是否录入初始信息:是/否(Y/N)";
cin>>a;
}
if(a=='y'||a=='Y')
{
while(x==0)//录入动物的初始信息
{
shuru(q);//调用shuru函数输入一个动物的信息
cout<<"是否继续录入动物信息?是/否(0/1)";
cin>>x;
if(x==1)
q->p=NULL;
if(x==0)
{
q->p=new dongwu;
q=q->p;
}
}
}
cout<biaoji:
cout<<"请输入要进行的操作:"<cout<<"添加(1) 查询(2) 删除(3) 修改(4) 全部浏览(5) 退出(0) 请输入:";
cin>>n;
while(n!=0&&n!=1&&n!=2&&n!=3&&n!=4&&n!=5)
{
cout<<"输入错误!请再次输入:";
cin>>n;
}
if(n==0)//退出
{
cout<<"***************************************************************"<cout<<" 谢谢使用!"<cout<<"***************************************************************"<return 0;
}
if(n==1)//添加
{
dongwu*temp=new dongwu;
temp->p=head;
head=temp;
shuru(temp);
goto biaoji;
}
if(n==2)//查询
{
cout<<"请输入要查询动物的种类:";
cin>>m;
chaxun(head,m);
goto biaoji;
}
if(n==3)//删除
{
int h;
dongwu*a=head->p;
dongwu*b=head;
dongwu*temp=head;
cout<<"请输入要删除动物的编号:";
cin>>h;
if(head->bianhao==h)
{
head=head->p;
delete b;
}
else
{
while(a->bianhao!=h&&a!=NULL)
{
a=a->p;
temp=temp->p;
}
if(a!=NULL)
{
temp->p=a->p;
delete a;
}
if(a==NULL)
cout<<"没有这个动物的信息!";
}
goto biaoji;
}
if(n==4)//修改
{
int h,y;
cout<<"请输入要修改动物编号:";

cin>>h;
dongwu*a=head;
while(a->bianhao!=h&&a!=NULL)
{
a=a->p;
}
if(a==NULL)
{
cout<<"输入错误,没有此编号的动物!";
}
else
{
cout<<"请输入要修改的项:种类(0) 产地(1) 年龄(2) 体重(3)";
cin>>y;
if(y==0)
{
cout<<"请输入动物种类:";
cin>>a->zhonglei;
}
if(y==1)
{
cout<<"请输入动物产地:";
cin>>a->chandi;
}
if(y==2)
{
cout<<"请输入动物年龄:";
cin>>a->nianling;
}
if(y==3)
{
cout<<"请输入动物体重:";
cin>>a->tizhong;
}
}
goto biaoji;
}
if(n==5)//全部浏览
{
shuchu_1(head);//调用shuchu_1函数输出所有动物的全部信息
goto biaoji;
}
}
void chaxun(dongwu*x,char m[10])
{
int i,r=0,j=0,k=0;
while(x!=NULL)
{
for(i=0;i<=9;i++)//计算字符串m的长度
{
if(m[i]>='a'&&m[i]<='z')
r++;
}
for(i=0;i<=9;i++)//计算两字符串相同字符个数
{
if(x->zhonglei[i]==m[i])
k++;
}
if(k==r+1)
{
shuchu_2(x);
j++;
cout<}
x=x->p;
k=0;
r=0;
}
if(j==0)
cout<<"没有此类动物的信息!"<}
void shuchu_1(dongwu*x)
{
while(x!=NULL)
{
shuchu_2(x);
x=x->p;
}
}
void shuchu_2(dongwu*z)
{
cout<cout<<"动物编号:"<bianhao<cout<<"动物种类:"<zhonglei<cout<<"动物产地:"<chandi<cout<<"动物年龄:"<nianling<cout<<"动物体重:"<tizhong<}
void shuru(dongwu*z)
{
cout<<"请输入动物编号:";
cin>>z->bianhao;
cout<<"请输入动物种类:";
cin>>z->zhonglei;
cout<<"请输入动物产地:";
cin>>z->chandi;
cout<<"请输入动物年龄:";
cin>>z->nianling;
cout<<"请输入动物体重:";
cin>>z->tizhong;
cout<}

相关主题
文本预览
相关文档 最新文档