schreiben in c mit printf und scanf funktioniert nicht wie erwartet

So, ich bin ein totaler newb auf C. ich verwende eclipse mit MinGW compiler. Ich bin auf das zweite Kapitel mit der scanf-und printf-Funktionen und mein Programm funktioniert, aber nur das drucken der Anweisungen an die Konsole habe ich einmal eingegeben, der drei int-Werte in die scanf-Funktionen.

#include <stdio.h>
int main(void){
    int length, height, width, volume, dweight;

    printf("Enter the box length: ");
    scanf("%d", &length);
    printf("\nEnter the box width: ");
    scanf("%d", &width);
    printf("\nEnter the box height");
    scanf("%d", &height);

    volume = length * width * height;
    dweight = (volume + 165) / 166;

    printf("Dimensions: l = %d, w = %d, h = %d\n", length, width, height);
    printf("Volume: %d\n", volume);
    printf("Dimensional Width: %d\n", dweight);

    return 0;
}

Ausgabe der Konsole:

8 (user input + "Enter" + key)
10 (user input + "Enter" key)
12 (user input + "Enter" key)
Enter the box length: 
Enter the box width: 
Enter the box heightDimensions: l = 8, w = 10, h = 12
Volume: 960
Dimensional Width: 6

irgendwelche Erkenntnisse? Ich gehe davon aus, dass es zu printf, dann scanf für user-input wie so:

Enter the box length: (waits for user int input; ex. 8 + "Enter")
Enter the box width: ...
  • versuchen Sie es: rufen Sie fflush(stdout) vor dem ersten printf
  • Auch sollten Sie die Rückgabewerte von scanf
  • welchen compiler verwendest du? Es funktioniert gut in gcc.
  • Code funktioniert wie man es erwartet auf GCC 4.7.1.
  • fflush gearbeitet, wenn es nach den printf-Anweisungen
  • stackoverflow.com/questions/16877264/...
  • eclipse bug report: bugs.eclipse.org/bugs/show_bug.cgi?id=173732 im wesentlichen, Eclipse nicht (kann nicht?) emulieren ein terminal richtig, so dass die üblichen buffering-Modus für Klemmen wird nicht konfiguriert.
  • Hinweis: Sie erhalten eine abgerundete-up-Wert mit dweight = (volume + 165) / 166. Um eine Runde auf die nächste, verwenden dweight = (volume + 166/2) / 166.

InformationsquelleAutor ChrisMcJava | 2013-09-17
Schreibe einen Kommentar