Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Ist das Thmena interessant? |
Ja |
|
68% |
[ 15 ] |
Nein |
|
22% |
[ 5 ] |
weiß nix |
|
9% |
[ 2 ] |
|
Stimmen insgesamt : 22 |
|
Autor |
Nachricht |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528340) Verfasst am: 24.07.2006, 11:41 Titel: C++ |
|
|
Hi Leute,
ich möchte C++ lernen, ich hab auch einige dicke Bücher, aber ich begreife das nicht.
Also frage ich mal an ob das hier ein Thema sein könnte.
Ich vermute mal, auch Anfänger wissen das eine oder andere, das für einen anderen Anfänger nützlich sein kann.
Derzeit möchte ich eine Logfileanalyse erstellen. Da hab ich das Problem einen Ordner angeben zu müssen in dem alle Dateien (Logfiles) einzulesen sind. Und das scheiß ding krieg ich nicht hin.
Oder ein anderes Problem:
Ich hab einen Int-Wert mit vielen Nachkommastellen. Von die möchte ich bis auf zwei alle abschneiten, da ist aber nix drinn, ich kann machen was ich will es sind immer wieder alle Nachkommastellen da.
Ich krieg noch so leicht hysterische Schreikrämpfe.
|
|
Nach oben |
|
 |
Doc Extropy dauerhaft gesperrt
Anmeldungsdatum: 07.03.2006 Beiträge: 6149
|
(#528351) Verfasst am: 24.07.2006, 12:07 Titel: |
|
|
Ich kann mir beide Probleme ansehen.
Zum zweiten Problem:
Int - Werte können keine Nachkommastellen haben. Bist Du sicher, daß Du nicht floats oder doubles meinst?
|
|
Nach oben |
|
 |
Jan registrierter User
Anmeldungsdatum: 29.10.2004 Beiträge: 440
|
(#528360) Verfasst am: 24.07.2006, 12:31 Titel: Re: C++ |
|
|
Piwi hat folgendes geschrieben: | Ich hab einen Int-Wert mit vielen Nachkommastellen. Von die möchte ich bis auf zwei alle abschneiten, da ist aber nix drinn, ich kann machen was ich will es sind immer wieder alle Nachkommastellen da. |
Code: | neu = int(alt*100)/100; |
Geht aber nur, wenn "alt" nicht zu groß ist.
|
|
Nach oben |
|
 |
GermanHeretic Individualoptimist & Kulturpessimist
Anmeldungsdatum: 16.06.2004 Beiträge: 4932
|
(#528365) Verfasst am: 24.07.2006, 12:35 Titel: Re: C++ |
|
|
Jan hat folgendes geschrieben: | Code: | neu = int(alt*100)/100; |
Geht aber nur, wenn "alt" nicht zu groß ist. |
Code: | neu = atof(sprintf("%.2f",alt)); |
Geht auch bei großen Zahlen, dürfte aber deutlich langsamer sein. (Nicht, daß das heutzutage noch einen stört.)
_________________ "Nehmen Sie einem Durchschnittsmenschen die Lebenslüge, und Sie nehmen ihm zu gleicher Zeit das Glück." (Henrik Ibsen)
|
|
Nach oben |
|
 |
Ragmaanir Fieser Necessitator
Anmeldungsdatum: 12.06.2005 Beiträge: 833
Wohnort: Hamburg
|
(#528402) Verfasst am: 24.07.2006, 13:41 Titel: |
|
|
Code: |
#include <ios>
#include <iomanip>
#include <iostream>
#include <ostream>
#include <sstream>
int main()
{
double d = 3.141592654;
std::stringstream oss;
oss << std::fixed << std::setprecision(2) <<d ;
oss >> d;
std::cout << d << std::endl;
}
|
_________________ Dieser Post enthält die unumstößliche, objektive Wahrheit.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528415) Verfasst am: 24.07.2006, 13:53 Titel: |
|
|
Ragmaanir hat folgendes geschrieben: | Code: |
#include <ios>
#include <iomanip>
#include <iostream>
#include <ostream>
#include <sstream>
int main()
{
double d = 3.141592654;
std::stringstream oss;
oss << std::fixed << std::setprecision(2) <<d>> d;
std::cout << d << std::endl;
}
|
|
Ja, die std::stringstreams sind cool, die verwende ich auch immer.
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528425) Verfasst am: 24.07.2006, 14:15 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Ich kann mir beide Probleme ansehen.
Zum zweiten Problem:
Int - Werte können keine Nachkommastellen haben. Bist Du sicher, daß Du nicht floats oder doubles meinst? |
Ja das ist ja grod des, natürlich float.
Manchesmal hab ich so einen Sprung in der Schüssel, daß es kaum auszuhalten ist - sorry.
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528428) Verfasst am: 24.07.2006, 14:24 Titel: Re: C++ |
|
|
Jan hat folgendes geschrieben: | Piwi hat folgendes geschrieben: | Ich hab einen Int-Wert mit vielen Nachkommastellen. Von die möchte ich bis auf zwei alle abschneiten, da ist aber nix drinn, ich kann machen was ich will es sind immer wieder alle Nachkommastellen da. |
Code: | neu = int(alt*100)/100; |
Geht aber nur, wenn "alt" nicht zu groß ist. |
Ja merci vielmals.
Die Idee ist mir auch schon eingefallen, aber funzt nicht.
Es ist folgendes:
Ich hab von FREEZELL die Werte gewonnen (meinetwegen 9054), verloren (meinetwegen 1158), und die Prozent (daraus 89%) .
Daraus möchte ich errechenen wie viele Spiele ich in Folge gewinnen muß um (in halben prozentschritten) auf 89.5% zu kommen. Also muß ich auf eine nachkommastelle abrunden und mit diesem Wert weiterrechnen, das hab ich nicht hingebracht, es sind immer wieder alle nachkommastellen da.
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528431) Verfasst am: 24.07.2006, 14:25 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Code: |
#include <ios>
#include <iomanip>
#include <iostream>
#include <ostream>
#include <sstream>
int main()
{
double d = 3.141592654;
std::stringstream oss;
oss << std::fixed << std::setprecision(2) <<d>> d;
std::cout << d << std::endl;
}
|
|
Ja, die std::stringstreams sind cool, die verwende ich auch immer. |
ich versteh nur Bahnhoff
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528432) Verfasst am: 24.07.2006, 14:26 Titel: Re: C++ |
|
|
GermanHeretic hat folgendes geschrieben: | Jan hat folgendes geschrieben: | Code: | neu = int(alt*100)/100; |
Geht aber nur, wenn "alt" nicht zu groß ist. |
Code: | neu = atof(sprintf("%.2f",alt)); |
Geht auch bei großen Zahlen, dürfte aber deutlich langsamer sein. (Nicht, daß das heutzutage noch einen stört.) |
*ähm* nochmal bahnhoff
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528437) Verfasst am: 24.07.2006, 14:33 Titel: |
|
|
Was habt ihr für Compiler
ich hab den von Borlad C++ Builder (den hab ich aber schon etwa 10 Jahre ohne Update)
und Microsoft Visual C++ 2005 Exprss Edition
Zuletzt bearbeitet von Piwi am 24.07.2006, 14:34, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528438) Verfasst am: 24.07.2006, 14:33 Titel: |
|
|
Piwi hat folgendes geschrieben: | Was habt ihr für Compiler
ich hab den von Borlad C++ Builder
und Microsoft Visual C++ 2005 Exprss Edition |
GCC
Piwi hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Ja, die std::stringstreams sind cool, die verwende ich auch immer. | ich versteh nur Bahnhoff |
Wenn du gerade erst angefangen hast mit C++, dann solltest du auch besser noch warten mit der Verwendung der STL.
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528441) Verfasst am: 24.07.2006, 14:35 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Piwi hat folgendes geschrieben: | Was habt ihr für Compiler
ich hab den von Borlad C++ Builder
und Microsoft Visual C++ 2005 Exprss Edition |
GCC |
Kansst mal den Link angeben?
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528442) Verfasst am: 24.07.2006, 14:37 Titel: |
|
|
Piwi hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Piwi hat folgendes geschrieben: | Was habt ihr für Compiler
ich hab den von Borlad C++ Builder
und Microsoft Visual C++ 2005 Exprss Edition |
GCC |
Kansst mal den Link angeben?  |
Klar: http://directory.fsf.org/GNU/gcc.html
oder auch: http://gcc.gnu.org
|
|
Nach oben |
|
 |
Ragmaanir Fieser Necessitator
Anmeldungsdatum: 12.06.2005 Beiträge: 833
Wohnort: Hamburg
|
(#528447) Verfasst am: 24.07.2006, 14:44 Titel: |
|
|
Ich benutze auch den MSVC++ 2005 Express.
Ich bin grade am Umsteigen von c++ auf c#.
_________________ Dieser Post enthält die unumstößliche, objektive Wahrheit.
|
|
Nach oben |
|
 |
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528450) Verfasst am: 24.07.2006, 14:46 Titel: |
|
|
Ragmaanir hat folgendes geschrieben: | Ich benutze auch den MSVC++ 2005 Express. |
Das ist die kostenlose Variante vom Visual-C, oder?
|
|
Nach oben |
|
 |
Ragmaanir Fieser Necessitator
Anmeldungsdatum: 12.06.2005 Beiträge: 833
Wohnort: Hamburg
|
(#528453) Verfasst am: 24.07.2006, 14:48 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Ich benutze auch den MSVC++ 2005 Express. |
Das ist die kostenlose Variante vom Visual-C, oder? |
Jo.
_________________ Dieser Post enthält die unumstößliche, objektive Wahrheit.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528456) Verfasst am: 24.07.2006, 14:50 Titel: |
|
|
Ragmaanir hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Ich benutze auch den MSVC++ 2005 Express. |
Das ist die kostenlose Variante vom Visual-C, oder? |
Jo. |
Und gibt es da irgendwelche Beschränkungen im (Kommandozeilen-)Compiler cl, z.B. dass Microsoft Code-Optimierungen abgeschaltet hat oder sowas?
|
|
Nach oben |
|
 |
Ragmaanir Fieser Necessitator
Anmeldungsdatum: 12.06.2005 Beiträge: 833
Wohnort: Hamburg
|
(#528474) Verfasst am: 24.07.2006, 15:27 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Ich benutze auch den MSVC++ 2005 Express. |
Das ist die kostenlose Variante vom Visual-C, oder? |
Jo. |
Und gibt es da irgendwelche Beschränkungen im (Kommandozeilen-)Compiler cl, z.B. dass Microsoft Code-Optimierungen abgeschaltet hat oder sowas? |
Ka
Lizenzen lese ich mir fast nie durch. Afaik gab es aber keine Beschränkung (vom Compiler her).
näheres
_________________ Dieser Post enthält die unumstößliche, objektive Wahrheit.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#528482) Verfasst am: 24.07.2006, 15:35 Titel: |
|
|
Ragmaanir hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Ragmaanir hat folgendes geschrieben: | Ich benutze auch den MSVC++ 2005 Express. |
Das ist die kostenlose Variante vom Visual-C, oder? |
Jo. |
Und gibt es da irgendwelche Beschränkungen im (Kommandozeilen-)Compiler cl, z.B. dass Microsoft Code-Optimierungen abgeschaltet hat oder sowas? |
Ka
Lizenzen lese ich mir fast nie durch. Afaik gab es aber keine Beschränkung (vom Compiler her).
näheres |
Hmm, scheinbar ist in der Express-Version tatsächlich der komplette optimierende Compiler enthalten. So wie ich das jetzt sehe, ist die einzige Beschränkung, dass bestimmte Libs nicht mitgeliefert werden, MFC beispielsweise. Sollte aber normalerweise kein Problem sein, das nachträglich noch einzubinden, wer's braucht meine ich, MFC ist sowieso Dreck.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#528598) Verfasst am: 24.07.2006, 18:39 Titel: Re: C++ |
|
|
Piwi hat folgendes geschrieben: | Jan hat folgendes geschrieben: | Piwi hat folgendes geschrieben: | Ich hab einen Int-Wert mit vielen Nachkommastellen. Von die möchte ich bis auf zwei alle abschneiten, da ist aber nix drinn, ich kann machen was ich will es sind immer wieder alle Nachkommastellen da. |
Code: | neu = int(alt*100)/100; |
Geht aber nur, wenn "alt" nicht zu groß ist. |
Ja merci vielmals.
Die Idee ist mir auch schon eingefallen, aber funzt nicht.
Es ist folgendes:
Ich hab von FREEZELL die Werte gewonnen (meinetwegen 9054), verloren (meinetwegen 1158), und die Prozent (daraus 89%) .
Daraus möchte ich errechenen wie viele Spiele ich in Folge gewinnen muß um (in halben prozentschritten) auf 89.5% zu kommen. Also muß ich auf eine nachkommastelle abrunden und mit diesem Wert weiterrechnen, das hab ich nicht hingebracht, es sind immer wieder alle nachkommastellen da. |
Also wenn du wie im o.g. Beispiel nach int wandelst und durch 100 teilst, kannst du nicht mehr als 2 Nachkommastellen kriegen. Vielleich postest du mal, was du ausprobiert hast, das könnte uns weiterhelfen.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#528602) Verfasst am: 24.07.2006, 18:41 Titel: Re: C++ |
|
|
Piwi hat folgendes geschrieben: |
Derzeit möchte ich eine Logfileanalyse erstellen. Da hab ich das Problem einen Ordner angeben zu müssen in dem alle Dateien (Logfiles) einzulesen sind. Und das scheiß ding krieg ich nicht hin.
|
Sorry, aber da müsstest du dich genauer äußern. Was genau willst du machen - Dateien einlesen, die in einem bestimmten Ordner sind?
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528624) Verfasst am: 24.07.2006, 19:04 Titel: Re: C++ |
|
|
Rene Hartmann hat folgendes geschrieben: | Piwi hat folgendes geschrieben: |
Derzeit möchte ich eine Logfileanalyse erstellen. Da hab ich das Problem einen Ordner angeben zu müssen in dem alle Dateien (Logfiles) einzulesen sind. Und das scheiß ding krieg ich nicht hin.
|
Sorry, aber da müsstest du dich genauer äußern. Was genau willst du machen - Dateien einlesen, die in einem bestimmten Ordner sind? |
Ja alle mit einer bstimmten Endung.
Du brauchst es mir nicht unbedingt mit allen Details erklären. Ich müßte nur wissen unter welchem Stichwort ich in meinen Büchern nachschauen muß. Über Dateien Einlesen steht da nix drinn.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#528627) Verfasst am: 24.07.2006, 19:08 Titel: Re: C++ |
|
|
Piwi hat folgendes geschrieben: |
Zitat: |
Sorry, aber da müsstest du dich genauer äußern. Was genau willst du machen - Dateien einlesen, die in einem bestimmten Ordner sind? |
Ja alle mit einer bstimmten Endung.
Du brauchst es mir nicht unbedingt mit allen Details erklären. Ich müßte nur wissen unter welchem Stichwort ich in meinen Büchern nachschauen muß. Über Dateien Einlesen steht da nix drinn. |
Ich würde mal unter "Streams" suchen.
Um das Directory zu durchsuchen, gibt es aber soweit ich weiß keine Funktion in der C++-Standardbibliothek. Da wirst du auf die entsprechende Windows- oder POSIX-Funktion zurückgreifen müssen.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
Zuletzt bearbeitet von Rene Hartmann am 24.07.2006, 19:08, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#528628) Verfasst am: 24.07.2006, 19:08 Titel: Re: C++ |
|
|
Rene Hartmann hat folgendes geschrieben: |
Also wenn du wie im o.g. Beispiel nach int wandelst und durch 100 teilst, kannst du nicht mehr als 2 Nachkommastellen kriegen. Vielleich postest du mal, was du ausprobiert hast, das könnte uns weiterhelfen. |
Ich muß das nochmal ernsthaft bearbeiten.
Das mit
Int var1 = float var2 * 100;
könnte schon helfen. Vielleicht hab ich auch blos einen blöden Tippfehler reingebracht.
Wenn ihr sagt das müßte so funtzen dann muß das auch so sein. Der Fehler liegt dann nicht in der Syntax sondern bei mir.
Sorry ich meld mich mal ab vom Dienst. Denn da sitzt ein Ungeheuer in meinem Bauch und knurrt ganz fürchterlich. Ich muß mal wieder was in meine Futterluke reinschieben.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#528642) Verfasst am: 24.07.2006, 19:16 Titel: Re: C++ |
|
|
Rene Hartmann hat folgendes geschrieben: | Piwi hat folgendes geschrieben: |
Zitat: |
Sorry, aber da müsstest du dich genauer äußern. Was genau willst du machen - Dateien einlesen, die in einem bestimmten Ordner sind? |
Ja alle mit einer bstimmten Endung.
Du brauchst es mir nicht unbedingt mit allen Details erklären. Ich müßte nur wissen unter welchem Stichwort ich in meinen Büchern nachschauen muß. Über Dateien Einlesen steht da nix drinn. |
Ich würde mal unter "Streams" suchen.
Um das Directory zu durchsuchen, gibt es aber soweit ich weiß keine Funktion in der C++-Standardbibliothek. Da wirst du auf die entsprechende Windows- oder POSIX-Funktion zurückgreifen müssen. |
Noch ein Nachtrag:
Wenn es dir wirklich nur um die Analyse von Logfiles geht und nicht darum, bei der Gelegenheit C++ zu lernen, könntest du dir die Aufgabe um einiges erleichtern, wenn du statt C++ ein Skriptsprache nimmst, z.B. Perl, Python, Ruby oder mein persönlicher Favorit Tcl/Tk.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
FLoH Mitglied bis 15.11.06
Anmeldungsdatum: 15.12.2004 Beiträge: 106
|
(#528656) Verfasst am: 24.07.2006, 19:31 Titel: |
|
|
Für Tools für den Hausgebrauch eignen sich Skriptsprachen besser, beispielsweise Perl, Python oder Ruby. Hochsprachen zu verwenden ist wie mit Kanonen auf Spatzen schießen, die sind dazu in meinen Augen einfach nicht problemnah genug (man besehe sich etwa die Verrenkungen, über einen Vektor zu iterieren).
Logfileanalyse bekommt man mit Skriptsprachen besser hin als mit C++. Ich arbeite gerade daran, eine Datenbank mit einer halben Million Datensätzen zu konvertieren, und kann dir anbetrachts meiner Erfahrungen nur um so dringender dazu raten.
edit: René war erster, aber steh ich wenigstens nicht allein auf weiter Flur, sollte sich dieser Ratschlag als dumm entpuppen.
FLoH.
|
|
Nach oben |
|
 |
Doc Extropy dauerhaft gesperrt
Anmeldungsdatum: 07.03.2006 Beiträge: 6149
|
(#528667) Verfasst am: 24.07.2006, 19:39 Titel: |
|
|
Ich würde C# nehmen. Ist unter allen heute verfügbaren Sprachen die a) einfachste und b) am wenigsten akademische (Java ist die Hölle dagegen, insbesondere dieses esoterische JSEE - Zeug).
|
|
Nach oben |
|
 |
siebenkäs dauerhaft gesperrt
Anmeldungsdatum: 23.09.2005 Beiträge: 178
|
(#528689) Verfasst am: 24.07.2006, 20:10 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Ich würde C# nehmen. Ist unter allen heute verfügbaren Sprachen die a) einfachste und b) am wenigsten akademische (Java ist die Hölle dagegen, insbesondere dieses esoterische JSEE - Zeug). |
Stimmt, C# ist im Gegensatz zu C++ auf jeden Fall besser, auch das Erlernen von C# ist nicht so häufig von Nervenzusammenbrüchen begleitet wie bei C++.
Ich nehem aber für viele Sachen Python, wegen Linux Unix, und diese Sprache ist leider, leider etwas in den Hintergrund gedrängt worden.
Aber wie schon oben geschrieben, für jedes Problem gibt es auch Sprachlösungen, nur, wer hat das Hirn so viele Programmiersprachen auch wirklich zu beherrschen.
|
|
Nach oben |
|
 |
|