Назад | Начало урока | Вперед
Содержание

Глава 4 стр 38

Функция конвертирования и ее использование

Продолжим далее наполнять функциональностью нашу программу.
Добавим функцию filter(). Этой функции в параметр передается переменная типа int
- десятичное число, и через параметры же в функция возвращает два символа, при помощи
которых переданное число можно представить в 16-ричном виде.


void CText_matrixDlg::filter(int chislo, char &first_val, char &second_val){
int rez_h = 0;
int rez_l = 0;
rez_h = chislo/16;
if(rez_h>9){
switch(rez_h){
case 10 :
first_val = 'A'; break;
case 11 :
first_val = 'B'; break;
case 12 :
first_val = 'C'; break;
case 13 :
first_val = 'D'; break;
case 14 :
first_val = 'E'; break;
case 15 :
first_val = 'F'; break;
default:
break;
}
}
else{
switch(rez_h){
case 0 :
first_val = '0'; break;
case 1 :
first_val = '1'; break;
case 2 :
first_val = '2'; break;
case 3 :
first_val = '3'; break;
case 4 :
first_val = '4'; break;
case 5 :
first_val = '5'; break;
case 6 :
first_val = '6'; break;
case 7 :
first_val = '7'; break;
case 8 :
first_val = '8'; break;
case 9 :
first_val = '9'; break;
default:
break;
}
}
rez_l = chislo%16;
if(rez_l>9){
switch(rez_l){
case 10 :
second_val = 'A'; break;
case 11 :
second_val = 'B'; break;
case 12 :
second_val = 'C'; break;
case 13 :
second_val = 'D'; break;
case 14 :
second_val = 'E'; break;
case 15 :
second_val = 'F'; break;
default:
break;
}
}
else{
switch(rez_l){
case 0 :
second_val = '0'; break;
case 1 :
second_val = '1'; break;
case 2 :
second_val = '2'; break;
case 3 :
second_val = '3'; break;
case 4 :
second_val = '4'; break;
case 5 :
second_val = '5'; break;
case 6 :
second_val = '6'; break;
case 7 :
second_val = '7'; break;
case 8 :
second_val = '8'; break;
case 9 :
second_val = '9'; break;
default:
break;
}
}
}

Далее используем эту функцию для вывода вектора в текстовый файл в 16-ричном виде.

//выведем вектор (массив) в файл в 16-ричном виде

int k = 0;
for(int i=54;i < size_file;i++){

temp = (int)buf[i];
if(temp<0)
temp = 256+temp;
filter(temp,first_ch,second_ch);
to1 << first_ch << second_ch ;
k++;
if(k==dlina_str){//перевод строки
k=0;
to1<< " " << endl ;
}
}

Откомпилируем. Все отлично. Создан файл TextMatrix.txt с матрицей текста.

Вот так быстро и легко мы создали приложение в стиле Windows. Это потому, что основной
код программы был создан нами в программах, описанных в предыдущих страницах


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz