Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Hilfe bei Hex to Int

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.10.2008, 18:44 Uhr
~CplusplusAnfänger
Gast


Hallo, ich soll eine Hex to Int mit einer Switch Anweisung schreiben, ich habe folgenden Ansatz:


C++:
#include <iostream>
using namespace std;

int htoi(char s[]);

int main() {
    cout << htoi("10") << endl;
    cout << htoi("ff") << endl;
    cout << htoi("FF") << endl;
    cout << htoi("Feed") << endl;
    
}

int htoi(char s[]) {
    
        
    switch (*s) {
      case '0': cout << "0"; break;
      case '1': cout << "1"; break;
      case '2': cout << "2"; break;
      case '3': cout << "3"; break;
      case '4': cout << "4"; break;
      case '5': cout << "5"; break;
      case '6': cout << "6"; break;
      case '7': cout << "7"; break;
      case '8': cout << "8"; break;
      case '9': cout << "9"; break;
      case 'a': cout << "10"; break;
      case 'b': cout << "11"; break;
      case 'c': cout << "12"; break;
      case 'd': cout << "13"; break;
      case 'e': cout << "14"; break;
      case 'f': cout << "15"; break;
      
    }
}


Leider funktioniert nur die erste Stelle der Hex Zahl, ich komme leider nicht darauf wie ich das auf jeder Stelle anwenden kann, um dann eben die Umrechnung (Als Beispiel nur zwei Stellen: s[0]*16+s[1]...), und Groß-/Kleinschreibung hab ich auch noch nicht beachtet.

Ich hoffe ihr könnt mir helfen! Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.10.2008, 21:12 Uhr
Hans
Library Walker
(Operator)


Hi,

die Funktion bearbeitet in dieser Form auch nur die erste Stelle, und weiter nichts. Da steht ja kein Code drin, der eine weitere Stelle bearbeiten würde. Und die Rechnung s[0]*16+s[1]... steckt in der Funktion auch nicht drin. Das sollte sie aber, auch wenn sie etwas anders in Erscheinung tritt.
Ansonsten sieh mal hier (posting 001) nach, da hab ich mal ein Programm zur Eingabe geschrieben. Wenn du das nicht sofort verstehst, macht es nichts. Es ist nur halt der umgekehrte Weg.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: