Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit mehrere Eingabe Aufforderungen (cin)

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
02.08.2007, 19:10 Uhr
CppEinsteiger



Hi
Wie mein Name schon verrät bin ich ein C++ Einsteiger, ich hab grad ein Buch zuende gelesen (C++ Programmieren mit leichten Beispielen von Dirk Louis) und wollte jetzt ein Programm zur übung erstellen.

Und zwar: Ein programm das html seiten erstellt (mit cin eingabe damit man auch entscheiden kann was man da eingibt).

Der Quell text sieht so aus: (Meine eigentl. Frage ist ganz unten ^^)


C++:
// HTML.cpp - HTML-Seiten erstellen
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
ofstream dat_aus;
string dateiname;
cout << "Enter the name of the file (with .html!): ";
cin >> dateiname;
cout << endl;

string html1 = "<html>";
string head1 = "<head>";
string title1 = "<title>";
string title2 = "</title>";
string head2 = "</head>";
string body1 = "<body>";
string body2 = "</body>";
string html2 = "</html>";
string header1 = "<h1>";
string headername;
string header2 = "</h2>";
string image1 = "<img src=\"";
string imageurl;
string image2 = "\">";
string link1 = "<a href=\"";
string linkurl;
string link2 = "\">";
string linkname;
string link3 = "</a>";
string commentpic;
string comment;
string br = "<br>";

string titlename;
cout << "Choose a Title for your page! (will be displayed in the task bar):" << endl;
cin >> titlename;
cout << endl;

cout << "Choose a header for your page! (at the top of your page):" << endl;
cin >> headername;
cout << endl;

cout << "Choose a pic for your page! (You must enter the URL/link!):" << endl;
cin >> imageurl;
cout << endl;

cout << "Comment your pic!" << endl;
cin >> commentpic;

cout << "Your body text! Enter what you want! ^^";
cin >> comment;
cout << endl;

cout << "Enter a link in your page! (You must enter the url/link):" << endl;
cin >> linkurl;
cout << endl;

cout << "Enter the link name! (That what you will click on):" << endl;
cin >> linkname;
cout << endl;


dat_aus.open(dateiname.c_str(), ios_base::out);

if(!dat_aus)
{
   cout << "Die Datei konnte nicht geöffnet werden!";
   cout << endl;
   return -1;
}

// Verschiedene Daten zum Testen in die Datei
// schreiben

dat_aus << html1 << endl;
dat_aus << head1 << endl;
dat_aus << title1 << endl;
dat_aus << titlename << endl;
dat_aus << title2 << endl;
dat_aus << head2 << endl;
dat_aus << body1 << endl;

dat_aus << header1 << endl;
dat_aus << headername << endl;
dat_aus << header2 << endl;
dat_aus << br << endl;
dat_aus << br << endl;

dat_aus << image1 << endl;
dat_aus << imageurl << endl;
dat_aus << image2 << endl;
dat_aus << br << endl;
dat_aus << commentpic << endl;
dat_aus << br << endl;
dat_aus << br << endl;

dat_aus << comment << endl;
dat_aus << br << endl;
dat_aus << br << endl;

dat_aus << link1 << endl;
dat_aus << linkurl << endl;
dat_aus << link2 << endl;
dat_aus << linkname << endl;
dat_aus << link3 << endl;


dat_aus << body2 << endl;
dat_aus << html2 << endl;

dat_aus.close();

return 0;
}



Das is ja alles schön und gut, nur hab ich jetzt die Frage: wenn ich bei der ersten cin Eingabe (cin >> dateiname; ) zum Beispiel 2 Leerzeichen eingebe, überspringt das Programm die nächsten 2 Eingaben. Wie kann ich das verhindern? (in diesem Fall wären das
cin >> titlename und
cin >> headername)

Ich bedanke mich schon im voraus!
~CppEinsteiger

Dieser Post wurde am 02.08.2007 um 19:14 Uhr von CppEinsteiger editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.08.2007, 21:05 Uhr
mischa
Fragender


Ich machs immer mit getline(std::cin,buf);
Weiß net ob das elegant ist oder ob es was beseres gibt.
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.08.2007, 21:20 Uhr
CppEinsteiger



Danke, das hat sehr geholfen! Ob die Lösung elegant ist? Da hab leider keine Ahnung, aber jetzt funktionierts, das ist das einzig wichtige!!! Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: