TAschenrechner in C erstellen
Hallo
Ich lerne grade sie Progrmaiersprache C
und ich wollte als übung einen TAschenrechner erstellen doch leider funk das ganze nicht so richtig die erste Anwendung geht nur leider spring es nicht automatisch zur nächsten if anweisung weiter wenn die erste nicht zutrift
/* Taschenrechner versuch*/
#include <stdio.h>
int a,b,c,d,e,f,x;
int main(void)
{
printf("Wenn sie eine multiplikation duchführen wollen wählen sie 1:\n");
printf("Wenn sie eine adition duchführen wollen wählen sie 2:\n");
printf("Wenn sie eine subtraktion duchführen wollen wählen sie 3:\n");
scanf("%d", &x);
if(x==1)
printf("Gbeben Sie den 1 Multiplikato ein: %d", a);
scanf("%d", &a);
printf("Gbeben Sie den 2 Multiplikato ein %d", b);
scanf("%d", &b);
c = a*b;
printf("\nDas Ergebins ist %d\n", c);
if(x==2)
printf("Gbeben Sie den ersten Sumanten ein: %d", c);
scanf("%d", &c);
printf("Gbeben Sie den zweiten Sumanten ein %d", d);
scanf("%d", &d);
e = c+d;
printf("\nDas Ergebins ist %d\n", e);
return 0;
}
Ich lerne grade sie Progrmaiersprache C
und ich wollte als übung einen TAschenrechner erstellen doch leider funk das ganze nicht so richtig die erste Anwendung geht nur leider spring es nicht automatisch zur nächsten if anweisung weiter wenn die erste nicht zutrift
/* Taschenrechner versuch*/
#include <stdio.h>
int a,b,c,d,e,f,x;
int main(void)
{
printf("Wenn sie eine multiplikation duchführen wollen wählen sie 1:\n");
printf("Wenn sie eine adition duchführen wollen wählen sie 2:\n");
printf("Wenn sie eine subtraktion duchführen wollen wählen sie 3:\n");
scanf("%d", &x);
if(x==1)
printf("Gbeben Sie den 1 Multiplikato ein: %d", a);
scanf("%d", &a);
printf("Gbeben Sie den 2 Multiplikato ein %d", b);
scanf("%d", &b);
c = a*b;
printf("\nDas Ergebins ist %d\n", c);
if(x==2)
printf("Gbeben Sie den ersten Sumanten ein: %d", c);
scanf("%d", &c);
printf("Gbeben Sie den zweiten Sumanten ein %d", d);
scanf("%d", &d);
e = c+d;
printf("\nDas Ergebins ist %d\n", e);
return 0;
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136427
Url: https://administrator.de/contentid/136427
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo
du hast einfach die "else" bedineung vergessen... in deinen obrigen Bsp wäre das dann so:
du hast einfach die "else" bedineung vergessen... in deinen obrigen Bsp wäre das dann so:
#include <stdio.h>
int a,b,c,d,e,f,x;
int main(void)
{
printf("Wenn sie eine multiplikation duchführen wollen wählen sie 1:\n");
printf("Wenn sie eine adition duchführen wollen wählen sie 2:\n");
printf("Wenn sie eine subtraktion duchführen wollen wählen sie 3:\n");
scanf("%d", &x);
if(x==1)
{
printf("Gbeben Sie den 1 Multiplikato ein: %d", a);
scanf("%d", &a);
printf("Gbeben Sie den 2 Multiplikato ein %d", b);
scanf("%d", &b);
c = a*b;
printf("\nDas Ergebins ist %d\n", c);
}
else
{
if(x==2)
printf("Gbeben Sie den ersten Sumanten ein: %d", c);
scanf("%d", &c);
printf("Gbeben Sie den zweiten Sumanten ein %d", d);
scanf("%d", &d);
e = c+d;
printf("\nDas Ergebins ist %d\n", e);
return 0;
}
}
Hallo xmax67821!
Damit die If-Anweisung auch weiß was sie machen soll wenn der Vergleich True ergibt, mußt Du die restlichen Anweisungen in spitze Klammern setzen:
Wenn Du mehrere Auswahlpunkte hast, dann empfielt sich entweder ein Elseif oder besser eine Case-Anweisung (siehe Hilfe)
Gruß Dieter
PS. Da war wohl jemand schneller
Damit die If-Anweisung auch weiß was sie machen soll wenn der Vergleich True ergibt, mußt Du die restlichen Anweisungen in spitze Klammern setzen:
If (x==1) {
....
....
}
Wenn Du mehrere Auswahlpunkte hast, dann empfielt sich entweder ein Elseif oder besser eine Case-Anweisung (siehe Hilfe)
Gruß Dieter
PS. Da war wohl jemand schneller
Hi !
"case" Ist mir auch durch den Kopf gegangen, da ich aber nicht so der C-Crack (bzw. nicht so viel Erfahrung mit C/++ habe) bin, hatte ich mich nicht wirklich getraut zu antworten...
Also mit "if" macht das so sicherlich niemand, wenn es mehrere (viele) Kriterien sind. Ich mache das unter Delphi auch mit "case". Also wenn schon lernen dann richtig, von daher natürlich Dieter zustimm!
mrtux
Zitat von @76109:
Wenn Du mehrere Auswahlpunkte hast, dann empfielt sich entweder ein Elseif oder besser eine Case-Anweisung (siehe Hilfe)
Wenn Du mehrere Auswahlpunkte hast, dann empfielt sich entweder ein Elseif oder besser eine Case-Anweisung (siehe Hilfe)
"case" Ist mir auch durch den Kopf gegangen, da ich aber nicht so der C-Crack (bzw. nicht so viel Erfahrung mit C/++ habe) bin, hatte ich mich nicht wirklich getraut zu antworten...
Also mit "if" macht das so sicherlich niemand, wenn es mehrere (viele) Kriterien sind. Ich mache das unter Delphi auch mit "case". Also wenn schon lernen dann richtig, von daher natürlich Dieter zustimm!
mrtux
Hallo mrtux!
Danke für die Zustimmung
Ich habe ja auch weit über 10 Jahre nix mehr in C/C++ gemacht, aber solche Dinge weiß man dann doch noch.
@ xmax67821
Case-Beispiel:
Gruß Dieter
Danke für die Zustimmung
Ich habe ja auch weit über 10 Jahre nix mehr in C/C++ gemacht, aber solche Dinge weiß man dann doch noch.
@ xmax67821
Case-Beispiel:
switch (x) {
case '1': TuWas; break;
case '2': TuWas; break;
case '3': TuWas;
}
Gruß Dieter
Hallo,
IF oder SWITCH:
Ich habe mal gelesen das wenn es sich um einfachen "Vergleich" von festen Werten handelt, so wie hier: 1 oder 2 oder 3, dann greift man zum SWITCH.
Wenn es hingegen komplexere vergleicht sind wie z.B. "eingabe >= 5 UND eingabe <= 10" (eingabe = 5 bis 10) dann mit IF.
So wäre in diesem Fall das SWITCH die bessere Wahl !
Variabel brauchen entsprechend ihres Inhaltes entsprechende Namen, hier wären "summand", "summe", "multiplikator", ect. die richtigen Namen. Dann versteht man den Programmcode auch auf Anhieb und muss nicht erst nachschauen wo wann welche Variable mit was für einem Wert belegt wird
Und um alles etwas übersichtlicher zu halten, solltest du die entsprechenden Abschnitte dnan in Funktionen Kapseln z.B. so:
~Arano
IF oder SWITCH:
Ich habe mal gelesen das wenn es sich um einfachen "Vergleich" von festen Werten handelt, so wie hier: 1 oder 2 oder 3, dann greift man zum SWITCH.
Wenn es hingegen komplexere vergleicht sind wie z.B. "eingabe >= 5 UND eingabe <= 10" (eingabe = 5 bis 10) dann mit IF.
So wäre in diesem Fall das SWITCH die bessere Wahl !
int a,b,c,d,e,f,x;
Was ist denn "d" ?Variabel brauchen entsprechend ihres Inhaltes entsprechende Namen, hier wären "summand", "summe", "multiplikator", ect. die richtigen Namen. Dann versteht man den Programmcode auch auf Anhieb und muss nicht erst nachschauen wo wann welche Variable mit was für einem Wert belegt wird
Und um alles etwas übersichtlicher zu halten, solltest du die entsprechenden Abschnitte dnan in Funktionen Kapseln z.B. so:
switch(x)
{
case '1': multiplikation(); break;
case '2': addition(); break;
case '3': subtraktion(); break;
}
void function multiplikation()
{
printf("Gbeben Sie den 1 Multiplikato ein: %d", a);
scanf("%d", &a);
printf("Gbeben Sie den 2 Multiplikato ein %d", b);
scanf("%d", &b);
c = a*b;
printf("\nDas Ergebins ist %d\n", c);
}
void function addition()
{
// additions funktonen
}
void function subtraktion()
{
// subtraktions funktonen
}
~Arano