⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statistics.cpp

📁 实现了对家谱管理系统的添加
💻 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 + -