aboutsummaryrefslogtreecommitdiff
path: root/cpp00/ex01/main.cpp
blob: c415cbb282193169680418cf8376723d7f579c5e (plain)
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
/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   main.cpp                                           :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: charles <charles.cabergs@gmail.com>        +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2020/04/13 07:23:15 by charles           #+#    #+#             */
/*   Updated: 2020/11/09 12:17:23 by cacharle         ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include <iostream>
#include "PhoneBook.hpp"
#include "Contact.hpp"
#include "utils.hpp"

int main()
{
    std::string input;
    PhoneBook   phoneBook;

    while (true)
    {
        if (std::cin.good())
            std::cout << "> " << std::flush;
        if (!std::getline(std::cin, input))
            break;
        std::cout.flush();
        if (input == "EXIT")
            break;
        else if (input == "ADD")
        {
            if (phoneBook.getSize() >= 8)
                std::cout << "Error: Phonebook is full" << std::endl;
            else
                phoneBook.add(Contact::prompt());
            std::cout << std::flush;
        }
        else if (input == "SEARCH")
        {
            std::cout << phoneBook << std::flush;
            int tmp = getInt();
            if (tmp < 0 || size_t(tmp) >= phoneBook.getSize())
                std::cout << "Error: Not valid index: " << tmp << std::endl;
            else
                phoneBook.get(size_t(tmp)).put();
            std::cout << std::flush;
        }
    }
    return 0;
}