2016-04-20 8 views
-2

Also meine Frage bezieht sich auf double, ich versuche, eine Eingabe vom Benutzer im Dezimalpunkt für einen beliebigen Wert und seinen Exponenten auch im Dezimalpunkt, um das Ergebnis nach der Berechnung in einer anderen Funktion, wo die Variablen angezeigt Übergeben Sie Werte als double, und ich habe auch die doppelte Ausgabe verwendet, aber das Endergebnis ist 1,00000, obwohl ich den Ausgabebefehl als% lf% verwendet habe.Double Exponent von Benutzereingabe

#include <stdio.h> 

double pwra (double, double); 

int main() 
{ 
    double number, power, xx; 

    printf("Enter Number: "); 
    scanf("%lf", &number); 

    printf("Enter Number: "); 
    scanf("%lf", &power); 

    xx=pwra (number,power); 

    printf("Result: %lf", xx); 

    return 0; 
} 

double pwra (double num, double pwr) 
{ 
    int count; 
    int result = 1; 

    for(count=1;count<=pwr;count++) 
    { 
     result = result*num; 
    } 
    return result; 
} 
+1

Willkommen bei StackOverflow, @TryllZ. Sie werden feststellen, dass Sie schneller bessere Hilfe erhalten, wenn Sie den Code so formatieren, dass er leicht zu lesen ist. Außerdem: Sie haben hier nie wirklich eine Frage gestellt, Sie haben nur eine Aussage gemacht. Versuchen Sie, so genau wie möglich über das zu sein, was Sie herausfinden möchten. – Richard

+0

OK, Sorry, ich hatte den Eindruck, dass die gleichen Leute auf meine frühere Frage antworten werden, trotzdem danke, werde sie jetzt bearbeiten. – TryllZ

+1

Diese Leute könnten das, aber Leute (wie ich!) Könnten diese Frage auch finden die Titelseite der Website oder auf andere Weise. Jede Frage sollte so eigenständig wie möglich sein, um sicherzustellen, dass sie (a) für ein möglichst breites Feld potenzieller Beantworter zugänglich ist und (b) so nützlich wie möglich für andere Menschen ist, die möglicherweise später dieselbe Frage haben. – Richard

Antwort

1

Sie haben den falschen Typ für result in der pwrs() Funktion verwendet.

Wechsel:

int result = 1; 

zu:

double result = 1.0; 

Beachten Sie, dass diese Art von einfachen Fehler leicht identifiziert, wenn Sie lernen, Ihren Debugger zu verwenden. Weiterführende Literatur: How to debug small programs.

Beachten Sie auch, dass pwr ein int sein sollte, kein double, da Ihre Funktion nur mit ganzzahligen Exponenten funktioniert.

+0

Ich habe dies versucht und diesmal ist das Ergebnis in Doppel-und Dezimalwert, aber das Ergebnis ist anders als das Ergebnis des Rechners ..?!, Confused .. der Debugger zeigt keine Fehler .. – TryllZ

+0

@TryllZ: der Debugger nicht "zeigen Fehler "(abgesehen von Abstürzen) - Sie müssen lernen, wie Sie damit Ihren Code durchgehen, Variablen untersuchen und dadurch verstehen, warum Ihr Code nicht so funktioniert, wie Sie es erwarten - dies ist wichtig, wenn Sie lernen möchten, ein Programmierer. –

+0

Sir Ich kenne das Debugging, dass bei Mausübergabe zeigt den Wert in der Variablen zu diesem Zeitpunkt gespeichert, aber Qunicy tun Maus über Ding zum Debuggen und Dev C++ Cracks manchmal Debugging .. – TryllZ