Clear Screen function in C++
Apostolis Rudis
apostolis at mail.com
Fri Sep 10 22:27:35 EEST 1999
On Wed, 8 Sep 1999 21:47:10 +0300
"Mark Papadakis" <markp at pathfinder.gr> wrote:
> ncurses einai mia lisi, iparxun kai alles. As pume oti to kaneis me ncurses..
> des to paradeigma:
>
> #include <curses.h>
... deleted ...
Παραθέτω τον κώδικα που έχω γράψει, έτσι όπως τροποποιήθηκε με τα
καινούρια στοιχεία της curses.h
//File Name: 5.cpp
//Author: Apostolis Rountis
//Email Address: apostolis at mail.com
//Description: Nested ifs and elses along with a few while loops ...
//Last changed: September 10, 1999
#include <iostream.h>
#include <curses.h>
int main()
{
//printf("\033[H\033[J");
initscr(); cbreak(); noecho();
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
clear();
refresh();
long int koko, lala, lili;
cout << "\nThis program demostrates the nested if and else statements.\n";
cout << "\nIt also handles positive as much as negative numbers.\n";
cout << "\nTry every possible combination, including the case of\n";
cout << "incerting the same correct number twice, and see what
happens!\n";
cout << "\nTry to also place the numbers 10, -10, 20 and -20 instead
of\n";
cout << "other values, to see the loop.\n";
cout << "\nAll right, gimme a number larger than 10 or smaller than -10:
";
cin >> koko;
while ((koko == 10) || (koko == -10))
{
cout << "\nI said larger than 10 or smaller than -10!\n";
cout << "That means, 10 and -10 are not included! Are you blind,"
<< " or what?\n";
cout << "Try again: ";
cin >> koko;
}
if ((koko > 10) || (koko < -10))
{
{
cout << "\nThank you."
<< "\nNow gimme another one larger than 20 or smaller than -20: ";
cin >> lala;
while ((lala == 20) || (lala == -20))
{
cout << "\nAh, you are a complete idiot!\n"
<< "I said larger than 20 or smaller than -20! Can't you read?\n";
cout << "Try again: ";
cin >> lala;
}
lili = (koko + lala);
}
if ((lala > 20) || (lala < -20))
{
if (koko == lala)
{
cout << "\nExcellent! The sum of your numbers is: " << lili << "\n";
cout << "You placed the same number twice, eh? I got ya!!!\n\n";
}
else
cout << "\nGreat! The sum of your numbers is: " << lili << "\n\n";
}
else
{
cout << "\nThe number you entered is smaller than 20!!!" << endl;
cout << "Are you trying to cheat here? Rerun the program!\n" << endl;
}
}
else
{
cout << "\nThe number you entered is smaller than 10!!!" << endl;
cout << "Are you trying to cheat here? Rerun the program!\n" << endl;
}
keypad(stdscr, FALSE);
endwin();
return 0;
}
Η εντολή που έδωσα για το compiling ήταν g++ koko.cpp -o koko -lncurses
Τώρα ναι μεν λειτουργεί το clear screen αλλά οι γραμμές του μηνύματος
που βγαίνουν πριν ζητηθεί ο πρώτος αριθμός είναι λες και κάποιος πάτησε
μερικά tabs σε κάθε γραμμή... Επίσης δε βλέπω τον αριθμό που εισάγω!
Αν βάλεις // σε όλες τις εντολές που αφορούν την curses και αφήσεις μόνο
την παράξενη εντολή printf("\033[H\033[J"); θα παρατηρήσεις ότι τα
πράγματα είναι πολύ καλύτερα. Το κείμενο εμφανίζεται κανονικά και ο
αριθμός που εισάγεις είναι ορατός.
Παρά το γεγονός ότι πειραματίστηκα πολύ με την curses, δεν κατάφερα να
μου δείχνει αυτά που βλέπω με την printf...
Apostolis
apostolis at mail.com
--
====================================================================
Gia boithia (h na diagrafhte) e-mail sto majordomo at hellug.gr
Ta archives tis listas einai sto http://lists.hellug.gr/archives
prin steilete kapoia erothsh psakte mipos exei hdh apanththei.
Gia opoiodipote problima stilte e-mail ston owner-linux-greek-users at hellug.gr
====================================================================
More information about the Linux-greek-users
mailing list