C++ Anfänger problem

Gast #2161744
Huhu
ich habe ein kleines Problem bei einem (vermutlich) relativ simplen C++ 
Programm.

# include <iostream>
# include <stdio.h>
# include <math.h>

using namespace std;

int main ()
{
  system ("PAUSE");
  double x;
  double y;






  cout << "Bitte Radikant eingeben: " << endl;
  cin >> x;
  do
  {
    y=x-0.000001;
    while ( (y*y-x)/x >= 0.000001);
  }



  cout << "Wurzel: " << (0.5*(sqrt(y)+(x/(sqrt(y))))) << endl;



  system ("PAUSE");









  return 0;
}



Fehlermeldung:
error C2061: Syntaxfehler: Bezeichner 'cout'


Ich weiß wirklich nicht was das Programm damit meint ...
und meine do while schleife funktioniert auch nicht -.-
wäre echt nett wenn mir hier jemand weiter helfen kann
vielen dank schonmal
Gast #2161773
Krabs schrieb:
> Fehlermeldung:
> error C2061: Syntaxfehler: Bezeichner 'cout'
> Ich weiß wirklich nicht was das Programm damit meint ...

Es meint damit, daß der Name cout ihm unbekannt ist. Das liegt daran, 
daß cout im Namespace std definiert ist. Du mußt std::cout schreiben. 
Gleiches gilt für cin und endl.

> und meine do while schleife funktioniert auch nicht -.-

Zum einen steht das while innerhalb der Schleife (es müßte nach der 
schließenden geschweiften Klammer stehen), zum anderen wird diese 
Schleife je nach dem vorher eingegebenen Wert entweder genau einmal oder 
für immer durchlaufen. Es wird schließlich innerhalb der Schleife nichts 
weiter getan, als daß y immer wieder derselbe Wert zugewiesen wird.
#2161777
sieht eigentlich gut aus.
cout sollte in der iostream deklariert werden und im Namespace std 
liegen, den du korrekt importierst.
bist du sicher, dass du die richtige Datei compilierst, oder die Datei 
gespeichert hast?

was benutzt du denn für eine IDE und compiler?

das nächste mal benutze bitte c-Tags
1
[c]
2

3
[/c]



außerdem:
system-Aufrufe sind nicht schön.

gleiches kannst du erreichen durch
1
char c;
2
cin >> c;
schmeiße am besten die stdio und die system-Aufrufe raus.
Daran wirds aber nicht liegen
Gast #2161778
1) Bring Dein Profgramm in eine vernünftige Form! So will das niemand 
lesen.
2) Beim Posten Code-Tags benutzen!
3) Die Fehlermeldung enthält sicher auch eine Zeilennummer? Der Fehler 
liegt in der Zeile davor.

Meine Glaskugel meint:
1
cout << "Wurzel: " << (0.5*(sqrt(y)+(x/(sqrt(y))))) << endl;
ist die Zeile, die angemeckert wird. Wie gesagt, der Fehler liegt in der 
Zeile davor.
#2161789
Krabs schrieb:
> do
>   {
>     y=x-0.000001;
>     while ( (y*y-x)/x >= 0.000001);
>   }

das stück ist auf jeden fall falsch:

das while muss hinter die schließende geschweifte klammer
1
do
2
{
3
  y=x-0.000001;
4
}  while ( (y*y-x)/x >= 0.000001);
außerdem hast du hier eine Endlosschleife, in der y immer neu berechnet 
wird, sich aber nix an den zugehörigen Termen ändert, folglich aber auch 
die Abbruchbedingung nie erfüllt wird, wenn sie nicht schon beim ersten 
Test erfüllt ist


edit:
ich hab die Fehlermeldung vorhin als "unbekannter Bezeichner" 
interpretiert.
Tatsächlich beschwert er sich aber daraüber, dass er ein cout anstelle 
des whiles findet.
Das innere While funktioniert, weil es in dieser Form als While-schleife 
mit leerem Body (nur Semikolon) interpretiert wird.
Gast #2161808
Stand doch eindeutig da: "Syntaxfehler:"
Und
1
do { ... } cout ...
ist nunmal kein gültiges C-Konstrukt, weshalb der Compiler zu Recht beim 
Auftauchen von "cout" rummeckert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.