Formatierung der Telefonnummer in c++

Bitte helfen, ich bin versuchen zu formatieren Sie eine Telefonnummer wie (111)111-1111. Ich habe den folgenden code der funktioniert, aber ich würde gerne schreiben, viel kürzer.

int main(){

    string phone_number;

    cin >> phone_number;
    cout<<"(";

    for(int i = 0; i < 3; i++) {
      cout << phone_number[i];
    }

    cout << ")";
    for(int i = 3; i < 6; i++) {
      cout << phone_number[i];
    }

    cout << "-";

    for(int i = 6; i < 10; i++) {
      cout << phone_number[i];
    }

    cout<<endl;
    return 0;
}

bitte unterstützen Sie

  • Bevor Sie anfangen zu schreiben versucht, kürzeren code, bitte nehmen Sie sich die Zeit zum Einrücken der code ordnungsgemäß. Zum Beispiel, die der Körper normalerweise eine Schleife eingerückt wird, eine gewisse Anzahl von Leerzeichen von den umgebenden for und }. Ihr code wird nicht akzeptabel für die meisten Leser, bis Sie beginnen, dies zu tun konsequent.
  • Warum muss es kürzer sein?
  • Dies funktioniert nur für eine Teilmenge von Telefonnummern (US-zahlen). Was ist, wenn ich geben Sie 0049 30 12345678 oder +49 30 12345678?
  • Dies scheint eine klassische Hausaufgaben Frage. Wenn ja, ich und viele andere würde es sehr zu schätzen tagging ist es so, dass wir "richtigen" Antworten (d.h. nicht zu erbringen Sie den code, welcher IMO ist gleichbedeutend mit Cheaten).
InformationsquelleAutor user836910 | 2011-10-16
Schreibe einen Kommentar