tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
304
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rerl rerl ist offline Grünschnabel
    Registriert seit
    Oct 2009
    Beiträge
    4
    Hallo,
    ich bin noch ein wahrer Frischling in Sachen programmieren. Hoffe ihr könnt mir bei meinem Problem helfen. Folgendes: Ich will ein Programm schreiben, dass mir 2 Returnwerte liefert (no input -1, out of memory -2). Dachte mir, dass ich das mit #define machen könnte. Dann muss kontrolliert werden, ob bei no input text übergeben wurde und bei out of memory kein speicher mehr zur verfügung steht. Wie würde ich sowas am besten realisieren? Würds am liebsten mit so machen, dass ich zuerst mit #define die Returnwerte definiert (zb: #define NO_INPUT -1) und dann ne funktion schreib, die die unterschiedlichen CASES unterscheidet.

    #define NO_INPUT -1
    #define OUT_OF_MEMORY -2

    int main (int return)
    {
    Switch (int return)
    {
    Case NO_INPUT: Vergleich ob eingabe
    case OUT_OF MEMORY: schaun ob speicher aus is
    }
    }
    werden so auch die notwendigen returnwerte übergeben?
     

  2. #2
    Onkel Schuppig Onkel Schuppig ist offline Mitglied Gold
    Registriert seit
    Apr 2005
    Beiträge
    191
    Hallo,
    sag mal, was machst du da eigentlich? Eine eigene Programmiersprache entwickeln? Wenn es C sein soll (was es nicht ist), so macht das Programm nichts. Übersetzen wird es sich nicht lassen.
    1) Die Funktion main ist der Startpunkt des Programms und muss lauten:
    Code :
    1
    
    int main(int argc, char** argv)
    2) switch und case schreibt man klein.
    3) bei switch (int return) muss das int entfernt werden.
    4) es fehlen die break Anweisungen.
    5) main() gibt immer eine Integer-Zahl ans Betriebssystem zurück.
    Meinst du vielleicht sowas?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
    #include <iostream>
    using namespace std;
     
    // Beispielfunktion, die die Zahlen 0 und 10 "nicht mag".
    int IrgendeineFunktion(int eingabe) {
      if (eingabe == 0)
        return -1;
      else if (eingabe == 10)
        return -2;
     
      return 0;   // alles ok
    }
     
    int main( int argc, char** argv ) {
      int zahl;  // Variable für Benutzereingabe anlegen
      cout << "Gib mal 'ne Zahl ein und dann <Enter>: ";
      cin >> zahl;
     
      // rufe eine Funktion auf, die -1 oder -2 zurückliefert
      int return_value = IrgendeineFunktion( zahl );
     
      // je nach return_value handeln
      switch (return_value) {
      case 0:
        cout << "alles okay" << endl;
        break;
      case -1:
        cout << "keine Eingabe"  << endl;
        break;
      case -2:
        cout << "kein Speicher" << endl;
        break;
      default:
        cout << "unbekannter Fehler" << endl;
      }
     
      return return_value;  // Rückgabewert ans Betriebssystem weiterleiten und Programm beenden.
    }
    Geändert von Onkel Schuppig (21.11.09 um 19:11 Uhr)
     
    Grüße OS

Ähnliche Themen

  1. Mehrere Soundkarten = Mehrere nutzbare Eingänge
    Von siktuned im Forum Audiotechnik, Recording & Audio-Software
    Antworten: 2
    Letzter Beitrag: 08.10.08, 16:15
  2. Antworten: 0
    Letzter Beitrag: 03.02.08, 14:10
  3. WinRAR - mehrere Ordner - mehrere RARs
    Von Mark im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 15.02.07, 18:34
  4. Antworten: 6
    Letzter Beitrag: 10.12.04, 14:04
  5. Antworten: 1
    Letzter Beitrag: 23.06.03, 16:09