Параметри пошуку (Сторінка 1 з 3)
Ласкаво просимо!
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Теми користувача shonrens Виконати пошук
Знайдені повідомлення: з 1 по 20 з 48
Itari написав:Нажаль ми працюємо на ОС windows, так само і в книга які мені зустрічались в них так само працюють з ОС windows.
І що з того? Віртуальні машини вже війшли з моди?
для чого мені ставити на віртуальну машину, якщо мені і так все влаштовує тільки треба розібратись як це можна зробити на linux і вуаля готово. Можливо ви хочете сказати що програмувати на linux через vim це дурня тоді це вже зовсім інша розмова.
В мене все вийшло, всім дякую
#include <iostream>
#include <ncursesw/curses.h>
using namespace std;
enum color{Red=1, Green, Blue};
int main()
{
cout << "1.Red\n";
cout << "2.Green\n";
cout << "3.Blue\n";
int a;
do{
cin >> a;
}while(a == 0 || a > 3);
color c = (color)a;
switch(c)
{
initscr();
case Red:
cout << "\033[31mHello.\033[0m\n";
break;
case Green:
cout << "\033[32mHello.\033[0m\n";
break;
case Blue:
cout << "\033[34mHello.\033[0m\n";
break;
endwin();
}
return 0;
}
Itari написав:... яка відбиває мотивацію вмикати моск. Це така ж гидотна інстанція, як и кіно, яке підміняе книги своечасному суспільству, отож бо потреба думати самостійно відпадае.
Я вже не кажу, що у кліпаках нав'язується залежність від інструментів розробки, які використовує ведучій.
Якщо треба писати під Лінукс - то и цікавитись треба функціоналом саме цей ОС. Або ж кросплатформенними тулзами.
Нажаль ми працюємо на ОС windows, так само і в книга які мені зустрічались в них так само працюють з ОС windows.
Betterthanyou написав:▼(я почитав і зрозумів що в вас linux так що це не для вас)
shonrens написав:Програма запускається але коли ввожу 1, 2 або 3 виводить повідомлення "sh: 1: color: not found"
В мене все працює
я якщо спробувати так
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
int main()
{
puts("1.Red");
puts("2.Green");
puts("3.Blue");
int a;
do {
cin >> a;
} while (a == 0 || a > 3);
switch (a)
{
case 1:a = 4; break;
case 2:a = 2; break;
case 3:a = 1; break;
}
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);/*Отримання дескриптора пристрою стандартного виводу*/
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | a));/*Встановлення кольору*/
puts("World!");
getch();
return 0;
}
Так поставив лінукс не так давно, перед тим писав на visual sudio зараз звик і не хочеться тієї студії.
coder написав:shonrens написав:Я так посидів почитав ваші повідомлення і зрозумів....
1. Не можна признаватись що пробував приклад не поцікавившись що там прописано .
2. Ніколи за жодних обставин не признаватись що дивишься відео уроки ну або дивився.
Не беріть близьцо до серця. Відео уроки це сила.
дякую, побільше таких добродіїв як ви.
Я так посидів почитав ваші повідомлення і зрозумів....
1. Не можна признаватись що пробував приклад не поцікавившись що там прописано .
2. Ніколи за жодних обставин не признаватись що дивишься відео уроки ну або дивився.
koala написав:Ну тоді ще треба сказати...
▼Прихований текст
Боже, спаси Україну од програмістів, що навчаються за відеоуроками
ну все обідка, тож не тільки за зідеоуроками. В гугл прописую що ми почали вчити, читаю статью по темі. Книжки відкриваю і шукаю в них те що мені потрібно. Хватить іздіватись 
Відео уроки мені подобаються тим що автор відразу все розповвідає що зробив що воно зробить, нам викладач показує приклади через тімвівер і розповідає що в прикладі написаноі що воно зробить це так само і в відео уроках, зазвичай там прості приклади де можна так сказати ознайомитись з тим що мене чеаає.
0xDADA11C7 написав:Розумієте, уживати системні консольні команди для керування терміналом це ... щось протиприродне, а ви ще й сплутали системи, узявши приклад для вінди, попередньо не поцікавившись наявністю такої команди(чи аналогу) у вашій командній оболонці.
Я просто відкрив відео урок і почав набирати код за автором. Там різні приклади були де автор описує що він робить і що код буде рбити, коли дійшов до прикладу який вам показав я здогадувався що не буде робити через system, але як говорять надія помирає остання після того як я переконався що не працює і став цікавитись. Але від вас отримав хорошу інформацію.... щоб люди не писали таких повідомлень
▼Прихований текст
Боже, спаси Україну од таких програмістів
потрібно спробувати собі і нікому не признаватись, після чого зкинути код і просто запитати як ось таке зробити на лінуксі.
Я ж тільки вчусь і все це роблю для себе.
0xDADA11C7 написав:Читайте про Ncurses
▼Прихований текст
Боже, спаси Україну од таких програмістів
дякую, за ссилку почитаю. А за прихований текст обідно. 
Ще знайшов посилання на більш детальну інформацію https://code-live.ru/post/cpp-ncurses-hello-world/
Всім привіт, я тут спробував один приклад набратиб зміна кольору повідомлення:
#include <iostream>
#include <cstdlib>
using namespace std;
enum color{Red=1, Green, Blue};
int main()
{
cout << "1.Red\n";
cout << "2.Green\n";
cout << "3.Blue\n";
int a;
do{
cin >> a;
}while(a == 0 || a > 3);
color c = (color)a;
switch(c)
{
case Red: system("color 4"); cout << "Hello"; break;
case Green: system("color 2"); cout << "Hello"; break;
case Blue: system("color 3"); cout << "Hello"; break;
}
return 0;
}
Програма запускається але коли ввожу 1, 2 або 3 виводить повідомлення "sh: 1: color: not found", можливо десь допустив помилку але щось мені підказує що все через те що запуск роблю на лінуксі, можливо хтось знає спосіб поділіться інформацією
і якщо будете скидувати код то щось простішк 
Betterthanyou написав:shonrens написав:Betterthanyou написав:отак
#include <iostream>
#include <conio.h>
#include <string>
int main()
{
std::string str = "127";
int StrToInt = atoi(str.c_str());
std::cout << StrToInt;
getch();
return 0;
}
мб те що треба) а для чого str.c_str()?
str.c_str() - перетворює string в char, а atoi перетворює char в int
зрозумів!!! Дуже дякую а то я вже був все почав прописувати і перетворювати))) я через vim пишу потрібно було ще підключити бібліотеку #include <cstdlib>
Betterthanyou написав:отак
#include <iostream>
#include <conio.h>
#include <string>
int main()
{
std::string str = "127";
int StrToInt = atoi(str.c_str());
std::cout << StrToInt;
getch();
return 0;
}
мб те що треба) а для чого str.c_str()?
Betterthanyou написав:shonrens написав:Betterthanyou написав:Не знаю чи так правильно буде алей можна зробити структуру
struct IP
{
int field1,
field2,
field3,
field4;
};
...
IP ip1;
ip1.field1 = 127;
ip1.field2 = 0;
ip1.field3 = 0;
ip1.field4 = 0;
Або я не розумію або я не правильно задав питання.
Наприклад в мене є string str = "127"; Потрібно ip1.field = str;
наприклад так
#include <iostream>
#include <conio.h>
#include <string>
struct IP
{
private:
int field1,
field2,
field3,
field4;
public:
IP(std::string str);
void PrintIP();
bool operator== (IP ip);
void IpToInt(int *ip_field1, int *ip_field2, int *ip_field3, int *ip_field4);
};
IP::IP(std::string str = "0.0.0.0")
{
std::string strcpy;
int size = str.length();
for (int i = 0, j = 0; i < size; i++)
{
if (str[i] != '.')
{
strcpy += str[i];
}
if (str[i] == '.' || i + 1 == size)
{
if (j == 0)
field1 = atoi(strcpy.c_str());
else if (j == 1)
field2 = atoi(strcpy.c_str());
else if (j == 2)
field3 = atoi(strcpy.c_str());
else if (j == 3)
field4 = atoi(strcpy.c_str());
j++;
strcpy = "";
}
}
if (field1 > 255 || field2 > 255 || field3 > 255 || field4 > 255)
{
field1 = 0, field2 = 0, field3 = 0, field4 = 0;
std::cout << "Error! maximum ip 255.255.255.255" << std::endl;
}
}
bool IP::operator== (IP ip)
{
if (field1 == ip.field1 && field2 == ip.field2 && field3 == ip.field3 && field4 == ip.field4)
return true;
else
return false;
}
void IP::PrintIP()
{
std::cout << field1 << " " << field2 << " " << field3 << " " << field4 << std::endl;
}
void IP::IpToInt(int *ip_field1, int *ip_field2, int *ip_field3, int *ip_field4)
{
*ip_field1 = field1;
*ip_field2 = field2;
*ip_field3 = field3;
*ip_field4 = field4;
}
int main()
{
std::string str = "255.255.255.255";
std::cout << "--Initialization ip--" << std::endl << std::endl;
IP ip1 = str;
IP ip2 = (std::string)"127.0.0.0";
IP ip3 = (std::string)"192.168.0.01";
IP ip4 = (std::string)"255.00.255.255";
IP ip5 = (std::string)"255.255.255.256";
std::cout << "--Print ip--" << std::endl << std::endl;
ip1.PrintIP();
ip2.PrintIP();
ip3.PrintIP();
ip4.PrintIP();
ip5.PrintIP();
std::cout << "--Comparison ip--" << std::endl << std::endl;
std::cout << ((ip2 == ip5) ? "true" : "false") << std::endl;
int var1, var2, var3, var4;
std::cout << "--IpToInt ip--" << std::endl << std::endl;
ip2.IpToInt(&var1, &var2, &var3, &var4);
std::cout << var1 << " " << var2 << " " << var3 << " " << var4;
getch();
return 0;
}
--Initialization ip--
тут йде присвоєння IP структурі якщо воно більше за 255.255.255.255 виходить відповіде повідомлення про помилку
--Print ip--
тут виведення IP (там можна замінити " " на "." якщо потрібно через крапку)
--Comparison ip--
приклад порівняння Ip (Лише == , доробите по аналогії)
--IpToInt ip--
переведення ip в int (також можна так IP("255.60.255.255").IpToInt(&var1, &var2, &var3, &var4); тобто без створення об'єкта)
звичайно її потрібно дороблювати, ну я думаю ви зрозуміли мою ідею
ми ще класи не вчили))) я тут пробував і помітив що елемент стрінг наприклад:
str[0]; можна перевести в чар а з чара в інт і таким чином я маю число і можу з ним робити перевірку...
Да мені тільки потрібно зрозуміти як я можу витягнути число )
Master_Sergius написав:shonrens написав:Itari написав:Яб так робив:
bool IPCheck(char *s){
int a[4];
return sscanf(s,"%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3])==4
&& (a[0]>=0 && a[0]<256)
&& (a[1]>=0 && a[1]<256)
&& (a[2]>=0 && a[2]<256)
&& (a[3]>=0 && a[3]<256)
;
}
я тут подумав був і зрозумів що переводити не обовязково)
А якщо буде введено десь не число, а якісь інші символи - це теж працюватиме? чи вилетить з помилкою?
хм, тобто якщо я візьму if (str <= 255 && str >= 0) нічого не вийде?
Itari написав:Яб так робив:
bool IPCheck(char *s){
int a[4];
return sscanf(s,"%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3])==4
&& (a[0]>=0 && a[0]<256)
&& (a[1]>=0 && a[1]<256)
&& (a[2]>=0 && a[2]<256)
&& (a[3]>=0 && a[3]<256)
;
}
я тут подумав був і зрозумів що переводити не обовязково)
Master_Sergius написав:Без регулярних виразів теж не складно. Коротко один із примітивних алгоритмів:
1) перебираємо циклом усі символи в рядку, копіюємо у підрядок до зустрічі з крапкою або з кінцем рядка
2) коли зустріли крапку - те, що скопійовано в підрядку - має бути одне із 4-ох чисел - пробуємо його перевести в число і подивитися чи належить проміжку [0;255]
3) як тільки щось не так, можна відразу сміло переривати цикли, виходити з функції і казати, що то не валідний айпі, а якщо цикл пройшов успішно до кінця, то айпі - валідний
п.с. в неті є готові регулярні вирази для перевірки айпішок, але Вам ще не можна ними користуватися
Дуже дякую, буду пробувати.
Betterthanyou написав:shonrens написав:Наприклад я ввів адресу 127.0.0.0, як я можу 127 зробити типом int?
Не знаю чи так правильно буде алей можна зробити структуру
struct IP
{
int field1,
field2,
field3,
field4;
};
...
IP ip1;
ip1.field1 = 127;
ip1.field2 = 0;
ip1.field3 = 0;
ip1.field4 = 0;
Або я не розумію або я не правильно задав питання.
Наприклад в мене є string str = "127"; Потрібно ip1.field = str;
FakiNyan написав:вам про регулярки вже розповідали?
здається поки ні
Доброї ночі маю ось таку задачу
"(1) Для виходу у Інтернет кожен комп’ютер отримує IP-адресу. Вона містить чотири цілих числа у діапазоні від 0 до 255, розділених крапками. Наприклад,
127.0.0.0
192.168.0.01
255.00.255.255
Написати програму, яка перевіряє чи введений рядок є правильною IP-адресою.
"
Наприклад я ввів адресу 127.0.0.0, як я можу 127 зробити типом int? Чи можливо ви зможете підказати як правильніше робити перевірку.
Ip адресу записую в зміну типу
koala написав:А у вашій математиці, якщо 0 три рази збільшити на 1, має виходити щось інше, крім 3? Розкажіть детальніше.
перший раз символ ! counter++ (0),
Потім знайшов "." counter++ (1)
Потім знаходжу ? і counter++ (2)
трохи не так написав я мав на увазі так
counter = 0 перший раз символ !
Потім знайшов "." counter++ (1)
Потім знаходжу ? і counter++ (2)
я так бачу як мій лічильник рахує.
Знайдені повідомлення: з 1 по 20 з 48