C++联系人管理系统2.0(用类实现)

一、实现要求

在这里插入图片描述

实现要求:

(1)从键盘输入N个联系人的信息,保存到自定义命名的文件中。
(2)设计表示联系人信息的类Linkman,其中包括但不限于联系人的编号、姓名、电话、年龄、地址等数据成员(访问权限均为私有),以及若干成员函数。
(3)从文件(自定义命名)中读取所有学生的信息并显示到屏幕上,对文件的读写分别以ifstream和ofstream实现。
(4)分别定义方法实现按编号和姓名查找联系人的信息。
(5)定义方法分别实现追加和插入联系人的信息,然后保存到原来的文件中。
(6)定义方法实现按编号修改和按姓名修改联系人的信息,然后保存到原来的文件中。
(7)定义方法实现按编号修改和按姓名删除联系人的信息,然后保存到原来的文件中。
(8)定义方法实现按编号和年龄分别进行升序和降序排列联系人信息。
(9)定义方法实现联系人信息的统计。
(10)对以上所有对联系人进行的输入、输出、保存、读取、添加、删除、修改、查询、排序等有关的操作,要有清晰的提示信息,并形成相应的菜单,设计类Menu将其进行封装。
(11)以上实现,原则上均要求采用面向对象编程的思想实现。

二、更新日志

1.增加联系人年龄、地址
2.增加按年龄升序和降序排列联系人信息
3.重新定义联系人输出方式(运用stew()、setiosflags(ios::left))

拓展:
setw(n) 宽域操作符的用法
setw(n) 宽域操作符的作用为设置字段宽度为n位,n是在输出时分配了n个字符的输出宽度,默认在n个字符宽度中右对齐输出
(可以使用setiosflags(ios::left)设置为左对齐输出)

在这里插入图片描述

注意:
1.setw(n)宽域操作符只对直接跟在<<后的输出数据起作用(而在之后的<<需要在之前再一次使用setw)
2.setw(n)宽域操作符需要搭配头文件#include"iomanip"使用;

三、运行截图

在这里插入图片描述

四、实现步骤

1.Linkman头文件部分

代码如下:

#include<iostream>
#include<string>
#include<fstream>
#include <iomanip>
using namespace std;

#define MAX 1000
#define SIZE 1000
static int scount = 0;

class Linkman
{
	char bianhao[20];   //编号
	char name[20];      //姓名
	char number[20];    //电话
	char age[20];       //年龄
	char agress[100];   //地址
public:

	Linkman() {};

	void begain(char bh[20], char na[20],char ag[20],char nu[20],  char agr[100])
	{
		strcpy_s(bianhao, bh);
		strcpy_s(name, na);
		strcpy_s(age, ag);
		strcpy_s(number, nu);
		strcpy_s(agress, agr);
	};
	//初始化

	void setbianhao(char bh[20])
	{
		strcpy_s(bianhao, bh);
	}
	void setname(char na[20])
	{
		strcpy_s(name, na);
	}
	void setnumber(char nu[20])
	{
		strcpy_s(number, nu);
	}
	void setage(char ag[20])
	{
		strcpy_s(age, ag);
	}
	void setagress(char agr[100])
	{
		strcpy_s(agress, agr);
	}
	char* getbianhao()
	{
		return bianhao;
	};
	char* getname()
	{
		return name;
	};
	char* getnumber()
	{
		return number;
	};
	char* getage()
	{
		return age;
	};
	char* getagress()
	{
		return agress;
	};
};

class person
{
	Linkman linkman[MAX];

public:
	void input();        //输入
	void output();       //显示
	void read();         //读取
	void save();         //保存
	void insert();       //插入
	void append();       //追加
	void search1();      //查询(编号)
	void search2();      //查询(姓名)
	void change1();      //修改(编号)
	void change2();      //修改(姓名)
	void Delete1();      //删除(编号)
	void Delete2();      //删除(姓名)
	void sort1();        //排序(编号升序)
	void sort2();        //排序(编号降序)
	void sort3();        //排序(年龄升序)
	void sort4();        //排序(年龄降序)
	void count();        //统计
};

//添加
void person::input()
{
	char name[20], number[20], bianhao[20], age[20], agress[100];
	int x;
	cout << "请输入添加人数:";
	cin >> x;

	for (int i = 0; i < x; i++)
	{
		system("cls");//清屏
		cout << " --------------------------------------------" << endl;
		cout << "|              【联系人信息录入】            |" << endl;
		cout << " -------------------------------------------- " << endl;
		cout << "请输入第" << i + 1 << "位联系人信息:" << endl;
		cout << "编号:";    cin >> bianhao;
		cout << "姓名:";    cin >> name;
		cout << "年龄:";    cin >> age;
		cout << "号码:";    cin >> number;
		cout << "地址:";    cin >> agress;

		linkman[scount].begain(bianhao, name, age, number,  agress);
		scount++;
	}
	cout << "\n输入完成!" << endl;
	cout << "自动保存成功!" << endl;
}

//显示
void person::output()
{
	cout << "\n所有联系人信息如下:" << endl;
	cout << " ---------------------------------------------------------------------------------------------- " << endl;
	cout << setw(11) << setiosflags(ios::left) << "|编号" << setw(11) << setiosflags(ios::left) << "|姓名" << setw(11) << setiosflags(ios::left) << "|年龄" << setw(21) << setiosflags(ios::left) << "|电话" << setw(41) << setiosflags(ios::left) << "|地址" << "|" << endl;
	for (int i = 0; i < scount; i++)
	{
		cout << "|----------------------------------------------------------------------------------------------|" << endl;
		cout << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getbianhao() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getname() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getage() << "|" << setw(20) << setiosflags(ios::left) << linkman[i].getnumber() << "|" << setw(40) << setiosflags(ios::left) << linkman[i].getagress() << "|" << endl;
	}
	cout << " ---------------------------------------------------------------------------------------------- " << endl;
	//setiosflags(ios::left) 居左对其(配合头文件#include <iomanip>使用)
	//setw(10) 如果输出内容不足10,自动补齐空格(制表用,配合头文件#include <iomanip>使用)
}

//读入
void person::read()
{
	ifstream ifile;
	ifile.open("Broccoli.txt", ios::in | ios::binary);

	scount = 0;
	for (int i = 0; !ifile.eof(); i++)
	{
		ifile >> linkman[i].getbianhao();
		ifile >> linkman[i].getname();
		ifile >> linkman[i].getage();
		ifile >> linkman[i].getnumber();
		ifile >> linkman[i].getagress();
		scount++;
	}
	scount--;
	ifile.close();
}

//保存
void person::save()
{
	ofstream ofile;
	ofile.open("Broccoli.txt", ios::out | ios::binary);

	for (int i = 0; i < scount; i++)
	{
		ofile << linkman[i].getbianhao() << endl;
		ofile << linkman[i].getname() << endl;
		ofile << linkman[i].getage() << endl;
		ofile << linkman[i].getnumber() << endl;
		ofile << linkman[i].getagress() << endl;
	}
	ofile.close();
}

//插入
void person::insert()
{
	int h;
	char name[20], number[20], bianhao[20], age[20], agress[100];

	cout << "请输入插入位置:";
	cin >> h;
	cout << "编号:";    cin >> bianhao;
	cout << "姓名:";    cin >> name;
	cout << "年龄:";    cin >> number;
	cout << "号码:";    cin >> age;
	cout << "地址:";    cin >> agress;

	scount++;

	Linkman var;

	//关键排序
	for (int i = scount - 1; i > h - 1; i--)
	{
		linkman[i] = linkman[i - 1];
	}

	linkman[h - 1].begain(bianhao, name, number, age, agress);
	cout << "\n插入成功!" << endl;
	cout << "自动保存成功!" << endl;
	output();
}

//追加
void person::append()
{
	int x;
	cout << "请输入你要追加的人数:";
	cin >> x;

	char name[20], number[20], bianhao[20], age[20], agress[100];
	for (int i = 0; i < x; i++)
	{
		system("cls");//清屏
		cout << " --------------------------------------------" << endl;
		cout << "|            【联系人信息追加录入】          |" << endl;
		cout << " -------------------------------------------- " << endl;
		cout << "请输入第" << i + 1 << "位联系人信息:" << endl;
		cout << "编号:";    cin >> bianhao;
		cout << "姓名:";    cin >> name;
		cout << "年龄:";    cin >> age;
		cout << "号码:";    cin >> number;
		cout << "地址:";    cin >> agress;

		linkman[scount].begain(bianhao, name, number, age, agress);
		scount++;
	}
	cout << "\n追加输入完成!" << endl;
	cout << "自动保存成功!" << endl;
	output();
}

//查询(按编号)
void person::search1()
{
	char bianhao1[20];
	char bianhao2[20];
	int q = 0;

	cout << "请输入要查询人编号:";
	cin >> bianhao1;

	for (int i = 0; i < scount; i++)
	{
		strcpy_s(bianhao2, linkman[i].getbianhao());
		if (strcmp(bianhao1, bianhao2) == 0)
		{
			q++;
			cout << "\n查询信息如下:" << endl;

			cout << " ---------------------------------------------------------------------------------------------- " << endl;
			cout << setw(11) << setiosflags(ios::left) << "|编号" << setw(11) << setiosflags(ios::left) << "|姓名" << setw(11) << setiosflags(ios::left) << "|年龄" << setw(21) << setiosflags(ios::left) << "|电话" << setw(41) << setiosflags(ios::left) << "|地址" << "|" << endl;
			cout << "|----------------------------------------------------------------------------------------------|" << endl;
			cout << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getbianhao() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getname() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getage() << "|" << setw(20) << setiosflags(ios::left) << linkman[i].getnumber() << "|" << setw(40) << setiosflags(ios::left) << linkman[i].getagress() << "|" << endl;
			cout << " ---------------------------------------------------------------------------------------------- " << endl;
		}
	}
	if (q == 0)
	{
		cout << "未查询到相关信息!" << endl;
	}
}

//查询(按姓名)
void person::search2()
{
	char name1[20];
	char name2[20];
	int q = 0;

	cout << "请输入要查询人姓名:";
	cin >> name1;

	for (int i = 0; i < scount; i++)
	{
		strcpy_s(name2, linkman[i].getname());
		if (strcmp(name1, name2) == 0)
		{
			q++;
			cout << "\n查询信息如下:" << endl;
			cout << " ---------------------------------------------------------------------------------------------- " << endl;
			cout << setw(11) << setiosflags(ios::left) << "|编号" << setw(11) << setiosflags(ios::left) << "|姓名" << setw(11) << setiosflags(ios::left) << "|年龄" << setw(21) << setiosflags(ios::left) << "|电话" << setw(41) << setiosflags(ios::left) << "|地址" << "|" << endl;
			cout << "|----------------------------------------------------------------------------------------------|" << endl;
			cout << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getbianhao() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getname() << "|" << setw(10) << setiosflags(ios::left) << linkman[i].getage() << "|" << setw(20) << setiosflags(ios::left) << linkman[i].getnumber() << "|" << setw(40) << setiosflags(ios::left) << linkman[i].getagress() << "|" << endl;
			cout << " ---------------------------------------------------------------------------------------------- " << endl;
		}
	}
	if (q == 0)
	{
		cout << "未查询到相关信息!" << endl;
	}
}

//修改(按编号)
void person::change1()
{
	char bianhao[20];
	int x = 0;
	char number[20], name[20], age[20], agress[100];
	int q = 0;

	cout << "请输入要修改人编号:";
	cin >> bianhao;
	for (int i = 0; i < scount; i++)
	{
		if (strcmp(bianhao, linkman[i].getbianhao()) == 0)
		{
			x = i;
			q++;
		}
	}
	if (q == 0)
	{
		cout << "联系人不存在!" << endl;
	}
	cout << "请输入姓名:";
	cin >> name;
	linkman[x].setname(name);
	cout << "请输入年龄:";
	cin >> age;
	linkman[x].setage(age);
	cout << "请输入电话:";
	cin >> number;
	linkman[x].setnumber(number);
	cout << "请输入地址:";
	cin >> agress;
	linkman[x].setagress(agress);


	cout << "修改成功!" << endl;
	output();
}

//修改(按姓名)
void person::change2()
{
	char name[20];
	int x = 0;
	char number[20], bianhao[20], age[20], agress[100];
	int q = 0;

	cout << "请输入要修改人姓名:";
	cin >> name;
	for (int i = 0; i < scount; i++)
	{
		if (strcmp(name, linkman[i].getname()) == 0)
		{
			x = i;
			q++;
		}
	}
	if (q == 0)
	{
		cout << "联系人不存在!" << endl;
	}
	cout << "请输入编号:";
	cin >> bianhao;
	linkman[x].setbianhao(bianhao);
	cout << "请输入年龄:";
	cin >> age;
	linkman[x].setage(age);
	cout << "请输入电话:";
	cin >> number;
	linkman[x].setnumber(number);
	cout << "请输入地址:";
	cin >> agress;
	linkman[x].setagress(agress);

	cout << "修改成功!" << endl;
	output();
}

//编号删除
void person::Delete1()
{
	char bianhao[20];
	char deletebianhao[20];
	cout << "请输入要删除编号:";
	cin >> deletebianhao;
	int x = 0;
	for (int i = 0; i < scount; i++)
	{
		strcpy_s(bianhao, linkman[i].getbianhao());
		if (strcmp(bianhao, deletebianhao) == 0)
		{
			x++;
			for (int m = i; m < scount; m++)
			{
				linkman[m] = linkman[m + 1];//覆盖
			}
		}
	}
	if (x == 0)
	{
		cout << "未查询到相关信息,删除失败!" << endl;
	}
	else
	{
		scount--;
		cout << "删除成功!\n";
		output();
	}
}

//姓名删除
void person::Delete2()
{
	char name[20];
	char deletename[20];
	cout << "请输入要删除姓名:";
	cin >> deletename;
	int x = 0;
	for (int i = 0; i < scount; i++)
	{
		strcpy_s(name, linkman[i].getname());
		if (strcmp(name, deletename) == 0)
		{
			x++;
			for (int m = i; m < scount; m++)
			{
				linkman[m] = linkman[m + 1];//覆盖
			}
		}
	}
	if (x == 0)
	{
		cout << "未查询到相关信息,删除失败!" << endl;
	}
	else
	{
		scount--;
		cout << "删除成功!\n";
		output();
	}
}

//排序(编号升序)
void person::sort1()
{
	Linkman var;
	for (int i = 0; i < scount; i++)
	{
		for (int j = i + 1; j < scount; j++)
		{
			if (strcmp(linkman[j].getbianhao(), linkman[i].getbianhao()) < 0) //linkman[j]<linkman[i]
			{
				var = linkman[i];
				linkman[i] = linkman[j];
				linkman[j] = var;
			}
		}
	}
	cout << "升序排列操作完成!" << endl;
	output();
}

//排序(编号降序)
void person::sort2()
{
	Linkman var;
	for (int i = 0; i < scount; i++)
	{
		for (int j = i + 1; j < scount; j++)
		{
			if (strcmp(linkman[j].getbianhao(), linkman[i].getbianhao()) > 0)  //linkman[j]>linkman[i]
			{
				var = linkman[i];
				linkman[i] = linkman[j];
				linkman[j] = var;
			}
		}
	}
	cout << "降序排列操作完成!" << endl;
	output();
}

//排序(年龄升序)
void person::sort3()
{
	Linkman var;
	for (int i = 0; i < scount; i++)
	{
		for (int j = i + 1; j < scount; j++)
		{
			if (strcmp(linkman[j].getage(), linkman[i].getage()) < 0) //linkman[j]<linkman[i]
			{
				var = linkman[i];
				linkman[i] = linkman[j];
				linkman[j] = var;
			}
		}
	}
	cout << "升序排列操作完成!" << endl;
	output();
}

//排序(编号降序)
void person::sort4()
{
	Linkman var;
	for (int i = 0; i < scount; i++)
	{
		for (int j = i + 1; j < scount; j++)
		{
			if (strcmp(linkman[j].getage(), linkman[i].getage()) > 0)  //linkman[j]>linkman[i]
			{
				var = linkman[i];
				linkman[i] = linkman[j];
				linkman[j] = var;
			}
		}
	}
	cout << "降序排列操作完成!" << endl;
	output();
}

//统计
void person::count()
{
	cout << "当前联系人数量:" << scount << endl;
	output();
}

2.Menu头文件部分

代码如下:

#include "iostream"
#include "string"
#include "stdlib.h"
using namespace std;

person p;

class Menu
{
public:
	void mainMenu();
	void selsectMenu();
	void inputMenu();
	void deleteMenu();
	void updateMenu();
	void insertMenu();
	void sortMenu();
	void countMenu();
	void outputMenu();
	void helpMenu();
	void exitMenu();
};

//主菜单
void Menu::mainMenu()
{
	system("cls");//清屏
	int choice;
	while (true)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【通讯录管理系统】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|   1.查询联系人信息      6.排序联系人信息   |" << endl;
		cout << "|   2.录入联系人信息      7.统计联系人信息   |" << endl;
		cout << "|   3.删除联系人信息      8.显示联系人信息   |" << endl;
		cout << "|   4.修改联系人信息      9.系统帮助         |" << endl;
		cout << "|   5.插入联系人信息      0.退出系统         |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(0-9):";
		cin >> choice;
		if (choice > 9)
		{
			cout << "输入格式错误,请重新输入你的选择(0-9):";
			cin >> choice;
		}
		switch (choice)
		{
		case 1:selsectMenu(); break;//查询
		case 2:inputMenu();   break;//录入
		case 3:deleteMenu();  break;//删除
		case 4:updateMenu();  break;//修改
		case 5:insertMenu();  break;//插入
		case 6:sortMenu();    break;//排序
		case 7:countMenu();   break;//统计
		case 8:outputMenu();  break;//显示
		case 9:helpMenu();    break;//系统帮助
		case 0:exitMenu();    break;//退出
		}
	}
}

//查询
void Menu::selsectMenu()
{
	system("cls");
	p.read();//读取调用

	int choice;
	while (true)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【查询联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|     1.查询全部           3.按姓名查询      |" << endl;
		cout << "|     2.按编号查询         4.返回主菜单      |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-4):";
		cin >> choice;
		if (choice > 4)
		{
			cout << "输入格式错误,请重新输入你的选择(1-4):";
			cin >> choice;
		}
		switch (choice)
		{
		case 1:
			p.output();//输出调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:
			p.search1();//编号查询调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3:
			p.search2();//姓名查询调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 4: mainMenu(); break;
		}
	}
}

//输入(录入)
void Menu::inputMenu()
{
	p.input();//输入调用
	p.save();//保存调用

	system("pause");
	system("cls");//清空屏幕
}

//删除
void Menu::deleteMenu()
{
	system("cls");//清空屏幕
	int choice;
	while (1)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【删除联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|                 1.按编号删除               |" << endl;
		cout << "|                 2.按姓名删除               |" << endl;
		cout << "|                 3.返回主菜单               |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-3):";
		cin >> choice;
		if (choice > 3)
		{
			cout << "输入格式错误,请重新输入你的选择(1-3):";
			cin >> choice;
		}

		switch (choice)
		{
		case 1:
			p.Delete1();//编号删除调用
			p.save();//保存调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:
			p.Delete2();//姓名删除调用
			p.save();//保存调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3: mainMenu(); break;
		}
	}
}

//修改
void Menu::updateMenu()
{
	system("cls");//清空屏幕
	int choice;
	while (1)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【修改联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|                 1.按编号修改               |" << endl;
		cout << "|                 2.按姓名修改               |" << endl;
		cout << "|                 3.返回主菜单               |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-3):";
		cin >> choice;
		if (choice > 3)
		{
			cout << "输入格式错误,请重新输入你的选择(1-3):";
			cin >> choice;
		}

		switch (choice)
		{
		case 1:
			p.change1();//编号修改调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:
			p.change2();//姓名修改调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3: mainMenu(); break;
		}
	}
}

//插入
void Menu::insertMenu()
{
	system("cls");//清空屏幕
	int choice;
	while (1)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【插入联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|                 1.插入联系人               |" << endl;
		cout << "|                 2.追加联系人               |" << endl;
		cout << "|                 3.返回主菜单               |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-3):";
		cin >> choice;
		if (choice > 3)
		{
			cout << "输入格式错误,请重新输入你的选择(1-3):";
			cin >> choice;
		}

		switch (choice)
		{
		case 1:

			p.insert();//插入调用
			p.save();//保存调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:

			p.append();//追加调用
			p.save();//保存调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3: mainMenu(); break;
		}
	}
}

//排序
void Menu::sortMenu()
{
	system("cls");//清空屏幕
	int choice;
	while (1)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【排序联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|                 1.按编号升序               |" << endl;
		cout << "|                 2.按编号降序               |" << endl;
		cout << "|                 3.按年龄升序               |" << endl;
		cout << "|                 4.按年龄降序               |" << endl;
		cout << "|                 5.返回主菜单               |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-5):";
		cin >> choice;
		if (choice > 5)
		{
			cout << "输入格式错误,请重新输入你的选择(1-5):";
			cin >> choice;
		}

		switch (choice)
		{
		case 1:
			p.sort1();//编号升序调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:
			p.sort2();//编号降序调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3:
			p.sort3();//编号升序调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 4:
			p.sort4();//编号降序调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 5:mainMenu(); break;
		}
	}
}

//统计
void Menu::countMenu()
{
	p.count();//统计调用

	system("pause");
	system("cls");//清空屏幕
}

//输出
void Menu::outputMenu()
{
	system("cls");//清空屏幕
	int choice;
	while (1)
	{
		cout << " --------------------------------------------" << endl;
		cout << "|              【输出联系人信息】            |" << endl;
		cout << "|--------------------------------------------|" << endl;
		cout << "|               1.读取初始文件数据           |" << endl;
		cout << "|               2.输出联系人                 |" << endl;
		cout << "|               3.返回主菜单                 |" << endl;
		cout << " --------------------------------------------" << endl;
		cout << "请输入你的选择(1-3):";
		cin >> choice;
		if (choice > 3)
		{
			cout << "输入格式错误,请重新输入你的选择(1-3):";
			cin >> choice;
		}

		switch (choice)
		{
		case 1:
			p.read();//读取调用
			p.output();//输出调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 2:
			p.output();//输出调用

			system("pause");
			system("cls");//清空屏幕
			break;
		case 3:mainMenu(); break;
		}
	}
}

//系统帮助
void Menu::helpMenu()
{
	system("cls");//清空屏幕
	cout << " --------------------------------------------" << endl;
	cout << "|          【通讯录管理系统使用说明】        |" << endl;
	cout << "|--------------------------------------------|" << endl;
	cout << "|                                            |" << endl;
	cout << "|     鉴于制作人员水平有限。请严格按照系统提 |" << endl;
	cout << "| 示进行操作,以免引起程序奔溃!             |" << endl;
	cout << "|                                            |" << endl;
	cout << " --------------------------------------------" << endl;

	system("pause");
	system("cls");//清空屏幕
}

//退出
void Menu::exitMenu()
{
	exit(0);
}

3.主函数部分

代码如下:

#include "iostream"
#include "string"
#include "stdlib.h"
#include "Linkman.h"
#include "Menu.h"
using namespace std;

int main()
{
	Menu menu;
	menu.mainMenu();
	system("pause");
	return 0;
}

代码小白,仅作学习记录📝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值