猿创征文|【C++实战小项目】通讯录(一) 纯数组实现基本通讯录模拟详解

在这里插入图片描述


iecne


🧛‍♂️iecne个人主页:iecne的学习日志
💡每天关注iecne的作品,一起进步
💪学C++必看iecne
本文专栏【实战小项目】
🐳希望大家多多支持🥰一起进步呀!
iecne


✨前言

共同学习,加入粉丝群,加V:YAN_Pisces_Boom
哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【C++实战小项目】实现基本通讯录模拟详解分析。包教包会,快来看看吧!

任务描述

如何根据据C++基础入门编写一款不可视化通讯录,我们这次就来讲讲并且写一写

在这里插入图片描述



一.分析通讯录

首先制作一款通讯录我们可以将它分为以下部分

增加联系人
删除联系人
查找联系人
修改联系人
打印通讯录
排序通讯录

这一期我们就来实现准备这一块


二.准备(include.h)

这一块我们分为全局变量头文件定义函数命名空间

1.头文件

这一篇我们的头文件十分简单

#include <iostream>
#include <cmath>

实际上iostream一个即可


2.全局变量

我们全局变量可以免了大部分函数传参,因为我们为了考虑新手,纯数组,函数传参过于难度
所以全局变量十分的多

#define __TIME__
long long int phone_int = 0;
string name;
string boyorgirl;
string stringaaaa;
char phone_char[12];
long long int phone[12] = { 0 };
string home;
int age = 0;
int z = 1;
long long int phonez[1000];
string homez[1000];
int agez[1000];
string namez[1000];
string bgz[1000];
long long int nameaz[100000];

3.命名空间

①using

首先std

using namespace std;

接下来是我们自己的命名
这里大家不用模仿,就是闲的

using namespace input_1;
using namespace output_1;

②namespace

接下来我们看下namespace
就是想用input和output不用cin和cout,再将namespace的名字省略就达到了这种要求

//输出
namespace output_1
{
	void output(int aaaa)
	{
		cout << aaaa;
	}
}

输入如下

//输入
namespace input_1
{
	int input(int aaaa)
	{
		cin >> aaaa;
		return aaaa;
	}
	void input_string(string aaaa)
	{
		string aaaaa;
		cin >> aaaaa;
		aaaa = aaaaa;
		stringaaaa = aaaa;
	}
}

4.函数定义

//开始页面
void playfirst();
//输出string
void out06(string);
//选项1~6
void string1_();
void string2_();
void string3_();
void string4_();
void string5_();
void string6_();
//电话号码错误
void phone_whether();
//大幅度转换
void phone_kill();
//查询种类
void cha1_();
void cha2_();
void cha3_();
void cha4_();
//删除后全部向前挪
void over(int);
//排序
void SortCon();
void SORT();
void InsertSort();

5.include.h

以下就是include.h文件的所有内容

#include <iostream>
#include <cmath>

using namespace std;

#define __TIME__
long long int phone_int = 0;
string name;
string boyorgirl;
string stringaaaa;
char phone_char[12];
long long int phone[12] = { 0 };
string home;
int age = 0;
int z = 1;
long long int phonez[1000];
string homez[1000];
int agez[1000];
string namez[1000];
string bgz[1000];
long long int nameaz[100000];

//输出
namespace output_1
{
	void output(int aaaa)
	{
		cout << aaaa;
	}
}

//输入
namespace input_1
{
	int input(int aaaa)
	{
		cin >> aaaa;
		return aaaa;
	}
	void input_string(string aaaa)
	{
		string aaaaa;
		cin >> aaaaa;
		aaaa = aaaaa;
		stringaaaa = aaaa;
	}
}

//开始页面
void playfirst();
//输出string
void out06(string);
//选项1~6
void string1_();
void string2_();
void string3_();
void string4_();
void string5_();
void string6_();
//电话号码错误
void phone_whether();
//大幅度转换
void phone_kill();
//查询种类
void cha1_();
void cha2_();
void cha3_();
void cha4_();
//删除后全部向前挪
void over(int);
//排序
void SortCon();
void SORT();
void InsertSort();

三.playfirst函数(开始页面)

1.main主函数

首先main主函数,很简单直接到playfirst

int main(void)
{
	playfirst();
}

2.打印开始页面

然后我们将要输出的放入string

	string string0 = "=====================================\n";
	string string1 = "============1.增加联系人=============\n";
	string string2 = "============2.删除联系人=============\n";
	string string3 = "============3.查找联系人=============\n";
	string string4 = "============4.修改联系人=============\n";
	string string6 = "============5.打印通讯录=============\n";
	string string5 = "============6.排序通讯录=============\n";

接着我们再用一个函数输出

void out06(string aaaa)
{
	cout << aaaa;
}

其实就相当于cout,但是闲的
大家可以理解为cout<<

	out06(string0);
	out06(string1);
	out06(string2);
	out06(string3);
	out06(string4);
	out06(string6);
	out06(string5);
	out06(string0);

效果


3.输入分支

接下来定义一个变量作为输入

	int string7 = 0;
	string7 = input(string7);
	switch (string7)
	{
	case 1:
		string1_();
	case 2:
		string2_();
	case 3:
		string3_();
	case 4:
		string4_();
	case 5:
		string6_();
	case 6:
		string5_();
	default:
		cout << "输入错误\n";
		break;
	}
	playfirst();

这里我们的思想是这样的
若我们是成功case了,那么就传到了另一个函数,递归就从头开始,只有default,他输入错误之后离开switch来到playfirst,完成递归


总结

今天我们实现了通讯录的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下,包教包会。若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
原创不易,还希望各位大佬支持一下
点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
评论,你的意见是我进步的财富!
iecne


感谢每一个观看本篇文章的朋友,更多精彩敬请期待~( ̄▽ ̄~)~:
iecne的博客
若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

iecne

  • 37
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 96
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 96
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值