M
Maik
Wie viele Dateien sind das?
[...] Schau ich mir mal an.
Wenn du dir's runterlädst und anschaust, siehst du doch, wieviele Dateien enthalten sind :suspekt:
mfg Maik
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Wie viele Dateien sind das?
[...] Schau ich mir mal an.
Wie meinst du das genau? In dem Ordner befinden sich doch nur code-relevante Dateien.Erstmal solltest du vorher das Projekt bereinigen bevor du etwas hochlädst. Ich weiß nicht wie virenverseucht dein Rechner ist und werd mit Sicherheit kein Programm ausführen was ich mal eben schnell irgendwo runtergeladen hab...
Danke für die anschauliche Erklärung. Mir ist das Problem jetzt bewusst. Allerdings verstehe ich nicht so ganz, wie und wo ich die Zeile nun komplett einlesen sollte.Du mußt also die Zeile entweder komplett einlesen (was evtl. schöner wäre, da eine Zeile wie "34asdfksd" eben keine korrekte Eingabe ist), oder du ignorierst das bisher eingegebene mit cin.sync() bevor du die nächste Eingabe ausliest.
Werde ich für die Zukunft berücksichtigen.Übrigens, es ist keine gute Idee Umlaute in Dateinamen zu verwenden. Dadurch funktioniert der Debugger nicht.
Diese Variante habe ich hier her: C++ UmlauteUnd warum machst du denn diese komischen " \b" Ausgaben?
Komisch, ich kann das alles kompilieren und bekomme keine Warnungen. Ich benutze MinGW als Compiler und als IDE Code::Blocks.PS: Die ganzen Warnungsmeldungen scheinen dich auch nicht zu irritieren. Ein '.' ist kein gültiges Zeichen für einen Makrobezeichner. Und du hast überall vergessen cstdlib einzubinden (dein Code konnte nicht kompiliert werden).
Du sagtest doch selber das da eine .exe mit drin ist. Die außerdem noch 760KB groß ist, was eine Verschwendung von Zeit un Resourcen ist, da die .exe sowieso keiner ausführt.Guten Abend Deepthroat,
zu erst einmal vielen Dank für deine Zeit und Bemühungen! Ich finde deine Kritik angemessen und möchte sie mir zu Herzen nehmen, weshalb ich einige Fragen habe, um für das nächste Mal besser/sauberer zu arbeiten:
Wie meinst du das genau? In dem Ordner befinden sich doch nur code-relevante Dateien.
Statt soetwas wieDanke für die anschauliche Erklärung. Mir ist das Problem jetzt bewusst. Allerdings verstehe ich nicht so ganz, wie und wo ich die Zeile nun komplett einlesen sollte.
int x;
if (cin >> x) {
...
}
Ich habe bemerkt das der GCC merkwürdigerweise \xNNNN Escapesequenzen verarbeitet. Ich würde einfach die okt. Sequenzen verwenden. (\xe1 => \341)Diese Variante habe ich hier her: C++ Umlaute
Komisch, ich kann das alles kompilieren und bekomme keine Warnungen. Ich benutze MinGW als Compiler und als IDE Code::Blocks.
C:\temp\gdgz_\Wuerfel\draw_equals.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_equals.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_raute.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_raute.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_stars.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_stars.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_tilde.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_tilde.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\filename.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\filename.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\intro.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\intro.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_equals.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_equals.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\layout_c.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\layout_c.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\layout_m.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\layout_m.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\layout_m.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\layout_m.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\layout_c.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\layout_c.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\start.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\start.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\start_c.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\start_c.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\filename.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\filename.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process_c.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process_c.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\intro.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\intro.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\size_ms.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\size_ms.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process_ml.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process_ml.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process_cl.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process_cl.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_raute.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_raute.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_stars.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_stars.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\draw_tilde.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\draw_tilde.h|2|Warnung: Whitespace hinter Makroname fehlt|
C:\temp\gdgz_\Wuerfel\process_c.h|1|Warnung: mehrere Token am Ende der Direktive #ifndef|
C:\temp\gdgz_\Wuerfel\process_c.h|2|Warnung: Whitespace hinter Makroname fehlt|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings ===|
g++ --version
g++ (GCC) 4.4.0
int x;
if (cin >> x) {
...
}
#include <iostream>
#include <limits>
#include <string>
#include "start.h"
using namespace std;
unsigned long int start()
{
bool check=false;
unsigned long int temp=0;
do
{
cout<<"Wie oft soll geworfen werden: ";
//cin>>temp;
getline(cin,temp);
if(!cin)
{
cerr<<"Falsche Eingabe\a\n";
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
}
else
{
check=true;
}
}while(check==false);
return temp;
}
getline funktioniert nur mit Strings.ich möchte gerne Deepthroats Ansatz befolgen und Konstrukte wie:
Code:int x; if (cin >> x) { ... }
in getline einlesen. Allerdings funktioniert das bei mir nicht wirklich:
string line;
int x;
if (getline(cin, line)) {
istringstream input(line);
if (input >> x) {
if (input.peek() == EOF) {
// OK...
} else {
// Fehlerhafte Eingabe
}
} else {
if (input.eof()) {
// Eingabe zu kurz
} else if (!input.bad()) {
// fail(). falsches Format
} else {
// schwerer Fehler.
}
}
}
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string line;
int x;
cout<<"Enter something: "<<endl;
cin>>line;
if (getline(cin, line))
{
istringstream input(line);
if (input >> x)
if (input.peek() == EOF) {
// OK...
} else {
// Fehlerhafte Eingabe
}
}
else {
if (input.eof()) {
// Eingabe zu kurz
} else if (!input.bad()) {
// fail(). falsches Format
} else {
// schwerer Fehler.
}
}
return 0;
}
char file[1000];
cin >> file;
Nein.Wieso nicht einfach:
Das müsste doch die ganze Zeile nehmenCode:char file[1000]; cin >> file;