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

📄 main.cpp

📁 是家谱管理系统
💻 CPP
字号:
#include<iostream>
#include<conio.h>//getch()

#include"Family.h"

using namespace std;

int memberNum;//全局变量,显示家谱中的成员个数
int isInt(char s[])//判断字符数组s是否可以转化为一个非负整数,如果可以则返回这个整数,不是则返回-1
{
	int num=0;
	int length=strlen(s);
	for(int i=0;i<length;i++)
		if(s[i]<='9'&&s[i]>='0')
		{
			num=s[i]-'0'+num*10;
		}
		else return -1;
	return num;
}
int main()
{
	vector<Person>v;
	Family fa;
	
	while(1)
	{
		bool flag=true;
		fa.menu1();
		char choice;
		while(flag)
		{
			fa.menu1();
			choice=getch();
			cout<<choice<<endl;
			switch(choice)
			{
			case '1':fa.buildFamily(v);flag=false;break;
			case '2': if(fa.readFamily(v)) flag=false;//如果文件读入成功则跳出
					else {cout<<"按任意键继续"<<endl;getch();}//否则继续
					break;
			case '3':if(fa.writeFamily(v)) exit(1);//如果写入文件成功则跳出
					else {cout<<"按任意键继续"<<endl;getch();}//否则继续
					break;
			case '0':exit(1);
			default:cout<<"输入错误!!!按任意键继续"<<endl;getch();break;
			}
		}
		int t=1;//控制返回上一层
		while(t!=9)
		{	
			flag=true;
			fa.menu2();
			while(flag)
			{
				fa.menu2();
				choice=getch();
				cout<<choice<<endl;
				switch(choice)
				{
				case '1':fa.outputgeneration(v);flag=false;break;//显示第n 代所有人的信息
				case '2':fa.outputbyName(v);flag=false;break;//按照姓名查询,输出成员信息
				case '3':fa.outputbyBirth(v);flag=false;break;//按照出生日期查询成员名单
				case '4':fa.relationship(v);flag=false;break;//输入两人姓名,确定其关系
				case '5':fa.addchild(v);flag=false;break;//某成员添加孩子
				case '6':fa.deletemember(v);flag=false;break;//删除某成员(若其还有后代,则一并删除)
				case '7':fa.updatemember(v);flag=false;break;//修改某成员信息
				case '8':fa.birthsort(v);flag=false;break;//按出生日期对家谱中所有人排序
				case '9':t=9;flag=false;break;//返回上层
				case '0':fa.writeFamily(v);exit(1);//退出并保存
				default:cout<<"输入错误!!!按任意键继续"<<endl;getch();break;
				}
			}	
			cout<<"按任意键继续"<<endl;getch();
		}
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -