2016-10-26 4 views
1

Also im Grunde soll meine C-Code-Ausgabe so aussehen.Was ist falsch an meinem C-Code? Irgendwelche Zeiger?

enter image description here

Aber ich glaube, meine IF Aussagen falsch sind, kann es jemand geben einen Blick und geben Sie mir einige Hinweise?

#include <stdio.h> 

int main() 
{ 
    int a, total = 0; // Defining integers 
    int n; 
    int tax; 
    int e; 

    float subtotal; 

    printf("Enter the number of days the car was rented: "); // Asking for input 
    scanf("%d", &n); // Establishing number of cars 

    printf("Enter the number of miles the car was driven: "); // Mile input 
    scanf("%d", &a); // Establishing miles driven 

    if (n > 200) { 
     e = .40; 
    } 
    else { e = .35; 
    } 

    subtotal = n * 15 + a * e; 

    printf("\nSubtotal: ", subtotal); 

} 

Antwort

1

Ihre definierte e Variable ist ein int anstelle eines Gleitkommatyp, wie float oder double, und Sie die "%f" in Ihrem letzten print-Anweisung hinzuzufügen vergessen.

Um einige weitere Zeiger hinzu:

  • Variablen sollten sinnvoll Namen gegeben werden. Ich bin mir ziemlich sicher, dass, wenn Sie den Namen der Variablen e in precentage geändert hätten, das obige int/float Problem möglicherweise nicht passiert wäre.

  • Alle nicht verwendeten Variablen sollten gelöscht werden (total, tax).

+0

Vielen Dank und große Zeiger. Ich werde sie auf jeden Fall behalten. Fangen Sie gerade an, C für meinen Informatikkurs an der Universität zu verwenden, denken Sie, dass es am besten ist, Tutorials/Praxis zu folgen oder ein Buch/eine Praxis zu lesen? Auch werde ich diese Variablen später verwenden. Ich habe einfach nicht den Rest der Syntax für sie hinzugefügt: p – Ardowi

+0

@Erdowi Glücklich zu helfen, und willkommen zu Stack Overflow. Wenn diese Antwort oder eine andere Lösung Ihr Problem behoben hat, markieren Sie es als akzeptiert. – MordechayS

+0

Danke und werde es tun. – Ardowi

0

Sie verloren etwas hier:

#include <stdio.h> 

int main() 
{ 
    int a, n; 
    float tax, e, total = 0; // Defining integers 

    float subtotal; 

    printf("Enter the number of days the car was rented: "); // Asking for input 
    scanf("%d", &n); // Establishing number of cars 

    printf("Enter the number of miles the car was driven: "); // Mile input 
    scanf("%d", &a); // Establishing miles driven 

    if (n > 200) { 
     e = .40; 
    } 
    else { e = .35; 
    } 

    subtotal = n * 15 + a * e; 

    printf("\nSubtotal: %f", subtotal); 

} 
gcc filename 
./a.out 

und hier ist das Ergebnis:

Enter the number of days the car was rented: 7 
Enter the number of miles the car was driven: 7 

Subtotal: 107.449997 
+0

Danke oder die Antwort, ich verstehe jetzt vollständig, aber ich bin ein wenig verwirrt über den "gcc filename ./a.out" Teil. – Ardowi

+0

Ich führe den Code in meiner Linux-Umgebung, also verwende ich gcc-Compiler, um meinen c-Code zu kompilieren. gcc sourcefilename, dann gibt es die ausführbare Standarddatei a.out aus. dann starte es mit ./a.out –

+0

@Erdowi du kannst diesen Code auch einfach auf deinen Windows im devolopment kit ausführen. –

Verwandte Themen