

🧛♂️iecne个人主页::iecne的学习日志
💡每天关注iecne的作品,一起进步
💪学C++必看iecne
本文专栏:【实战小项目】
🐳希望大家多多支持🥰一起进步呀!
哈喽大家好,我是iecne,本期为大家带来的是CPP/C++【C++实战小项目】实现基本通讯录模拟详解分析。包教包会,快来看看吧!
如何根据据C++基础入门编写一款不可视化通讯录,我们这次就来讲讲并且写一写添加用户

文章目录
首先制作一款通讯录我们可以将它分为以下部分
增加联系人
删除联系人
查找联系人
修改联系人
打印通讯录
排序通讯录
这一期我们就来实现准备删除查找与修改
删除是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();
}
}
基本如图所示
删除是string3_函数,我们来看看
然后我们再看看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_();
}
}
通过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();
}
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();
}
今天我们实现了通讯录的教程,至此该课示例的思想博主已经真真切切彻彻底底分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下,包教包会。若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!
帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!
原创不易,还希望各位大佬支持一下
点赞,你的认可是我创作的动力!
收藏,你的青睐是我努力的方向!
评论,你的意见是我进步的财富!
感谢每一个观看本篇文章的朋友,更多精彩敬请期待~( ̄▽ ̄~)~:
iecne的博客
若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!

如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现