Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » dynamisches 2d-Array

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 ] [ 2 ] [ 3 ] > 4 <
030
14.09.2011, 21:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja es gibt zwei möglichkeiten:

das passende locale für dein cin setzen.

die einfachere methode wird vermutlich sein, alles erst als string zu lesen, das zeichen ggf ersetzen und dann nach double zu konvertieren.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
031
15.09.2011, 01:48 Uhr
0xdeadbeef
Gott
(Operator)


Da denken sich die Leute ein flexibles Locale-System mit Facets und allem aus, und niemand setzt sich damit auseinander... Ich bin mir bewusst, dass Locales eine der seltener benutzen Ecken des C++-Standards sind, aber für genau solche Zwecke ist der Kram ja gedacht, und wirklich schwierig ist das nun auch nicht. Etwa so:

C++:
#include <iostream>
#include <locale>
#include <numeric>

class comma_numpunct : public std::numpunct<char> {
public:
  explicit comma_numpunct(std::size_t refs = 0)
    : std::numpunct<char>(refs) { }

protected:
  virtual char_type do_decimal_point() const { return ','; }
};

int main() {
  std::locale loc(std::locale(), new comma_numpunct());
  std::cin .imbue(loc);
  std::cout.imbue(loc);

  double d;

  std::cin >> d;
  std::cout << d * 2 << std::endl;
}


Ergebnis:

Code:
$ ./a.out
2,3
4,6


Ich muss allerdings dazu sagen, dass ich für ernsthafte Parserei inzwischen fast ausschließlich Boost.Spirit benutze - schon aus Performancegründen. Ich habe keine Ahnung, wie die den Kram derart blitzschnell gekriegt haben.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 15.09.2011 um 01:55 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <     [ C / C++ (ANSI-Standard) ]  


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: