Forum
Tipps
News
Menu-Icon

Suche einen passenden Datenty der Operatoren speichern kann

Hallo :)

Folgendes:

Zitat

"DATENTYP" a;

.....
scanf("%d", &a);
......

If(a==+)

,,,
Rest ist glaube nicht wichtig :)
Also ich suche einen Datentyp der z. B. ein + speichern kann. Bisher habe ich eigentlich immer nur mit dem Datenty "int" zu tun gehabt(der aber leider nur Zahlen speichern kann ) Aber jetzt will ich in kleines Proramm schreiben wozu ich  verschiedene Operatoren in eine variable einspeichern muss, aber ich habe keinen Datentyp in C gefunde der das kann. In dem Tutorial womit ich mich beschäftige werde ich auch nicht schlau  :-\
kann mir einer Helfen ? :)      
« Letzte Änderung: 27.04.10, 08:57:52 von HUSd »

Antworten zu Suche einen passenden Datenty der Operatoren speichern kann:

Kleine Anmerkung:
Auch Zeichen sind Zahlen also wär's durchaus vorstellbar ein + als Zahl zu speichern (passiert am ende ja eh, ob das ding nu char oder käsebrot oder so heisst ist egal.)

Vergleich wäre in deinem fall:
if(cA == '+') // Auch hier vergleichst du auf ein Zeichen nicht auf den Operator. 

Danke :)

Mein Quelltext ist zwar noch nicht fertig, aber bis jetzt sieht er wie folgt aus:

Zitat
#include <stdio.h>
int main()
{
int Zahl1;
int Zahl2;
char Operator;

int a=Zahl1+Zahl2;



    printf("Berechnung zweier Zahlen\n\n");
    printf("Zahl_1:");
    scanf("%d",&Zahl1);

    printf("\n");

    printf("Operator:");
    scanf("%s", &Operator);

    printf("\n");
    printf("Zahl_2:");
    scanf("%d",&Zahl2);

    if (Operator=='+')
    {
        printf("%d", a);
    }



}

Nur leider ist das Ergebnis am ende immer falsch  :-\
Wenn ich z. B. 1 mit 1 addiere kommt eine 11-Stellige negative Zahl heraus  ??? Hmm...

Achja..und ich habe jetzt bei der zweite scanf funktion "%s" und nicht "%c" verwendet, dass sollte aber auch gehen, oder ? (Habe jetzt eine Tabelle gefunden wo verschiedene Formatelemente aufgelistet sind! Als ich nemlich das alles mit "%c" versucht habe, wirde die zweite scanf funktion im Programm irgendwie garnicht benutzt , also es kamm keine Eingabeaufforderung hinter "Operator:"  :-\  
« Letzte Änderung: 27.04.10, 16:36:13 von HUSd »

Das kommt daher, weil du die Zahlen addierst, bevor du sie einliest. Da nimmt er dann halt irgendwas und addiert das.
Also oben die Variable nur deklarieren:

int a;
und unten an der richtigen Stelle* die Rechnung ausführen
a = Zahl1 + Zahl2;

*) Die findest du sicher allein

Perfekt! :)
Dank dir ;)


« Anfänger Programmieren!!!Script: Textdokumente uploaden »
 

Fremdwörter? Erklärungen im Lexikon!
Alphanumerische Zeichen
Alphanumerische Zeichen: Damit sind bestimmte Zeichenkombinationen gemeint, die aus Zahlen und einigen Buchstaben bestehen können. Während die Zeichenfolge "123...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...


Versteckter Taschenrechner in der Windows Suche!