hereusement que ca marche parce que la gt proche de me tuer
This commit is contained in:
parent
2e0f67ca59
commit
2a1dc87ca0
@ -37,7 +37,6 @@ Contact& Contact::operator=(Contact& src)
|
|||||||
|
|
||||||
Contact::~Contact()
|
Contact::~Contact()
|
||||||
{
|
{
|
||||||
std::cout << "je suis finit: " << this << std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Contact::to_string_partial() const
|
std::string Contact::to_string_partial() const
|
||||||
|
@ -49,7 +49,8 @@ void PhoneBook::display_contacts()
|
|||||||
|
|
||||||
Contact* PhoneBook::search(int index)
|
Contact* PhoneBook::search(int index)
|
||||||
{
|
{
|
||||||
if ((size_t) index > this->len || index < 0)
|
std::cout << this->len << " " << index << std::endl;
|
||||||
|
if ((size_t) index >= this->len || index < 0)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
return (&this->contacts[index]);
|
return (&this->contacts[index]);
|
||||||
}
|
}
|
||||||
|
@ -38,19 +38,41 @@ int read_contact(Contact& contact)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int isdigit(std::string& str)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < str.size(); i++)
|
||||||
|
{
|
||||||
|
if (!std::isdigit(str[i]))
|
||||||
|
return(0);
|
||||||
|
std::cout << i << std::endl;
|
||||||
|
}
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
Contact* search(PhoneBook &phone_book)
|
Contact* search(PhoneBook &phone_book)
|
||||||
{
|
{
|
||||||
int index;
|
long index;
|
||||||
|
char *error;
|
||||||
std::string index_str;
|
std::string index_str;
|
||||||
Contact* contact;
|
Contact* contact;
|
||||||
|
|
||||||
contact = NULL;
|
contact = NULL;
|
||||||
while (contact == NULL)
|
while (contact == NULL)
|
||||||
{
|
{
|
||||||
|
index_str = "";
|
||||||
if (get_input(index_str, "index: "))
|
if (get_input(index_str, "index: "))
|
||||||
return (NULL);
|
return (NULL);
|
||||||
index = std::atoi(index_str.c_str());
|
index = std::strtol(index_str.c_str(), &error, 10);
|
||||||
contact = phone_book.search(index);
|
if (errno == ERANGE || error[0] != '\0')
|
||||||
|
{
|
||||||
|
std::cerr << "Invalid input" << std::endl;
|
||||||
|
errno = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
contact = phone_book.search(index);
|
||||||
|
if (contact == NULL)
|
||||||
|
std::cerr << "Contact not found" << std::endl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return (contact);
|
return (contact);
|
||||||
}
|
}
|
||||||
@ -71,7 +93,6 @@ int main()
|
|||||||
{
|
{
|
||||||
if (read_contact(contact))
|
if (read_contact(contact))
|
||||||
return (0);
|
return (0);
|
||||||
std::cout << std::endl << "dasd" << std::endl;
|
|
||||||
phone_book.add_contact(contact);
|
phone_book.add_contact(contact);
|
||||||
}
|
}
|
||||||
else if (command == "SEARCH")
|
else if (command == "SEARCH")
|
||||||
|
Loading…
Reference in New Issue
Block a user