一个简单的命令行联系人程序 C++

用不准的英语写的说明,贴在github上。

https://github.com/shalliestera/contacts/tree/master

这是头文件:

#ifndef CCONTACTS_H_
#define CCONTACTS_H_
#include <map>
#include <string>

class CContacts {
private:
    // map<std::string, std::string>
    std::map<std::string, std::string> m_contacts;
    unsigned long count;
public:
    // ctors ‘n‘ init
    CContacts();
    CContacts(const std::string& name, const std::string& email);
    void init(const std::string& name = "", const std::string& email = "");
    // methods
    // add del modify seek load / save
    void Add();
    void Del();
    void Update();
    void Update(const std::string& name, const std::string& email);
    void Seek();
    bool Seek(const std::string& name);
    void List() const;
    void Load();
    void Save();
};

#endif // CCONTACTS_H_

简单地说,一个名字对应一个电子邮件地址。用了C++的<map>。

可以增加、删除、修改、查找,写入文件和从文件读取,采用简单的json格式(更复杂的我不会啊)。

复习了对文件的操作,以及和编译器斗争了很长时间。



贴完发现有个多余的unsigned long,博客上的暂时不改。下次更新后再贴。

时间: 2024-09-29 18:00:36

一个简单的命令行联系人程序 C++的相关文章

使用.NET Core快速开发一个较正规的命令行应用程序

程序员的世界,命令行工具一直是"体验非常友好"的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本).在.NET Core中,命令行应用程序是基础,但是如何实现像 "cat" 这种功能呢?今天就为大家介绍一个packages来优雅的实现一个命令行应用程序. 一般命令行程序包含什么? 使用方式 帮助信息 子命令 参数 选项 帮助信息 帮助信息如上,介绍了命令的作用和参数.选项作用. 这个是必不可少的. 子命令 一个应用程序打包了多个功能,

如何在FreeRTOS-Plus-CLI中添加一个自己的命令行

根据上一篇添加完成后,下面就是添加一个自己的命令行.其实添加一个命令行格式很简单,就是按照demo中的数据格式添加一个结构体,然后在注册函数中注册就可以使用了. 第一步:添加自己的结构体 /* The structure that defines command line commands.  A command line command should be defined by declaring a const structure of this type. */ typedef struc

Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序

11.11.1 命令行邮件程序 编写一个程序,通过命令行接受电子邮件地址和文本字符串.然后利用selenium登录到你的邮件账号,将该字符串作为邮件,发送到提供的地址(你也许希望为这个程序建立一个独立的邮件账号).这是为程序添加通知功能的一种好方法.你也可以编写类似的程序,从Facebook 或Twitter 账号发送消息.这个项目弄了好几天,头都快炸了,终于弄好了代码如下:#!/usr/bin/env python#encoding:utf-8 '''@author:Kevinbr/>@aut

简介(1)-概述、一个简单的时间获取客户程序

1.概述 大多数网络应用划分:客户(client)和服务器(server) 一些复杂的网络应用:异步回调通信,即服务器向客户发起请求消息. 协议栈:应用协议.TCP协议.IP协议.以太网协议 局域网(local area network,LAN),广域网(wide area network,WAN). 路由器是广域网的架构设备. 因特网:当今最大的广域网. POSIX:一种被多数厂商采纳的标准. 2.一个简单的时间获取客户程序 1)创建套接字 socket函数 2)指定服务器的IP地址和端口 s

(1)风色从零单排《C++ Primer》 一个简单的c++程序

从零单排<C++ Primer> --(1)一个简单的c++程序 本次学习收获 0.写在前面 风色以前上过C++的课程,然而当时并没有认真去学,基本不能使用c++来作项目开发. 这次又一次学习c++,首先会阅读c++Prime英文版第五版,希望能够为以后的学习打下坚实的基础. 1.程序 一个简单的c++程序(P17),帮助我们高速了解c++的代码风格,并通过分析代码学习c++ 程序意图:在终端上输入一组数字.输出不同数字输出的次数.同样的数字必须是连续的. 如果输入: 42 42 42 42

windows笔记-一个简单的windows GUI应用程序

#include<windows.h> // 编写Windows程序必须包含的头文件 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); // 声明窗口函数原型 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ HWND hwnd; // 定义窗口句柄 MSG msg; // 定义一个用来存储消息的变量

用nodejs搭建一个简单的服务监听程序

作为一个从业三年左右的,并且从事过半年左右PHP开发工作的前端,对于后台,尤其是对以js语言进行开发的nodejs,那是比较有兴趣的,虽然本身并没有接触过相关的工作,只是自己私下做的一下小实验,但是还是记录一下方便以后复习! 今天主要记录一下,很久以前用nodejs制作一个简单的服务监听程序的一些过程! 大家都知道,通过nodejs可以对前台请求进行监听,这里就放一个官网的hello world例子吧: var http = require('http'); http.createServer(

简单的命令行选项

简单的命令行选项: import sys def main(): if len(sys.argv) != 3: print 'usage: ./wordcount.py {--count | --topcount} file' sys.exit(1) option = sys.argv[1] filename = sys.argv[2] if option == '--count': print_words(filename) elif option == '--topcount': print

NodeJS用递归实现异步操作的链式调用,完成一个简易的命令行输入输出REPL交互接口

REPL —— Read-Eval-Print-Loop. 00.一门好的编程语言的必要条件 REPL并不是什么高大上的东西,简单的说就是一个从命令行程序,读取终端输入,处理,打印结果,如此循环.这是一门比较全面的编程语言的基础. 刚开始接触NodeJS,以为就是一个服务端Js,但学习了一段时间之后才感受到它的强大和魅力.如果说Java是编程游戏里一个喜欢循规蹈矩的古板选手,JavaScript就是一个天马行空的飘逸选手.刚开始转型异步编程非常不习惯,慢慢的懂得,异步编程,是一种思维. 01.依