C / C++ Problem mit #define

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von weltbesiedler, 02.01.2011.

  1. #1 weltbesiedler, 02.01.2011
    weltbesiedler

    weltbesiedler 08/15 User

    Dabei seit:
    19.07.2010
    Beiträge:
    2.827
    Zustimmungen:
    0
    Ort:
    Bayern
    Code:
    #include <stdio.h>
    #define a (a)*(a)
    int main()
    {
        int a;
        a = 3;
        printf ("a hat den Wert %d", a );
        return 0;
    }
    Ich möchte das a (in diesem Fall 3) durch a*a (also 3*3) ersetzt wird. Nur irgendwie wird die printf - Zeile angestrichen.
    Dann würde ich noch gerne wissen, wie ich das Fenster so lange offen halten kann, bis ich Enter drücke oder das das Fenster erst nach z.B. 10 sec zu geht.
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Ich bin mir gerade nicht sicher ob diese "Doppelbelegung" nicht für Probleme sorgt.
    Mach mal lieber:
    #define a 3
    #define A ( a * a )

    Das sich das define auf deine Variable int a bezieht kann ich mir nicht so recht vorstellen das der Zugriff funktioniert... eine andere Möglichkeit wäre:

    #define sqr(a) ( a * a )
     
  4. #3 weltbesiedler, 02.01.2011
    weltbesiedler

    weltbesiedler 08/15 User

    Dabei seit:
    19.07.2010
    Beiträge:
    2.827
    Zustimmungen:
    0
    Ort:
    Bayern
    Ok danke erstmal nun neues Problem, wie mach ich dem PC klar, dass ich hier entweder einen Integer oder einen Float eingeben will:

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    int main() 
    {   
        int zahl;
        printf ("Welche Zahl soll multipliziert werden: \n");
        scanf ("%d", &zahl);
        printf ("Zahl hat den Wert %d. ", zahl*zahl );
        system("PAUSE");
    }
    Mit %d geht ja nur ein Integer und mit %f nur ein Float. Wie mach ich dann beides?
     
  5. Ezra

    Ezra Neuer Benutzer

    Dabei seit:
    25.08.2010
    Beiträge:
    27
    Zustimmungen:
    0
    Wenn zahl auch Gleitkommawerte annehmen kann, dann nimm generell float. Damit lassen sich doch trotzdem Ganzzahlberechnungen durchführen.
     
  6. #5 weltbesiedler, 02.01.2011
    weltbesiedler

    weltbesiedler 08/15 User

    Dabei seit:
    19.07.2010
    Beiträge:
    2.827
    Zustimmungen:
    0
    Ort:
    Bayern
    Ne klappt leider nicht:

    [​IMG]
     
  7. Lotus

    Lotus Erfahrener Benutzer

    Dabei seit:
    17.02.2007
    Beiträge:
    2.428
    Zustimmungen:
    0
    Du musst das auch umcasten:


    Code:
    #include <iostream>
    
    using namespace std;
    
    void main () {
        float zahl;
        cout << "Geben sie eine Zahl ein: "<<endl;
        cin >> zahl;
    
        
        cout << "Dies ist die Kommazahl: " << zahl << endl;
        cout << "Dies ist die Ganzzahl : " << (int) zahl << endl;
    }
     
  8. #7 weltbesiedler, 02.01.2011
    weltbesiedler

    weltbesiedler 08/15 User

    Dabei seit:
    19.07.2010
    Beiträge:
    2.827
    Zustimmungen:
    0
    Ort:
    Bayern
    Ups was sind denn das für neue Begriffe :D

    1. was ist cout
    2. was ist cin
    3. was ist endl

    :D

    In meinem Tutorial kommen die Begriffe gar nicht vor.
     
  9. Ezra

    Ezra Neuer Benutzer

    Dabei seit:
    25.08.2010
    Beiträge:
    27
    Zustimmungen:
    0
    Obiges ist C++. Lass Dich nicht verwirren.

    Was hast Du denn im Quellcode geändert? (Zeig den mal ganz)
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. #9 weltbesiedler, 02.01.2011
    weltbesiedler

    weltbesiedler 08/15 User

    Dabei seit:
    19.07.2010
    Beiträge:
    2.827
    Zustimmungen:
    0
    Ort:
    Bayern
    Code:
    #include <stdio.h>
    #include <windows.h>
    
    int main() 
    {   
        int zahl;
        printf ("Welche Zahl soll multipliziert werden: \n");
        scanf ("%f", &zahl);
        printf ("Zahl hat den Wert %f. ", zahl*zahl );
        system("PAUSE");
    }
     
  12. Ezra

    Ezra Neuer Benutzer

    Dabei seit:
    25.08.2010
    Beiträge:
    27
    Zustimmungen:
    0
    Deklariere zahl als float, nicht als int.

    Code:
    #include <stdio.h>
    #include <windows.h>
    
    int main() 
    {   
        float zahl;
        ...
    }
     
Thema: C / C++ Problem mit #define
Besucher kamen mit folgenden Suchen
  1. C Problem defines

    ,
  2. c define zahl

    ,
  3. c define funktioniert nicht

    ,
  4. problem mit #define,
  5. c define (1 &lt;&lt; 13),
  6. c define problem,
  7. define c probleme,
  8. c #define include,
  9. c #define zahl,
  10. problem defines c
Die Seite wird geladen...

C / C++ Problem mit #define - Ähnliche Themen

  1. WLan Problem

    WLan Problem: Hallo, habe ein kleines Problem mit meinem Netzwerk zu Hause. Zur Info: Internetanschluß ist nen 16.000er von ALice/O2. (Bitte nichts sagen,...
  2. Ein Problem mit Bluetooth

    Ein Problem mit Bluetooth: Hallo, ich habe exakt das Bliuetoothmodul, das in diesem Video gezeigt ist: [MEDIA] bin aber der Meinung, dass das bereits geflasht ist, denn...
  3. Domänencontroller Problem

    Domänencontroller Problem: Bekomme neuerdings immer eine Fehlermeldung in der Ereignisanzeige angezeigt: Software_Protection_Platform_Service Lizenzerwerb-Fehlerdetails....
  4. Windows Server 2012R2 Problem

    Windows Server 2012R2 Problem: Moin, wir haben das Problem, das bei Aufforderung das Benutzerpasswort zu ändern in der Windowsumgebung, die Fehlermeldung: "Das System hat...
  5. Problem mit Sims 2

    Problem mit Sims 2: Hey ich habe Sims 2 auf meinem Laptop installiert, ist schon länger her. Ich habe verschiedene Erweiterungspacks gekauft und installiert habe fast...