From 4c3671a0c7f000e412f6f2a4b14b46be2ec347f3 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Fri, 4 Feb 2022 11:26:40 +0100 Subject: [PATCH] abandon sstream a cause error mtn atoi --- .gitignore | 10 ++--- d00/ex00/megaphone | Bin 0 -> 9200 bytes d00/ex01/PhoneBook.class.cpp | 64 ++++++++++++++++---------------- d00/ex01/PhoneBook.class.hpp | 22 ++++------- d00/ex01/builds/Contact.class.o | Bin 8936 -> 8888 bytes d00/ex01/builds/main.o | Bin 5400 -> 5424 bytes d00/ex01/main.cpp | 9 ----- d00/ex01/phonebook | Bin 29776 -> 29560 bytes 8 files changed, 45 insertions(+), 60 deletions(-) create mode 100755 d00/ex00/megaphone diff --git a/.gitignore b/.gitignore index b24d71e..aa9d295 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,3 @@ -# These are some examples of commonly ignored file patterns. -# You should customize this list as applicable to your project. -# Learn more about .gitignore: -# https://www.atlassian.com/git/tutorials/saving-changes/gitignore - # Node artifact files node_modules/ dist/ @@ -48,3 +43,8 @@ Thumbs.db *.mov *.wmv +# personnals +.o +builds/ +.swp +.out diff --git a/d00/ex00/megaphone b/d00/ex00/megaphone new file mode 100755 index 0000000000000000000000000000000000000000..9cb0d3bb2758837d894cd696d4a6dc378908ed2c GIT binary patch literal 9200 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 E33ZaJ>i_@% literal 0 HcmV?d00001 diff --git a/d00/ex01/PhoneBook.class.cpp b/d00/ex01/PhoneBook.class.cpp index 050e13b..7b930c5 100644 --- a/d00/ex01/PhoneBook.class.cpp +++ b/d00/ex01/PhoneBook.class.cpp @@ -3,7 +3,7 @@ PhoneBook::PhoneBook( void ) { - this->contact_count = 0; + this->_contact_count = 0; return; } @@ -16,50 +16,50 @@ void PhoneBook::add_contact() { std::string str; int it; - this->contact_count++; - it = this->contact_count; + this->_contact_count++; + it = this->_contact_count; if (it > 8) it = 1; it--; std::cout << B_CYAN "enter a first name pliz :" << std::endl; - while (contact[it].get_first().length() == 0) + while (_contact[it].get_first().length() == 0) { std::cout << B_BLUE "-> " RESET; std::getline(std::cin, str); - this->contact[it].add_first(str); + this->_contact[it].add_first(str); } std::cout << B_CYAN "enter a last name pliz :" << std::endl; - while (contact[it].get_last().length() == 0) + while (_contact[it].get_last().length() == 0) { std::cout << B_BLUE "-> " RESET; std::getline(std::cin, str); - this->contact[it].add_last(str); + this->_contact[it].add_last(str); } std::cout << B_CYAN "enter a nickname pliz :" << std::endl; - while (contact[it].get_nick().length() == 0) + while (_contact[it].get_nick().length() == 0) { std::cout << B_BLUE "-> " RESET; std::getline(std::cin, str); - this->contact[it].add_nick(str); + this->_contact[it].add_nick(str); } std::cout << B_CYAN "enter a number pliz :" << std::endl; - while (contact[it].get_num().length() == 0) + while (_contact[it].get_num().length() == 0) { std::cout << B_BLUE "-> " RESET; std::getline(std::cin, str); - this->contact[it].add_num(str); + this->_contact[it].add_num(str); } std::cout << B_CYAN "enter a secret of this contact pliz :" << std::endl; - while (contact[it].get_secret().length() == 0) + while (_contact[it].get_secret().length() == 0) { std::cout << B_BLUE "-> " RESET; std::getline(std::cin, str); - this->contact[it].add_secret(str); + this->_contact[it].add_secret(str); } } @@ -71,12 +71,12 @@ std::string truncate(std::string str, size_t len) { } -void PhoneBook::print_phonebook() { +int PhoneBook::print_phonebook() { std::cout << std::endl; int it; - it = this->contact_count; + it = this->_contact_count; if (it > 8) it = 8; it--; @@ -91,42 +91,44 @@ void PhoneBook::print_phonebook() { for (int i = 0; i <= it; i++) { std::cout << "|" << std::setw(10) << i; - std::cout << "|" << std::setw(10) << truncate(contact[i].get_first(), 10); - std::cout << "|" << std::setw(10) << truncate(contact[i].get_last(), 10); - std::cout << "|" << std::setw(10) << truncate(contact[i].get_nick(), 10); + std::cout << "|" << std::setw(10) << truncate(_contact[i].get_first(), 10); + std::cout << "|" << std::setw(10) << truncate(_contact[i].get_last(), 10); + std::cout << "|" << std::setw(10) << truncate(_contact[i].get_nick(), 10); std::cout << "|" << std::endl; } + if (this->_contact_count == 0) + std::cout << "| EMPTY |" << std::endl; std::cout << " ------------------------------------------- " << std::endl; std::cout << std::endl; + return this->_contact_count; } void PhoneBook::print_contact( int id ) { std::cout << std::endl; - std::cout << B_CYAN "FIRST NAME : " << RESET << this->contact[id].get_first() << std::endl; - std::cout << B_CYAN " LAST NAME : " << RESET << this->contact[id].get_last() << std::endl; - std::cout << B_CYAN " NICKNAME : " << RESET << this->contact[id].get_nick() << std::endl; - std::cout << B_CYAN " NUMBER : " << RESET << this->contact[id].get_num() << std::endl; - std::cout << B_CYAN " SECRET : " << RESET << this->contact[id].get_secret() << std::endl; + std::cout << B_PURPLE "FIRST NAME : " << RESET << this->_contact[id].get_first() << std::endl; + std::cout << B_PURPLE " LAST NAME : " << RESET << this->_contact[id].get_last() << std::endl; + std::cout << B_PURPLE " NICKNAME : " << RESET << this->_contact[id].get_nick() << std::endl; + std::cout << B_PURPLE " NUMBER : " << RESET << this->_contact[id].get_num() << std::endl; + std::cout << B_PURPLE " SECRET : " << RESET << this->_contact[id].get_secret() << std::endl; } void PhoneBook::search_contact() { - std::string str; - std::stringstream convert; + std::string index; int id; - this->print_phonebook(); + if (this->print_phonebook() == 0) + return; id = -1; std::cout << std::endl << B_CYAN "choose an index :" << std::endl; - while (id < 0 || id > this->contact_count - 1 || id > 7) + while (id < 0 || id > this->_contact_count - 1 || id > 7) { std::cout << B_BLUE "-> " RESET; - std::getline(std::cin, str); - convert << str; - convert >> id; - if (id < 0 || id > this->contact_count - 1 || id > 7) + std::getline(std::cin, index); + id = std::atoi(index.c_str()); + if (id < 0 || id > this->_contact_count - 1 || id > 7) std::cout << B_RED "sorry, not a valid index" RESET << std::endl; } this->print_contact(id); diff --git a/d00/ex01/PhoneBook.class.hpp b/d00/ex01/PhoneBook.class.hpp index 7235b0b..60367b0 100644 --- a/d00/ex01/PhoneBook.class.hpp +++ b/d00/ex01/PhoneBook.class.hpp @@ -6,7 +6,7 @@ #include #include -#include +#include class PhoneBook { @@ -15,24 +15,16 @@ class PhoneBook { PhoneBook(); ~PhoneBook(); - void add_contact(); - void search_contact(); - void print_phonebook(); - void print_contact( int id); + void add_contact(); + void search_contact(); + int print_phonebook(); + void print_contact( int id); private: - Contact contact[8]; - int contact_count; + Contact _contact[8]; + int _contact_count; }; #endif - -/* - * class PhoneBook : - * add_contact - * print_phonebook - * search_by_index - * exit - */ diff --git a/d00/ex01/builds/Contact.class.o b/d00/ex01/builds/Contact.class.o index 4126362aa3ae3b95fdc819292e3e7f508916e8f7..5322b863baacd88d2e3af4c0d0b2a70f7674df56 100644 GIT binary patch literal 8888 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 Sxe+&|>-UCU7<8lF{QVE)kMcDD literal 8936 zcmbtZeQZ%2t!o^xHzE!*&D?UC|Y`s4DTUmk( z_<;^Qs{>!rfe;pI@ts)le5}|%Rebz<%vA<<%2W%JwRd99)|<@jMW6h+48{^(c58HP zJ(UM%Q750h6DRKVA}8fVn~dIx6Zd+M6K7F|wFl5<3~P@pq3(yAQ1`Y#Xpk0O0ty|N zvTLDuLEh^ZAA>;%dp{bw9;D64CJl`RJI>WF-g>JZ_M8yooRIq&v&TK@Hu}#0t3P^S z5Yl3lePPPAesPrY4N<;uACC>)7?cJyR6s7+Q6?9IGuULu-Bnsv%MwC0r9Js+G~mxk zBLI_(7qUYk?BZ>pNM%<5h{=$GrB!TbETlb#_bGjOVqJ?iZU+O7puxG^$h4y>ChO^b;L*Km1 z)uQCDgZ7xe;aH8h>YsPAM*PEH2kq}wHC(C@XRGF2tr5Sks)P1>f#>~$wZ`9P-7o0y zG40=Igck(XiH8D7u|06yXM8zOGQ^M(7&FAH1_G}cYlL{$SOCor4abrOYTtLsDUly; z#h$MIjMX1Xq~n>M(7|LbpUP%Jku~9_aMS9w{ZbiudJXi}h1Y@Qy~^4+yjvKBpmBd) z&8!o!|1Sg_FO+8d*gPlroUdhebsh-NMcpREK_Ev*|9MCMB;p|WY?tl#I{G7sgLvs* zwAG&aHI4>Xoydh*=mZ!Bs7pu zB5P80{Gh2Me#Yl|e}z0z?`Lt{e9F#2Ux1K7r(1443@Ofqe1dY^LM&C94#*$zXpIfX zntFZ$@EGrp5Qj^b7|d@a zKPwawmoEg@$MEVz+2nzL(F3RD-6e4qqsPqD7X{Q9AKZ`_n7A*xQPF2RDvKr zA1=b*MGyq>C2$db4M7mZ7s5sOzYzpMoaa-c>Qv8%>KFMupB0LacmrJIe=Wm#KARcN z^Z6XZc|M&A*Yim;KF{YE!?E@#pOXw7uf1lx;Kgw{w7!&iVWn&<@r*HAIf$_MAKShc)iZvE^Bs_FubBAiR64h#YrryMW z!ij8eZ!%*EoX@xkt5!%s2iCEz*)&sGTwJLum_6xiS3GSVgvpg?xGSGmC4jENc`Kf? z`ujw?1KmFYHjC-eQiNoA1SZ|=** zp=+Am`K-A=p6O15t|yT&lZ8aG&oZre7a~wX(1QD+Uc5u?wtwPvUk`&z^<-Li?`U6V z-kl35otath+K~VUYi0Oy{lO&K_1AhAqiW?3ax=QZTAi_{NE5oU>w3n{HlQzf24?I? zjt`%gyYsZIrNvcO%|b^aP?*{7xE05Wi-aRkm_3Dp*$2O8W;5}0$~t5oY{Gqert&Lz zF{vZ3%hmA(cDF;Fmq@9$ed>xg0YHq-8Kj7+hQ(hpfa%}8@%xl|wUVj4H>m^473Fvy zp!g1@cfCqa)B;#3{-}z(!{znX_*GzEDgG?{{|X3wZ^!t^)8oIP;$v=H>J;%J2cfOU zx(^KT`>`%f>PtVKEm1H&o+rtk?v{#QttBw7;`84Q(2qXHxzY*#SF*+|2_jdN=2g_p)TzdQ|6`%4Yzj`12&|DG+?-$kh zX`DEITnn-%9R6z|^QU=2Ta=rM7`D6RPs*F_kE-=66I5d*KZG$Q*%9=LZBJjv2^NjY zewMbbls^$qgTB)E$JO{xsem|stR1qa@yEg5-!`2E)gWADDJTNf8``7j`Tq{=wG<^U PstR{XEiBqqn*aX+LVzv1 diff --git a/d00/ex01/builds/main.o b/d00/ex01/builds/main.o index c964431c6dbdb1916cc81d91dc01bbaccd34524f..5594901cc101a293abd22cdb98753c1cc4bc4f36 100644 GIT binary patch literal 5424 zcmbtXZHQde89uXJKUE;E{5vg5{ckkZJUNdv= zGIJ-HghUN-r9)WFk5USSHVD#!R0V$+#7`1Te)vQEB@{)FfHC~}-kCFJ z=N6-tYIEd(OE}J5vu0Wio;(BOVmJ5u-vZ4fp!HRd=_zi6jq{+J7&d{N~K} zgt+Kj1*5cb;?u8^&f6dTyVFtq%K&<>a~QTSCd~(lbbI+6Nh_Jb?AQ9)ACykN4T!b> z($BVypY3Nu8xU*%zMp-uw9?dBw3p9VJS*(q^s`|Z5LS$>h*D{y?lvO+A9~J_|a;tPw{2q>rlIM(q3-$e4?v-{%D}j(SiDLPaj>S zPm?b$Z@`Nl{o44SPN%yftaQ5JoOZ63PF}#`nLDp^yPTdSDkqXwYL%xyKoIk>fRle-brAp>YLn4Y?1F%7l!A~A0*0exb0cR#d`kg&z(+Z?!4$^Ph^`w zH?bl**U@tbpU4h+?xoJt7(7oeaKa%WGJm4MGz}DIGa+4_0u62>j-p3sa1Hg8&SNyV zQ!|V&a9S^;HJepu)8oZoY~NnBT5?mwx*|B9#s8A4PKmCs6 zhe!j{2~vKkogq9Uu2mRb@DFmed@>S3)j$ujWN8p(lT25!vSM{S5Xu^UO{Hu%Is+w_ z#@5|s?4jNu{Pq<5Zz=eZ6ug<@H%oOMfnQo**YBo)1&-TVbCboBo&*=Nn|_Mq?e~I|KbVX%q*!T%|1# zbccaoZ{TAZ#}~l5fF3k(e6LK7?!es*^sxO$HE!FPGw|M5Cd7iqVF$Z0+fn;8jUj9L zJw;=X?f16{tmMu3|6t&zofkE3+j-rPhwm+V{JtS?#`%dMk7JkVGu?sxpVGs5{X^q+ zeg0+O;Nh?asVf+@uw(jNPxB74>$6GYc3xWydFbp?+Cq#O^7x)O&N&0eX~#JBPY~>5 zjWd4Mvi|^th+a12P5U1k_@bflK`9*hOp`TffcLq^I&btkNbduccE!s+ql;bfey;iGOERK+P;K@c@55mf%SB{HC zZ_%yGxb6mVW72cVF1?(dX1|Y#RX!N`?mm=eQl;2$#i~A|Uet_59@j>?LJCCfN~%^X zNcdAbr3@kzRq&MrK4<(Rs6Ubg#I9N$=Wkg40MXx=9rw>pPF8IR8kdY zi_&q#zKMyxf)=U%(SjSh$gY?#QvEBfmRzEriimy}g7~OBT+ko#|Jj_Qjf1W>tLPjK z9irDQCiW|naIOI}_a5+f<3+^xp=7lB&UhCotN#)f(Cs?CX+5F+;|_&Aj`uRYOPoyc z{~m;i9#5L?8)uhE$5Z?->W%x17KVSsY5TvI{2+hrPD|52n~wXLE|PTYTwfq%+}~`v zqy_af&>b`R4`h9AzvTR_0M2Uvd=F;(cK)Ap{+9j~oj)%#_($$`{zph3n6*sAs~RA7 zAKBv@`w+F^apAK#hn8!De_qXlCfU`g5f{{_oMvi|@8 literal 5400 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 literal 29776 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