Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

TAschenrechner in C erstellen

Frage Entwicklung C und C++

Mitglied: xmax67821

xmax67821 (Level 1) - Jetzt verbinden

20.02.2010 um 12:38 Uhr, 5768 Aufrufe, 7 Kommentare

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;
}
Mitglied: Th0ma5
20.02.2010 um 13:08 Uhr
Hallo

du hast einfach die "else" bedineung vergessen... in deinen obrigen Bsp wäre das dann so:

01.
  
02.
 
03.
#include <stdio.h> 
04.
int a,b,c,d,e,f,x; 
05.
int main(void) 
06.
07.
printf("Wenn sie eine multiplikation duchführen wollen wählen sie 1:\n"); 
08.
printf("Wenn sie eine adition duchführen wollen wählen sie 2:\n"); 
09.
printf("Wenn sie eine subtraktion duchführen wollen wählen sie 3:\n"); 
10.
scanf("%d", &x); 
11.
 
12.
if(x==1) 
13.
14.
printf("Gbeben Sie den 1 Multiplikato ein: %d", a); 
15.
scanf("%d", &a); 
16.
printf("Gbeben Sie den 2 Multiplikato ein %d", b); 
17.
scanf("%d", &b); 
18.
c = a*b; 
19.
printf("\nDas Ergebins ist %d\n", c); 
20.
21.
else 
22.
23.
if(x==2) 
24.
printf("Gbeben Sie den ersten Sumanten ein: %d", c); 
25.
scanf("%d", &c); 
26.
printf("Gbeben Sie den zweiten Sumanten ein %d", d); 
27.
scanf("%d", &d); 
28.
e = c+d; 
29.
printf("\nDas Ergebins ist %d\n", e); 
30.
return 0; 
31.
32.
}
Bitte warten ..
Mitglied: 76109
20.02.2010 um 13:09 Uhr
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:
01.
If (x==1) { 
02.
.... 
03.
.... 
04.
}
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
Bitte warten ..
Mitglied: xmax67821
20.02.2010 um 13:18 Uhr
Hi
1 mal danke für die schnellen Antworten doch leider habe ich die else Anwendung nicht vergessen sonder ich möchte ja noch eine 3. Anwendung ausführen
09.printf("Wenn sie eine subtraktion duchführen wollen wählen sie 3:\n");
und da kann ich ja nicht in der else anweisung noch ne if rein machen oder ?
ich stehe gerade ein >>bischen<< an !!
Bitte warten ..
Mitglied: mrtux
20.02.2010 um 13:24 Uhr
Hi !

Zitat von 76109:
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
Bitte warten ..
Mitglied: 76109
20.02.2010 um 13:29 Uhr
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:
01.
switch  (x) { 
02.
case '1': TuWas;  break; 
03.
case '2': TuWas;  break; 
04.
case '3': TuWas; 
05.
} 
Gruß Dieter
Bitte warten ..
Mitglied: xmax67821
20.02.2010 um 13:33 Uhr
Ok
Danke für die hilfe mit den {
....
}
hauts hin danke jetzt geht alles
LG
xmax67821
Bitte warten ..
Mitglied: Arano
20.02.2010 um 18:25 Uhr
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 !

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:
01.
 switch(x) 
02.
03.
    case '1': multiplikation(); break; 
04.
    case '2': addition(); break; 
05.
    case '3': subtraktion(); break; 
06.
07.
 
08.
void function multiplikation() 
09.
10.
    printf("Gbeben Sie den 1 Multiplikato ein: %d", a); 
11.
    scanf("%d", &a); 
12.
    printf("Gbeben Sie den 2 Multiplikato ein %d", b); 
13.
    scanf("%d", &b); 
14.
    c = a*b; 
15.
    printf("\nDas Ergebins ist %d\n", c); 
16.
17.
 
18.
void function addition() 
19.
20.
    // additions funktonen 
21.
22.
 
23.
void function subtraktion() 
24.
25.
    // subtraktions funktonen 
26.
}

~Arano
Bitte warten ..
Ähnliche Inhalte
Humor (lol)
Taschenrechner in IOS kaputt!
Information von LochkartenstanzerHumor (lol)16 Kommentare

Also lieber einen vom Grabbeltisch für 5€ nehmen statt ein iPhone für den 2000fachen Preis. lks Edith: Rechenfehler korrigiert. ...

Entwicklung
.g3m für Grafikfähigen Taschenrechner
Frage von BoogiemanEntwicklung5 Kommentare

Hallo Ich bitte falls diese Frage absolut nicht passt, oder sich keiner mit diesem Problem beschäftigen will, einfach einen ...

Peripheriegeräte
Tastatur reagiert nur auf Funktionstasten (z.Bsp. Taschenrechner)
gelöst Frage von mirkobruPeripheriegeräte14 Kommentare

Hallo, seit gestern, geht meine USB-Funk-Tastatur (mit Maus) von Logitech (K230) nicht mehr. Es gehen nur die Funktionstasten. Die ...

C und C++
Microsoft Blend C-sharp Informationen Fenster erstellen?
gelöst Frage von grillinator95C und C++11 Kommentare

Wie kann man in Microsoft Blend ein Informationenfenster (Datagrid) erstellen das alle Fehler, Informationen und Warnungen anzeigt? Bezüglich Microsoft ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 3 StundenLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...