define if else



  • #define wenn if
    

    mfg hohesC



  • #define if wenn
    #define else sonst
    using namespace std;
    
    //---------------------------------------------------------------------------
    
    #pragma argsused
    int main(int argc, char* argv[])
    {
     int a=4;
     int b=3;
     wenn(a<b)
      cout<<"hallo";
     sonst
      cout<<"nee";
     getch();
            return 0;
    }
    

    Fehler:
    Aufruf der undefinierten Funktion wenn
    UNdefiniertes Symbol sonst

    was mach ich falsch??[/quote]

    würd ich mal sagen, das #define is verkehrt rum!
    Dreh mal wenn und if um!

    [Edit]zu spät 🙄



  • //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #include <iostream>
    #include <conio>
    #include <string>
    #define wenn if
    #define sonst else
    #define ganzzahl int
    #define wort string
    #define sage cout
    #define warteauftastendruck getch()
    #define gebezurueck return
    #define hauptprogramm main
    
    using namespace std;
    
    //---------------------------------------------------------------------------
    
    #pragma argsused
    ganzzahl hauptprogramm(int argc, char* argv[])
    {
     ganzzahl a=4;
     ganzzahl b=3;
     wenn (a<b)
      sage<<"hallo";
     sonst
      sage<<"nee";
     warteauftastendruck;
            gebezurueck 0;
    }
    //---------------------------------------------------------------------------
    

    nur für die, die sagen C++ w#re kryptisch..... 😉



  • würde das zu weit gehen?

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #include <iostream>
    #include <conio>
    #include <string>
    #define wenn if
    #define sonst else
    #define ganzzahl int
    #define wort string
    #define sage cout
    #define warteauftastendruck getch()
    #define gebezurueck return
    #define hauptprogramm main
    #define zeigeraufanfangeineszeichenarrays char*
    #define benutze using
    #define namensraum namespace
    #define standardnamensraum std
    #define argumentanzahl argc
    #define START {
    #define STOP }
    #define das <<
    #define ist =
    #define kleiner_als <
    
    benutze namensraum standardnamensraum;
    
    //---------------------------------------------------------------------------
    
    #pragma argsused
    ganzzahl hauptprogramm(ganzzahl argumentanzahl, zeigeraufanfangeineszeichenarrays argv[])
    START
     ganzzahl a ist 4;
     ganzzahl b ist 3;
     wenn (a kleiner_als b)
      sage das "hallo";
     sonst
      sage das "nee";
     warteauftastendruck;
            gebezurueck 0;
    STOP
    //---------------------------------------------------------------------------
    

  • Mod

    noch nicht weit genug

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #include <iostream>
    #include <conio>
    #include <string>
    #define wenn if
    #define sonst else
    #define ganzzahl int
    #define wort string
    #define sage cout
    #define warteauftastendruck getch()
    #define gebezurueck return
    #define hauptprogramm main
    #define zeigeraufanfangeineszeichenarrays char*
    #define benutze using
    #define namensraum namespace
    #define standardnamensraum std
    #define argumentanzahl argc
    #define START {
    #define STOP }
    #define das <<
    #define ist =
    #define kleiner_als <
    
    benutze namensraum standardnamensraum;
    
    //---------------------------------------------------------------------------
    
    #pragma argsused
    #define MACH ganzzahl hauptprogramm(ganzzahl argumentanzahl, \ 
    zeigeraufanfangeineszeichenarrays argv[]) \
    START \
     ganzzahl a ist 4; \
     ganzzahl b ist 3; \
     wenn (a kleiner_als b) \
      sage das "hallo"; \
     sonst \
      sage das "nee"; \
     warteauftastendruck; \
            gebezurueck 0; \
    STOP
    //---------------------------------------------------------------------------
    
    MACH
    


  • so viele n00bs auf einem Haufen, dass geht nämlich so:

    #include <iostream>
    #define nOObs int main(int argc, char **argv){std::cout<<"uebelste noobs hier" << std::endl;return (0);}
    
    nOObs
    

    mfg hohesC 😉



  • hm...ich werde mal ein großes prog von mir, komplett definen, rofl!
    Mal sehen wie das dann aussieht, und obs noch funzt! 🙂



  • Immer wieder sehe ich in diesem Forum die folgenden zwei Zeilen:

    #pragma argsused 
    int main(int argc, char* argv[])
    

    Da stellen sich mir immer folgende Fragen:
    Weiß der Schreiber überhaupt, was das bedeutet oder ist das einfach nur Copy&Paste-Programmierung? Und falls letzteres zutrifft, woher kommt dieses Code-Schnipsel? Liefert der Autor der Original-Quelle eine Begründung dafür, dass er die Warnung abschaltet?

    2. Warum behebt der Schreibe nicht das zugrundliegende Problem statt dem Compiler zu verbieten die Symptome auszusprechen?
    Anders: Wenn ich ein Programm schreibe, dass keine Kommandozeilenargumente benötigt, warum definiere ich main dann nicht einfach als:

    int main() {
    ...
    }
    

    Das ist doch sinnvoller als erst die Argumente explizit zu verlangen, diese dann aber zu ignorieren und oben drauf dem Compiler noch das Maul zu verbieten.

    Oder als Kurztipp: Der Compiler ist dein Freund. Seine Warnungen sind gut gemeint und sollten nicht ohne weiteres ignoriert werden. Wenn dich dein Compiler vor einem Problem warnt sollte der erste Schritt die Lösung des Problems, nicht die Abschaltung der Warnung sein.



  • Ich für meinen Teil bevorzuge:

    #define _k ::Klasse
    quasi anstelle das ewige ::class nur _anfangsbuchstaben 🙂

    und noch en (auch wenn ich Java SO nich mag)
    #define extends :public

    --> class B extends A { };

    bei .h
    void test();

    bei .cpp
    void _k test() { }



  • HumeSikkins schrieb:

    Immer wieder sehe ich in diesem Forum die folgenden zwei Zeilen:

    #pragma argsused 
    int main(int argc, char* argv[])
    

    Da stellen sich mir immer folgende Fragen:
    Weiß der Schreiber überhaupt, was das bedeutet oder ist das einfach nur Copy&Paste-Programmierung? Und falls letzteres zutrifft, woher kommt dieses Code-Schnipsel? Liefert der Autor der Original-Quelle eine Begründung dafür, dass er die Warnung abschaltet?

    2. Warum behebt der Schreibe nicht das zugrundliegende Problem statt dem Compiler zu verbieten die Symptome auszusprechen?
    Anders: Wenn ich ein Programm schreibe, dass keine Kommandozeilenargumente benötigt, warum definiere ich main dann nicht einfach als:

    int main() {
    ...
    }
    

    Das ist doch sinnvoller als erst die Argumente explizit zu verlangen, diese dann aber zu ignorieren und oben drauf dem Compiler noch das Maul zu verbieten.

    Oder als Kurztipp: Der Compiler ist dein Freund. Seine Warnungen sind gut gemeint und sollten nicht ohne weiteres ignoriert werden. Wenn dich dein Compiler vor einem Problem warnt sollte der erste Schritt die Lösung des Problems, nicht die Abschaltung der Warnung sein.

    Hmm...also das ist Borland (weiß nich wo noch), und eine Warnung bringt der nich!
    oder was meinst jetzt?

    UNd ich baue in mein Programm mindestens immer ein argument als "cheat" ein...wo ich mehr infos etc bekomme!



  • @5er1al
    Lies mal nach, was #pragma argsused macht. Schau dir dann den Thread nochmal genau an. Dann solltest du meinen Beitrag eigentlich verstehen.



  • yupp hast recht! 🙂


Anmelden zum Antworten