мая
28
2010
5

cin - дополнительные возможности

Собственно проблема достаточно продолжительная) Еще на далеком первом курсе, терзал препода как отловить в программе вводит ли пользователь правильные типы данных, то есть:

int number;

cin >> number;

Вот что будет если человек введет не целочисленное число, а например букву? Собственно как это отследить? Единственный ответ который я получил - записывать в строку и парсить… Скорость маленькая, сложность большая. Вообщем такой вариант событий меня не устраивал и я решил отодвинуть этот вопрос до лучших времен. Собственно ответ:

int number;

cin >> number;

if (!cin)

{

cout << “Input Error!” << endl;

return 1;

}

Если хотите продолжить выполнение дальше то можно банально очистить поток и продолжить ввод/работоспособность программы:

if (!cin)

{

cin.clear();

fflush(stdin);

}

Собственно, пока все.  Продолжение следует =)

Автор: Dx3 | Рубрика: Статьи | Теги: ,
Дек
03
2010
1

Сервис ужастен!

Вообщем тут невозможно что-либо писать! По-этому блог закрыт :)
До скорой встречи ;)

Автор: Dx3 | Рубрика: Статьи | Теги:
Дек
03
2010
1

pip.qip без копирайта

Собственно освобождаем pip.qip от копирайта (и ссылки на qip.ru) в кнопке. Зачем я это сделал? Просто принципиально не нравиться агрессивная техника навязывания, которую использует qip.ru (могли хотя бы спросить, хочу я этого или нет). Я не рекомендую использовать данный код, просто в научных целях расскажу как это делается. Сразу скажу, их js код мне очень понравился (хотя я в нем некоторые куски просто не понял ^_^)

Меняем:

links.push(pip.hover = $$('a', {className  : 'pip_bg pip_hover', href: 'http://pip.qip.ru/', target: '_blank', onclick: function(){return false}}));

На:

links.push(pip.hover = $$('a', {className  : 'pip_bg pip_hover', href: "http://" + path + "/", target: '_blank', onclick: function(){return false}}));

Делим:

links.push($$('a', {className: 'pip_qip', href: 'http://pip.qip.ru/', innerHTML: '© QIP кнопка'}));

Меняем:

.pip_bg {overflow: hidden; background: transparent url(' + path + '/button.png) -1000px -1000px no-repeat; _background-image: url(' + path + '/button_ie6.png);} \

и

.pip_type0 .pip_btn {padding: 2px 0 3px 215px; width: 207px; height: 44px; background: transparent url(' + path + '/bookmark.png) left top no-repeat;} \

Ссылки на эти файлы (ниже) - либо статикой прописываем “qip-овские” пути, или качаем и правим размещая у себя

button
button_ie6
bookmark

Если кому-то будет интересная данная тема, подумаю над тем что бы переписать все на jquery + рассмотрю любые предложения :)

Автор: Dx3 | Рубрика: Статьи | Теги: , , , , ,
июля
11
2010
1

Редуцирование

Собственно недавно прочитал в книге:

Если целое значение больше, чем диапазон byte-типа (256), то оно будет редуцировано по модулю этого диапазона (до остатка от целочисленного деления этого значения на 256)

Герберт Шилдт - Java 2

Собственно я не сразу понял какие действия произведет среда, и чем вообще является “редуцирование”. По-этому:

package main;

public class Main {

public static void main(String[] args) {

int i = 5;

byte b = (byte) i;

double d = 9999999999999.99;

System.out.println(i + ” ” + b);

i = 300;

b = (byte) i;

System.out.println(i + ” ” + b);

i = (int) d - 214783648;

System.out.println(d + ” ” + i);

}

}

Получаем:

5 5

300 44

9.99999999999999E12 1932699999

По-этому можно сделать вывод что редуцирование (в программировании) - сокращение значения переменной, которую присваивают, до диапозона значений переменной которой присваивают путем деления присваиваемую переменной на границу диапозона переменной которой присваивают.

РЕДУЦИРОВАНИЕ - (от нем. reduzieren — уменьшать, сокращать; от лат. reduco — отвожу назад)
wiki

Автор: Dx3 | Рубрика: Статьи | Теги: , ,

Работает на WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes | Русификация: SeOne.ru - раскрутка сайта