📄 statistics.cpp
字号:
#include"Tree.h"
int totalnum(memberTree * root)
{
Stack S=InitStack();
memberTree *T;
T=root;
int max=T->data;
while(T||S.base!=S.top)
{
if(T)
{
if(T->data > max)
max=T->data;
Push(S,T);
T=T->child;
}
else
{
T=Pop(S);
T=T->brother;
}
}
return max;
}
void aveheight(Queue Q)
{
double ave,total=0;
Queue *p;
for(p=Q.front->next;p!=Q.rear->next;p=p->next)
{
total+=p->node->Height;
}
ave=total/Q.length;
cout<<"此家族的平均身高为: "<<ave<<endl;
}
void mwproportion(Queue Q)
{
int n=0,m=0;
Queue *p;
for(p=Q.front->next;p!=Q.rear->next;p=p->next)
{
if(!strcmp(p->node->Sex,"male"))n++;
else m++;
}
cout<<"此家族的男女比例为 "<<n<<"/"<<m<<" = "<<(n/m)<<endl;
}
void statistic(Queue Q)
{
d:
cout<<endl;
cout<<"1: 家族平均身高"<<endl;
cout<<"2: 家族男女比例"<<endl;
cout<<"0: 返回"<<endl;
int n;
cin>>n;
switch(n)
{
case 1: aveheight(Q);break;
case 2: mwproportion(Q);break;
case 0: cout<<"您选择的返回上一层"<<endl;break;
default: cout<<"输入错误!"<<endl;
goto d;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -