[ ouros @ 10.02.2002. 06:29 ] @
Narode treba mi pomoc. Totalno sam se izgubio. Imam sledeci kod sa operator overloading, glup program, znaci uzima broj telefona, tipa (xxx) xxx-xxxx, e sad kad hocu da proverim svaki karatker ponaosob, da vidim da li je stavio otvorenu zagradu ( pre pocetka pozivnog ili ne ... zbunim se. mislim ovo mi je lako da uradim sa stringovima, ali me zbunjuje ovaj kod. ako neko ima vremena da mi pomogne bio bih zahvalan. znaci treba mi hint: ako neko recimo umesto ovog nacina (123)123-4567 napise ovaj broj 123-456-7890 kako da proverim svaki character ali da ga ne izgubim. ako uzmem recimo promenljivu tipa char checkThis; i onda input >> setw(1) >> checkThis; if (checkThis == '(') { // on mi je vec pojeo prvi karakter, tako da nemogu vise da se vratim na njega nadam se da ste me razumeli. evo koda,pa ako moze neko da proba i da mi pomogne #include <iostream> using std::cout; using std::cin; using std::endl; using std::ostream; using std::istream; #include <iomanip> using std::setw; class PhoneNumber { friend ostream &operator<<( ostream&, const PhoneNumber & ); friend istream &operator>>( istream&, PhoneNumber & ); private: char areaCode[ 4 ]; // 3-digit area code and null char exchange[ 4 ]; // 3-digit exchange and null char line[ 5 ]; // 4-digit line and null }; // Overloaded stream-insertion operator (cannot be a member function if we // would like to invoke it with cout << somePhoneNumber;). ostream &operator<<( ostream &output, const PhoneNumber &num ) { output << "(" << num.areaCode << ") " << num.exchange << "-" << num.line; return output; // enables cout << a << b << c; } istream &operator>>( istream &input, PhoneNumber &num ) { input.ignore(); input >> setw( 4 ) >> num.areaCode; // input area code input >> setw(2) >> checkString; if (checkString == ')') input >> setw( 4 ) >> num.exchange; // input exchange input.ignore( ); // skip dash (-) input >> setw( 5 ) >> num.line; // input line return input; // enables cin >> a >> b >> c; } int main( ) { PhoneNumber phone; // create object phone cout << "Enter phone number in the form (123) 456-7890:\n"; // cin >> phone invokes operator>> function by // issuing the call operator>>( cin, phone ). cin >> phone; // cout << phone invokes operator<< function by // issuing the call operator<<( cout, phone ). cout << "The phone number entered was: " << phone << endl; return 0; } Hvala Uros |