[C++] Wie werfe ich Fehlermeldungen?

HCI

Grünschnabel
Hallo, und wieder ein Porblem: :-(
Ich möchte gerne ein Programm schreiben welches mit if then else arbeitet.
Dabei möchte ich dass das Porgramm nach der else eine Fehlermeldung auf dem Bildschirm ausgibt.

Bsp: if n>0 then n++ else "n ist kleiner 0"

Wie mache ich das, ich hab hier im Forum danach gesucht, aber bisher noch nichts gefunden.

Gruss HCI
 
Hallo,

in dem else-Zweig kannst Du den Fehler entweder mit cout (C++) oder printf (C) auf die Konsole schreiben lassen. Für eine Windows-Anwendung würde ich Dir die MessageBox als API-Funktion empfehlen, die einen Fehlerdialog anzeigt - auf anderen Fenstersystemen kann die Methode anders heißen (Gtk+, KDE...)

Eine dritte und meiner Meinung nach sinnvollste Möglichkeit wäre, dass Du eine Exception auslöst und diese dann mit einem try-/catch-Block behandelst.
 
also wenn ich das mache, dann meldet DEV C++ das bei else irgendwas mit parse ist.
mein Programm:

Code:
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <cmath>
#include <stdio.h>
using namespace std;

int main(int argc, char *argv[])
{ double Fib_n,n,formel1,formel2,Pow1,Pow2,Konst;
  //Gebe n ein
  cout << "n = ";
  cin >> n;
  //Berechne ersten Teil der Formel
  formel1 = (1.0+sqrt(5.0))/2.0;
  //Brechne zweiten Teil der Formel
  formel2 = (1.0-sqrt(5.0))/2.0;
  //Berechne Pow von formel1
  Pow1 = pow(formel1,n);
  //Berechne Pow von formel2
  Pow2 = pow(formel2,n);
  //Berechne Konstante
  Konst = 1.0/sqrt(5.0);
  
if (n>46)

    //Berechne n-te Fibonacci Zahl
    Fib_n = Konst*Pow1 - Konst*Pow2;
    cout << "F = " << Fib_n << endl;

 else cout << "n ist nciht kleiner als 46" << endl;

  system("PAUSE");	
  return 0;
}

wo könnte der fehler liegen? habe ich das if und else falsch gesetzt?
 
Mehrere Anweisungen musst du mit { } zusammenfassen, also:

Code:
if (n>46) {
    //Berechne n-te Fibonacci Zahl
    Fib_n = Konst*Pow1 - Konst*Pow2;
    cout << "F = " << Fib_n << endl;
}  else cout << "n ist nciht kleiner als 46" << endl;
 
Zurück