Hello everyone, I have been searching on how to draw a line (horizontal and vertical) using ncurses, but couldn't find any examples. Therefore, I am in a situation I would like to ask for someone of a help. I need to draw two lines: one above Numerical systems and the other beneath 10, 8, 16 and 2 in the code below. Also please explain how to draw a line vertically using ncurses. I am struggling to understand how to draw lines using ncurses in mac
Here's my code (whline two commands of 0 and 3 are not working):
Here's my code (whline two commands of 0 and 3 are not working):
Code:
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <sstream>
#include <ncurses.h>
#include <curses.h>
using namespace std;
int main()
{
initscr();
int i, n, number, number2, number3, number4, value, nlines, ncols, y0, x0, y, x;
//WINDOW * win = newwin(nlines,ncols, y0, x0);
int whline(WINDOW * win, chtype ch, int m);
//getmaxyx(WINDOW *, y, x);
string result;
whline(win, 0, 3);
cout << " " << "** Numerical systems **" << endl << endl;
cout << "\"10\"" << "\t" << "\"8\"" << "\t" << "\"16\"" << "\t" << "\"2\"" << endl;
whline(win, 0, 3);
endwin();
for(i=0, n=0; i<=15 && n<=15; i++, n++)
{
ostringstream convert;
switch(n) {
case 0:
value=0/2;
break;
case 1:
value=1%2;
break;
case 2:
number=2/2;
number2=1/2;
convert << number;
convert << number2;
result = convert.str();
value = stoi(result);
break;
case 3:
number=3%2;
number2=1%2;
convert << number;
convert << number2;
result = convert.str();
value = stoi(result);
break;
case 4:
number=4%2;
number2=2%2;
number3=1%2;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 5:
number=5%2;
number2=2%2;
number3=1%2;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 6:
number=6%2;
number2=3%2;
number3=1%2;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 7:
number=7%2;
number2=3%2;
number3=1%2;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 8:
number=8%2;
number2=4%2;
number3=2%2;
number4=1%2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 9:
number=9%2;
number2=4%2;
number3=2%2;
number4=1%2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 10:
number=10%2;
number2=5%2;
number3=2%2;
number4=1%2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 11:
number=11%2;
number2=5%2;
number3=2%2;
number4=1%2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 12:
number=12%2;
number2=6%2;
number3=3%2;
number4=2/2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 13:
number=13%2;
number2=6%2;
number3=3%2;
number4=2/2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 14:
number=14%2;
number2=7%2;
number3=3%2;
number4=2/2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
case 15:
number=15%2;
number2=7%2;
number3=3%2;
number4=2/2;
convert << number4;
convert << number3;
convert << number2;
convert << number;
result = convert.str();
value = stoi(result);
break;
}
printf(" %d \t %o \t %X \t %d \n", i, i, i, value);
}
}
Last edited by a moderator: