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
GELÖST

Minicomputer

Frage Entwicklung C und C++

Mitglied: Butterblume

Butterblume (Level 1) - Jetzt verbinden

04.05.2007, aktualisiert 07.05.2007, 3382 Aufrufe, 2 Kommentare

Aufgabe: Entwickeln Sie ein Programm, welches für zwei Operanden die mathematische Grundoperationen Addition, Subtraktion, Multiplikation und Division ausführt.

Hallo zusammen, ich habe diese Aufgabe versucht zu lösen. Nun ist es so, dass die zweite Eingabe also Operator wird einfach übersprungen und ich weiss nicht warum. Kann mir jemand helfen?
Danke, lg, Kristina

01.
/* IMPORT ---------------------- */ 
02.
#include <stdlib.h> 
03.
#include <stdio.h> 
04.
#include <math.h> 
05.
 
06.
/* HAUPTPROGRAMM --------------- */ 
07.
int main() 
08.
09.
  /* VARIABLEN (lokal) --------- */ 
10.
  int Operand_1; 
11.
  int Operand_2; 
12.
  char Operator; 
13.
  float Resultat; 
14.
 
15.
  /* Intro --------------------- */ 
16.
  printf("Dies ist die Aufgabe M103_A_409: Minicomputer \n\n"); 
17.
  printf ("Zum Beenden Q eingeben"); 
18.
   
19.
  /*Bildschirmausgabe*/ 
20.
  printf("\n\nGeben Sie den ersten Operanden ein: "); 
21.
  scanf("%i",&Operand_1); 
22.
  printf("\nGeben Sie den Operator ein: "); 
23.
  scanf("%c",&Operator); 
24.
  printf("\n\nGeben Sie den zweiten Operanden ein: "); 
25.
  scanf("%i",&Operand_2); 
26.
         
27.
     /* gewählter Menupunkt ausführen*/ 
28.
      
29.
     if (Operator=='+') { 
30.
     Resultat = Operand_1 + Operand_2; 
31.
     printf("Ergebnis: %2.f", Resultat); 
32.
33.
      
34.
     else if (Operator=='-') { 
35.
     Resultat = Operand_1 - Operand_2; 
36.
     printf("Ergebnis: %2.f", Resultat); 
37.
38.
      
39.
     else if (Operator=='*') { 
40.
     Resultat = Operand_1 * Operand_2; 
41.
     printf("Ergebnis: %2.f", Resultat); 
42.
43.
      
44.
     else if (Operator=='/') { 
45.
     Resultat = Operand_1 / Operand_2; 
46.
     printf("Ergebnis: %2.f", Resultat); 
47.
48.
      
49.
     else { 
50.
     printf ("Fehler"); 
51.
52.
   
53.
  system ("PAUSE"); 
54.
  return 0; 
55.
 }
Hab's geschafft <edit>
01.
*****************************************************************************/ 
02.
/* IMPORT ---------------------- */ 
03.
#include <stdlib.h> 
04.
#include <stdio.h> 
05.
#include <math.h> 
06.
 
07.
/* HAUPTPROGRAMM --------------- */ 
08.
int main() 
09.
10.
  /* VARIABLEN (lokal) --------- */ 
11.
  int Operand_1; 
12.
  int Operand_2; 
13.
  char Operator; 
14.
  float Resultat; 
15.
 
16.
do { 
17.
  /* Intro --------------------- */ 
18.
  printf("\n\nDies ist die Aufgabe M103_A_409: Minicomputer \n\n"); 
19.
  printf ("Zum Beenden beim Operator Q eingeben"); 
20.
   
21.
  /*Bildschirmausgabe*/ 
22.
  printf("\n\nGeben Sie den ersten Operanden ein: "); 
23.
  scanf("%i",&Operand_1); 
24.
  printf("\nGeben Sie den Operator ein: "); 
25.
  scanf("%s",&Operator); 
26.
  printf("\nGeben Sie den zweiten Operanden ein: "); 
27.
  scanf("%i",&Operand_2); 
28.
         
29.
     /* gewählter Menupunkt ausführen*/ 
30.
      
31.
     if (Operator=='+') { 
32.
     Resultat = Operand_1 + Operand_2; 
33.
     printf("\nErgebnis: %2.f", Resultat); 
34.
     printf ("\n\n------------------------------------------\n"); 
35.
36.
      
37.
     else if (Operator=='-') { 
38.
     Resultat = Operand_1 - Operand_2; 
39.
     printf("\nErgebnis: %2.f", Resultat); 
40.
     printf ("\n\n------------------------------------------\n"); 
41.
42.
      
43.
     else if (Operator=='*') { 
44.
     Resultat = Operand_1 * Operand_2; 
45.
     printf("\nErgebnis: %2.f", Resultat); 
46.
     printf ("\n\n------------------------------------------\n"); 
47.
48.
      
49.
     else if (Operator=='/') { 
50.
     Resultat = Operand_1 / Operand_2; 
51.
     printf("\nErgebnis: %2.f", Resultat); 
52.
     printf ("\n\n------------------------------------------\n"); 
53.
54.
     else if (Operator=='q') { 
55.
     printf("\n\nBye Bye Bye", Resultat); 
56.
     printf ("\n\n------------------------------------------\n"); 
57.
58.
      
59.
     else { 
60.
     printf ("\n\nFehler\n\n"); 
61.
     printf ("\n\n------------------------------------------\n"); 
62.
63.
   
64.
  } while (Operator != 'q' and Operator !='Q'); 
65.
   
66.
  system ("PAUSE"); 
67.
  return 0; 
68.
69.
/*****************************************************************************/
<edit> Hallo Zusammen, ich möchte dieses Programm mit einem switch Modus starten...z.b. "minicomputer /d"...so ein debugger....ich weiss aber nicht, wie es geht...kann mir jemand helfen?? ich weiss nicht was ich da programmieren muss, auf jeden fall muss ich ein test durchführen.

danke für ihre hilfe....
Mitglied: Kevin-P
04.05.2007 um 09:41 Uhr
hi,

versuch mal nach jedem einlesen einer eingabe, den tastaturpuffer zu leeren, zB. mit

fflush(stdin);

sonst hast du nach der ersten eingabe immer ein "\n" im puffer (vom return drücken), und das wird automatisch als 2. eingabe gewertet! deswegen "überspringt" er es nicht, er hat halt sozusagen schon ein 2. zeichen.


gruß,
Kevin
Bitte warten ..
Mitglied: miniversum
07.05.2007 um 19:51 Uhr
Das mit den Argumenten ist ganz einfach.
Die main Funktion in C sieht ja eigentlich so aus:
int main(int argc, char *argv[])
In der Variablen argc steht drin wie viele Argumente übergeben wurden (durch ein " " getrennt)
Die Argumente an sich stehen dann im Array argv, welches eben die größe argc besitzt.
argv[0] ist das Dateineme (bzw. mit Pfad wenn so aufgerufen).
Ab argv[1] kommen dan alle Argumente.

Kannst ja mal Folgenden Sourcecode Compilieren und ausprobieren. Dann siehst du vielleicht besser wie es geht.
01.
#include <stdio.h> 
02.
#include <stdlib.h> 
03.
 
04.
int main(int argc, char *argv[]) 
05.
06.
int i;   
07.
  printf ("Anzahl der Argumente: %i \n",argc-1); 
08.
  for ( i=0 ; i<argc ; i++ ) 
09.
10.
     printf ("Argument %i: %s \n",i,argv[i]); 
11.
12.
   
13.
  system("PAUSE");	 
14.
  return 0; 
15.
}
miniversum
Bitte warten ..
Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 47 MinutenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 5 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 6 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 18 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...