深圳幻海软件技术有限公司 欢迎您!

【C++实战小项目】通讯录(三)数组模拟实现通讯录三大功能

2023-03-30

🧛‍♂️iecne个人主页::iecne的学习日志💡每天关注iecne的作品,一起进步💪学C++必看iecne本文专栏:【实战小项目】🐳希望大家多多支持🥰一起进步呀!✨前言哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【C++实战小项目】实现基本通讯录模拟详解分析。包教包会,



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


✨前言

哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【C++实战小项目】实现基本通讯录模拟详解分析。包教包会,快来看看吧!

任务描述

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


文章目录

  • ✨前言
    • 任务描述
  • 一.分析通讯录
  • 二.删除
    • 2.1 Flowchat流程图
    • 2.2 string2_
  • 三.查找
    • 3.1 Flowchart流程图
    • 3.2 三千字代码实现
  • 四.修改
    • 4.1 Flowchart流程图
    • 4.2 代码实现
  • 总结


一.分析通讯录

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

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

这一期我们就来实现准备删除查找与修改


二.删除

删除是string2_函数,我们就来看看

2.1 Flowchat流程图

Created with Raphaël 2.2.0 进入函数 提取数据 确认? 操作删除 回到开始页面 通知错误 yes no

2.2 string2_

void string2_()
{
string name1 = "请输入名字:>\n";
out06(name1);
string chaname;
input_string(chaname);
chaname = stringaaaa;
int s = 0;
int ss = 0;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
for (int i = 1; i <= z - 1; i++)
{
if (namez[i] == chaname)
{
s++;
ss = i;
cout << " ";
cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
}
cout << "确认删除该联系人吗";
cout << endl;
cout << "1.yes";
cout << endl << "2.no" << endl;
int yesno1;
cin >> yesno1;
if (yesno1 == 1)
{
over(ss);
}
else
{
system("pause");
playfirst();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82

基本如图所示


三.查找

删除是string3_函数,我们来看看

3.1 Flowchart流程图

Created with Raphaël 2.2.0 进入函数 询问查找方式 提取数据 符合查找方式 输出 回到开始页面 通知错误 yes yes no

3.2 三千字代码实现

然后我们再看看code

void string3_()
{
string string0 = "=====================================\n";
string string1 = "============1.通过名字查=============\n";
string string2 = "============2.通过性别查=============\n";
string string3 = "============3.通过年龄查=============\n";
string string4 = "============4.通过地址查=============\n";
out06(string0);
out06(string1);
out06(string2);
out06(string3);
out06(string4);
out06(string0);
int string7 = 0;
string7 = input(string7);
switch (string7)
{
case 1:
cha1_();
case 2:
cha2_();
case 3:
cha3_();
case 4:
cha4_();
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

通过switch来分别到cha1_ ~ cha4_

void cha1_()
{
string name1 = "请输入名字:>\n";
out06(name1);
string chaname;
input_string(chaname);
chaname = stringaaaa;
int s = 0;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
for (int i = 1; i <= z - 1; i++)
{
if (namez[i] == chaname)
{
s++;

cout << " ";
cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
}
system("pause");
playfirst();
}

void cha2_()
{
string name1 = "请输入性别:>\n";
out06(name1);
string chaname;
input_string(chaname);
chaname = stringaaaa;
if (chaname == "男")chaname = "男";
else if (chaname == "女") chaname = "女";
else chaname = "不男不女";
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
int s = 0;
for (int i = 1; i <= z - 1; i++)
{
if (bgz[i] == chaname)
{
s++;
cout << " ";
cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
}
system("pause");
playfirst();
}

void cha3_()
{
string name1 = "请输入年龄:>\n";
out06(name1);
int chaage;
int s = 0;
cin >> chaage;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
cout << " ";
for (int i = 1; i <= z - 1; i++)
{
if (agez[i] == chaage)
{
s++;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
cout << " ";
cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
}
system("pause");
playfirst();
}

void cha4_()
{
string name1 = "请输入地址:>\n";
out06(name1);
string chaname;
input_string(chaname);
chaname = stringaaaa;
int s = 0;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
cout << " ";
for (int i = 1; i <= z - 1; i++)
{
if (homez[i] == chaname)
{
s++;

cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
}
system("pause");
playfirst();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298

四.修改

4.1 Flowchart流程图

Created with Raphaël 2.2.0 进入函数 输入名字 判断 修改各项值 回到开始页面 通知错误 yes no

4.2 代码实现

void string4_()
{
printf("请输入需要修改信息用户的名字:>\n");
string chaname;
input_string(chaname);
chaname = stringaaaa;
int s = 0;
cout << " 姓名";
for (int j = 1; j <= 12; j++)
{
cout << " ";
}
cout << "性别";
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << "年龄";
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << "电话";
for (int j = 1; j <= 20; j++)
{
cout << " ";
}
cout << "地址";
cout << "\n";
cout << " ";
int ss = 0;
for (int i = 1; i <= z - 1; i++)
{
if (namez[i] == chaname)
{
s++;
ss = i;
cout << namez[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << bgz[i];
for (int j = 1; j <= 10; j++)
{
cout << " ";
}
cout << agez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << phonez[i];
for (int j = 1; j <= 20 - 1; j++)
{
cout << " ";
}
cout << homez[i];
cout << "\n";
}
}
if (s == 0)
{
cout << "没有找到这个人";
system("pause");
playfirst();
}
printf(" \n0.退出 1.姓名 2.性别 3.年龄 4.电话 5.地址:>\n");
int num;
cin >> num;
switch (num)
{
case 1:
printf("请输入你想修改的姓名:>\n");
cin >> namez[ss];
break;
case 2:
printf("请输入你想修改的性别:>\n");
cin >> bgz[ss];
break;
case 3:
printf("请输入你想修改的年龄:>\n");
cin >> agez[ss];
break;
case 4:
printf("请输入你想修改的电话:>\n");
cin >> phonez[ss];
break;
case 5:
printf("请输入你想修改的地址:>\n");
cin >> homez[ss];
break;
case 0:
printf("不修改退回界面\n");
break;
default:printf("无效操作数!\n");
}
system("pause");
playfirst();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100

总结

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

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


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

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览42515 人正在系统学习中