Syntaxfehler nach RETURN-Anweisung trivialer Taschenrechner

Alles was mit C/C++ unter NetBeans zu tun hat

Moderator: wegus

Antworten
xp10r3r
Beiträge: 6
Registriert: 08.07.2018, 16:10

Syntaxfehler nach RETURN-Anweisung trivialer Taschenrechner

Beitrag von xp10r3r » 08.07.2018, 16:19

Moin,

ich erlerne gerade meine erste Programmiersprache und bin bei einer Beispielaufgabe auf einen Fehler gestoßen, den ich bis jetzt nicht lösen konnte. Darum erhoffe ich mir Hilfe aus diesem Forum.

In der Aufgabe geht es darum einen trivialen Taschenrechner zu entwickeln. Bei der Division soll natürlich klassisch eine Division durch 0 abgefangen werden. Die verschiedenen Rechenoperationen sind über eine SWITCH-Anweisung realisiert.

NetBeans
Product Version: NetBeans IDE 8.2 (Build 201609270201)
Updates: NetBeans IDE is updated to version NetBeans 8.2 Patch 2
Java: 1.8.0_101; Java HotSpot(TM) 64-Bit Server VM 25.101-b13
Runtime: Java(TM) SE Runtime Environment 1.8.0_101-b13
System: Windows 10 version 10.0 running on amd64; Cp1252; de_DE (nb)

Compiler
GCC.png
GCC.png (11.17 KiB) 407 mal betrachtet
Code

Code: Alles auswählen

#include <stdio.h>

/* Aufgabenteil */
#include <math.h> //Bibliothek mit FABS-Funktion zur Betragsermittlung

/* Hauptfunktion */
void main(void)
{
    char operator;
    float operand1, operand2, resultat;
    
    printf("Bitte eine Rechenoperation [+, -, *] eingeben: ");
    scanf("%c", &operator);
    
    printf("\nBitte den ersten Operand eingeben: ");
    scanf("%f", &operand1);
    
    printf("\nBitte den zweiten Operand eingeben: ");
    scanf("%f", &operand2);
    /* Aufgabenteil */
    if (fabs(operand2 < 1E-12) {
        printf("Divisor darf nicht 0 sein.");
        return;
    }
        
    switch (operator) {
        case '+': printf("%f + %f = %f", operand1, operand2, resultat = operand1
                          + operand2);
                  break;
                  
        case '-': printf("%f - %f = %f", operand1, operand2, resultat = operand1
                          - operand2);
                  break;
                  
        case '*': printf("%f * %f = %f", operand1, operand2, resultat = operand1
                          * operand2);
                  break;
                  
        /* Aufgabenteil */
        case '/': printf("%f / %f = %f", operand1, operand2, resultat = operand1
                          / operand2);
            
        default: printf("Die Operation ist unbekannter Herkunft.");
                 break;
    }
}

Benutzeravatar
nigjo
Beiträge: 605
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: Syntaxfehler nach RETURN-Anweisung trivialer Taschenrechner

Beitrag von nigjo » 09.07.2018, 10:28

Hi
xp10r3r hat geschrieben:
08.07.2018, 16:19
if (fabs(operand2 < 1E-12)
Da fehlt nur eine schließende Klammer. Du machst 2 auf, also musst du auch 2 wieder schließen

Gruß
Jens
Man sollte seine Werkzeuge kennen. Ansonsten haut man sich mit dem Hammer nur auf die Finger.

--
NetBeans Certified Engineer - Java Getriebe

xp10r3r
Beiträge: 6
Registriert: 08.07.2018, 16:10

Re: Syntaxfehler nach RETURN-Anweisung trivialer Taschenrechner

Beitrag von xp10r3r » 09.07.2018, 10:54

nigjo hat geschrieben:
09.07.2018, 10:28
Da fehlt nur eine schließende Klammer.
:roll:

Ich Depp ...

Ich danke Dir für den Hinweis.

Viele Grüße

Antworten