2016-09-11 9 views
2

Hier ist ein einfaches Programm in c. Es braucht zwei ganze Zahlen und fügt sie hinzu. In diesem Code möchte ich die vorherige Zeile durch eine neue Zeile aktualisieren, anstatt eine neue Zeile zu erstellen. Kann mir ein beliebiger Körper zu diesem Thema helfen?Vorherige Zeile aktualisieren statt neue Zeile drucken

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
int a,b; 
printf("Enter two integer to add\r"); 
scanf("%d%d",&a,&b); 
a=a+b; 
printf("Your value is -- %d",a); 

return 0; 
} 

Ich benutze \ r statt \ n, um den Cursor zurück zum Start zu bringen. Ich habe Eingabedaten in der Programmkonsole, die von Anfang an schreibt. Aber die nächste Zeile "Your value is .." wird als neue Zeile gedruckt, ich möchte die erste Zeile entfernen und dann Wert eingeben und nächste Zeile "Your value .." drucken. Wie mache ich das? Bitte helft mir

+2

Kurze Antwort: Sie können nicht (sehr einfach). Lange Antwort: Was Sie wollen, ist nicht Teil der Standard-C-Sprache oder Laufzeit. Etwas wie [ncurses] (https://en.wikipedia.org/wiki/Ncurses) ist eine Alternative, aber ehrlich gesagt wäre es wie das Fahren von Reißzwecken mit einem Vorschlaghammer. – WhozCraig

Antwort

1

Sie können nicht im Terminal nach oben bewegen, es sei denn, einige komplexe lib als Flüche verwenden. Sie können den Trick "Clear Screen" verwenden, vielleicht würde das erreichen, was Sie wollen.

#include <stdio.h> 
#include <stdlib.h> 

    int main() 
    { 
    int a,b; 
    system("clear"); // or "cls" on windows 
    printf("Enter two integer to add\r"); 
    scanf("%d%d",&a,&b); 
    system("clear"); // or "cls" on windows 
    a=a+b; 
    printf("Your value is -- %d",a); 

    return 0; 
    } 
+0

Kann ich Bildschirm von Wunsch Punkt löschen – Kumar

+1

nein, dafür brauchen Sie Flüche, aber nicht dorthin gehen :) –

Verwandte Themen