|
You last visited: Today at 16:20
Advertisement
einfache anfänger frage zu "cout"
Discussion on einfache anfänger frage zu "cout" within the General Coding forum part of the Coders Den category.
12/30/2006, 18:25
|
#1
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,153
|
Hi!
Habe mir das Buch "C++ in 21 Tagen" besorgt, und will das jetzt durch arbeiten 
Da C++ doch etwas anderes ist als C (was ich zumindest teils beherrsche) kann ich mir nicht besonders viel helfen.
Hier mein Problem:
(garantiert simpel aber ich packs halt nicht... :? )
wenn ich
Code:
#include <iostream.h>
schreibe (wie im Buch) so kann ich cout verwenden.
ich weiß aber, dass das ein "veralteter" standart ist.
also schreibe ich:
Code:
#include <iostream>
dann bekomme ich aber einen Compliler error:
Quote:
Originally posted by Dev-C++ beta 5
`cout' undeclared (first use this function)
|
un nu? was soll ich dann schreiben?? printf?! XD
achja: wie ist das eigentlich mit "getch(); " darf man das in C++ noch verwenden oder gibts da was anderes?
danke, gruß
----reijin----
//EDIT//
[img]text2schild.php?smilienummer=1&text=es winkt karma' border='0' alt='es winkt karma' /> (ich belohne immer wenn mir jemand hilft  )
|
|
|
12/30/2006, 19:29
|
#2
|
elite*gold: 0
Join Date: May 2005
Posts: 1,410
Received Thanks: 127
|
hhmm heist es nicht
iosteam ?? (ohne das "r")
bzw müsste das cout am anfang auch noch definiert werden
zB.:
Quote:
und ja getchar(); darf in C noch verwendet werden...
|
|
|
12/30/2006, 19:33
|
#3
|
elite*gold: 0
Join Date: May 2005
Posts: 1,410
Received Thanks: 127
|
kannst aber auch dir das mal durchlesen...
|
|
|
12/30/2006, 19:57
|
#4
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,153
|
Quote:
Originally posted by MacDan@Dec 30 2006, 19:29
und ja getchar(); darf in C noch verwendet werden...
|
ich meine in C++
und nein; es heißt "iostream" steam is was anderes XD
das mit dem definieren..
ich editiers dann rein
//EDIT//
wenn ichs vorher definiere gehts:
Code:
#include <iostream>
int main()
{
using std::cout;
cout << "hallo welt!\n";
return 0;
}
aber ich verstehe nicht, warum ich cout vorher definieren muss...
ist doch ein ganz normaler Befehl wie "printf" auch oder!?? (und printf muss man nicht definieren)
|
|
|
12/30/2006, 20:08
|
#5
|
elite*gold: 9
Join Date: Dec 2005
Posts: 621
Received Thanks: 365
|
Code:
#include <iostream>
int main()
{
using std::cout;
cout << "hallo welt!\n";
return 0;
}
hmm so würde ich das _nicht_ machen...
es geht darum dass cout ein Befehl aus der std Bibliothek ist,
du könntest es auch so schreiben:
Code:
#include <iostream>
int main()
{
std::cout << "hallo welt!" << std::endl;
std::cout << "so spreche ich direkt die Bibliothek an!! :PPP" << std::endl;
std::cout << "Wie alt bist du?" << std::endl;
std::cout << "Alter: ";
int age;
std::cin >> age; // <- Ja, auch cin braucht das :D
if(alter > 60)
std::cout << "Du bist aber alt! << std::endl;
return 0;
}
verwendet man nun using namespace std; <- das würde ich bevorzugen statt std::cout weil das dann nur für den cout Befehl gilt, so wird die Bibliothek schon eingebunden und du brauchst kein std mehr also:
Code:
#include <iostream>
using namespace std;
int main()
{
cout << "hallo welt!" << endl;
cout << "so spreche ich direkt die Bibliothek an!! :PPP" << endl;
cout << "Wie alt bist du?" << endl;
cout << "Alter: ";
int age;
cin >> age;
if(alter > 60)
cout << "Du bist aber alt! << endl;
return 0;
}
Es hat sich in C++ eingebürgert das immer an den Anfang zu schreiben
Ich hoffe die Erklärung ist soweit ok
|
|
|
12/30/2006, 20:46
|
#6
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,153
|
hum, ich glaub das hab ich kapiert klasse erklärung 
ich nehme an endl; ist endline (sowas wie \n)??
also gilt:
Code:
cout << "hallo welt!\n"; = cout << "hallo welt!" << endl;
kannst du mir vllt erklären was genau das da macht:
Code:
using namespace std;
und dann noch eine Frage:
ist das ne Funktion?? (will nur die richtige bezeichnung wissen)
danke
|
|
|
12/31/2006, 12:39
|
#7
|
elite*gold: 9
Join Date: Dec 2005
Posts: 621
Received Thanks: 365
|
Code:
ich nehme an endl; ist endline (sowas wie \n)??
richtig geraten 
gehört aber auch zu der libary also müsstest du "std::endl" schreiben falls
du kein "using namespace std;" verwendest.
Du solltest kein C++ und C vermischen also am besten kein printf und cout in der
selben applikation, das ist sehr "unschön"
Hier zu der richtigen Bezeichnung:
Quote:
Namespace - zu deutsch Namensraum kennzeichnet Einheiten die zusammengehören. zB ist die gesamt C++ Standard Library im namespace std zu finden. Namespace verhindern Namenskonflikte und teilen den Code in logische Einheiten auf. Kaum einer kennt die Standard Library wirklich auswendig. Es kann also passieren, dass man für eine Klasse einen Namen verwendet, den es bereits gibt -> das führt zu Problmen. Es muss ja auch kein Namenskonflikt mit der Standard Bibliothek sein, man kann ja auch mit anderen Bibliotheken solche Probleme bekommen.
In C verwendete man Prefixe, also statt class Integer, schrieb man class myInteger. Sowas ist aber auf dauer unbefriedigend.
Wir haben bereits Namensräume kennengelernt: using namespace std;. Dies ist eine using-Direktive, sie importiert alle Namen des Namensraumes std in den aktuellen (in unserem Fall den globalen) Namensraum. Mittels der using-Deklaration using std::cout; könnten wir nur cout importieren und alle anderen Namen unangetastet lassen.
|
Wenn du in C++ eine Konsolenapplikation programmierst würde ich dir empfehlen "endl" statt
"\n" zu verwenden weil das die entsprechende C++ Funktion ist
|
|
|
12/31/2006, 14:26
|
#8
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,153
|
Quote:
Originally posted by sd333221@Dec 31 2006, 12:39
Wenn du in C++ eine Konsolenapplikation programmierst würde ich dir empfehlen "endl" statt
"\n" zu verwenden weil das die entsprechende C++ Funktion ist
|
ist es bei Windows-applikationen anders? (mal abgesehen davon, dass ich kA hab wie ich eine Windows-app machen kann  )
Darf ich noch ein paar Fragen stellen??!
Ist es einfach nur "unschön" printf und cout in einer app zu verwenden. oder hat das Nachteile? (speed, sicherheit, what ever)
Der Befehl "getch();" mit dem man die Anwendung dazu bringt auf eine Tastatureingabe zu warten (bis es weitergeht) führt bei mir zum selben fehler:
Quote:
|
`getch' undeclared (first use this function)
|
warum denn das schon wieder?? hab ich mich vertippt?
gibts da ne andere Funktion in C++???
vielen dank
//EDIT//
POST 222!^^ jetz geb ich einen aus  :alki: :drink:
|
|
|
12/31/2006, 15:41
|
#9
|
elite*gold: 9
Join Date: Dec 2005
Posts: 621
Received Thanks: 365
|
Code:
ist es bei Windows-applikationen anders?
Da brauchst du "cout" nicht (cout = ConsoleOutput oder so  ), außerdem brauchst du da
das ganze mit dem std nicht, das ist ne Ausnahme und nur bei diesen Konsolensachen
wie: cout, cin, endl usw.
Code:
Ist es einfach nur "unschön" printf und cout in einer app zu verwenden.
Ja ich wüsste da keine Nachteile ist nur eben ein Vermischen von C++ und C
Code:
Der Befehl "getch();" mit dem man die Anwendung dazu bringt auf eine Tastatureingabe zu warten (bis es weitergeht) führt bei mir zum selben fehle
Du hasst den header wo die Funktion deklariert ist warscheinlich nicht eingebunden :-&
probier mal an den Anfang
Code:
#include <conio.h>
zu setzen ;-)
Code:
gibts da ne andere Funktion in C++???
Wenn du das brauchst um zu Verhindern dass dein Programm sich sofort wieder schließt
hat sich bei mir der Befehl
Code:
system("pause");
Eingebürgert ;-)
Würde ich dir auch zu raten den zu benutzen ist einfach schöner da dann ausgegeben wird
"drücken sie eine taste um die Applikation zu beenden" oder so :P
Guten Rutsch @ alle
|
|
|
12/31/2006, 16:11
|
#10
|
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,153
|
ok, super antwort (mal wieder) 
wie sieht das denn mit "sprung marken" aus?
also einen Punkt setzten zu dem gespungen werden kann - wie geht das?
aus BASIC kenne ich das so:
Code:
:sprung
Print "hallo!"
Print "nochmal?"
input antwort
if antowort = 1 then goto sprung
else exit
geht bestimmt auch in C++ nur wie?
auch mit Goto? (ist bestimmt etwas "unschön" oder? XD )
Oder isses besser da ne neue Funktion aufzusetzten??
danke nochmal, dass du dir soviel Ziet nimmst meine Fragen zu beantworten
Gruß, reijin
PS.: kann ich dich irgendwie noch anders Kontaktieren? Messanger oder so?
|
|
|
12/31/2006, 17:58
|
#11
|
elite*gold: 9
Join Date: Dec 2005
Posts: 621
Received Thanks: 365
|
Quote:
wie sieht das denn mit "sprung marken" aus?
also einen Punkt setzten zu dem gespungen werden kann - wie geht das?
|
Damit kann C++ leider nicht dienen :-D
"Sprung Marken" wurden durch Funktionen ersetzt, wenn man strukturiert programmiert
braucht man die eigentlich auch nicht :-)
Es gibt nur die möglichkeit mit asm ein Jump in deine Applikation einzubauen, aber ich
glaub das sprengt hier den Rahmen
Quote:
|
PS.: kann ich dich irgendwie noch anders Kontaktieren? Messanger oder so?
|
Bin eigentlich kaum per Messenger oder so erreichbar, kann jetzt aber mal Miranda (ICQ) starten,
191890952
|
|
|
12/31/2006, 18:11
|
#12
|
elite*gold: 9
Join Date: Dec 2005
Posts: 621
Received Thanks: 365
|
Sorry ich muss mich doch noch einmal berichtigen
Es geht doch noch wie gehabt:
Code:
#include <iostream>
using namespace std;
int main()
{
int i=0;
Schleife: //dies ist ein Label
cout<<i<<endl;
goto Schleife; //Sprung zum Label (Achtung hier Endlosschleife :D)
}
Ich meine aber mal iergendwo gelesen zu haben dass es nichtmehr ginge
naja
Aber ich hab das in meiner Programmierlaufbahn von mehreren Jahren noch nie in
einem Programm gesehn, also würde ich dir davon abraten dir das anzugewöhnen
|
|
|
01/01/2007, 22:01
|
#13
|
elite*gold: 0
Join Date: May 2005
Posts: 232
Received Thanks: 52
|
die einzige stelle an der man sprungmarken gescheit brauchen kann ist inline asm
|
|
|
Similar Threads
|
[AUFRUF] An alle, die von "[Aimee]", "Blck-Sellerx" & ".Ava" betrogen worden sind!
03/23/2010 - Last Chaos - 34 Replies
Hallo libe ehrlichen Member von e*PvPers!
Im LastChaos und Metin Bereich im TBM Forum soll ".Ava" mehrere Leute abgezogen haben. Nun kommen aber plötzlich Gegenstimmen in der iTrader Bewertung die positiv ausfallen von "Black-SellerX" und "" bei genauerem Hinsehen bemerkt man, dass diese 3 Forenuser sich gegenseitig immer wieder positiv bewerten, dennnoch werden diese von vielen Usern negativ bewertet. Von "" wurde ich selber betrogen, daher mein Interesse.
Deshalb vermute ich, dass hinter...
|
All times are GMT +1. The time now is 16:20.
|
|