О, ты не признаешь технологий? Я книжку отдажды читал, там был тип на тебя похожий, его Женей звали. Женя Базаров именно так! Этого далеко недостаточно и на этом никуда не уедешь и дальше абстрактных задачек не продвинешься. Вот пример задачки(недавно делал): составить БД(ФИО юзверя|IP|MAC|порт на патч-панели|порт на коммутаторе) с автозаполнением IP и MAC через номер порта коммутатора. С одной стороны все просто, но с другой стороны без знания HTTP, HTML, SQL, SNMP хyй что сделаешь.
Ну если тебе важней успеть в срок то да конечно, только потом пользователь имеет кучу багов и недоделок. Тут нужно просто для себя выбрать либо быстро и сердито либо дольше(не всегда потому что нет нужды писать то что уже написано, особенно уже проверенные компоненты), но качественней. Вот! О чем и речь. Использовать готовые модули это не плохо, важно понимать что ты на копи пейстил. Потом прога накручивается и если делаешь и не понимаешь то в через неделю ваще не разберешся...
2 nerezus все нормальные работодатели знают что брать спеца лучше с алгоритмической подготовкой а в MSDN он и сам глянет! Разное время на обучение специалистов! Давай я вам дам задачку (ЗАДАЧА РЕАЛЬНАЯ И МНЕ ПОХ ЧТО ТЫ ЧЕГО ТО ТАМ ДЕЛАЕШЬ С МАК И SQL) ... я вас понял обоих ! ПОЭТОМУ ДАВАЙТЕ КА ПОНТАНИТЕСЬ Два массива A и B массивы представляют из себя базы с числом записей 10000, для упрощения скажу что там одно единственное поле уникальное ,но может встречаться и пробел который назовем пустым полем. Массив B образован путем ПЕРЕМЕШИВАНИЯ, УДАЛЕНИЯ, ВВОДА НОВЫХ. Скажу сразу порядок элементов является ВАЖНЫМ! Передавать базу ежедневно по сети - это не решение! Суть такова имея 2 массива создать МИНИМАЛЬНОЕ количество комманд синхронизации I(N) -вставка строки по номеру N со сдвигом всех нижних ниже D(N) -удаление строки с номером N cо сдвигом всех нижних вверх S(N,V) -вставка значений в строку N c перезаписью значения. ... кароче разговор превращенный во флуд прекращаем, пока не будет решения! Алгоритмы мне ваши не нужны своих хватает, поэтому решение будет засчитываться как сами комманды! Понятно что быдлокодер будет просто тупо передавать базу с ипользованием TCP 8)))) .... и не важно что он использует TCP главное что его задача с первого момента уже является ТРЭШОМ!
Я тут бред какойта написал Читаю я книгу по С++ там был пример моделирования игры =) то пример сработал .. я решил немного его переделать и он перестал работать .... Code: #include <stdafx.h> int roll(void); void game(int& money,int stav); int main(int argc, char *argv[]) { int bank = 1000; int stavka; setlocale(LC_ALL,"Russian"); std::cout << "Денег в банке: " << bank << std::endl; std::cout << "Делай ставку или уходи!(для ухода введите Ctrl+Z): "; while((stavka = std::cin.get()) != EOF) { if(stavka > bank) { std::cout << "Ставка не верна! Введите ставку ещё раз: "; } else { game(bank,stavka); std::cout << "Денег в банке:" << bank << std::endl; if(bank == 0) { std::cout << "Вы банкрот! Можете уходить." <<std::endl; break; } else { std::cout << std::endl << "Введите ставку для продолжения или Ctrl + Z для выхода: "; } } } return 0; } void game(int& money,int stav) { enum Status { CONTINUE, WIN, LOST }; int sum,myPoint; Status gameStat; srand(time(NULL)); sum = roll(); switch(sum) { case 7: case 11: gameStat = WIN; break; case 2: case 3: case 12: gameStat = LOST; break; default: gameStat = CONTINUE; myPoint = sum; std::cout << "Очки: " << myPoint << std::endl; break; } while (gameStat == CONTINUE){ sum = roll(); if(sum == myPoint) gameStat = WIN; else if(sum == 7) gameStat = LOST; } if(gameStat == WIN) { std::cout <<"Вы выйграли!!!" << std::endl; money += stav; } else { std::cout <<"Вы проиграл!" << std::endl; money -= stav; } } int roll(void){ int sum1,sum2,all; sum1 = 1 + rand() % 6; sum2 = 1 + rand() % 6; all = sum1 + sum2; std::cout <<"Результат кидания: " << all << std::endl; return all; } воть ... при запуске я ввожу ставку... например 100 но она не берёт эту ставку а присваивает переменой stavka число 49(так и не понел откуда) потом он не спрашивая меня проходит ещё несколько кругов игры а потм вспоминает о том что надо ввести ставку =) Вот лог
2Doom123 49d = 31h = '1' те cin.get() берёт ввод в виде строки и не преобразует его к типу int ^_____^ если Си++ пользуй cin >> stavka; Возможно у cin есть методы нормально преобразующие ввод, но я слабо знаком с плюсами. счас на мсдн посмотрел, вроде в cin.get() можно задавать параметры для интерпритации ввода. Погугли на эту тему )
итак, 2 массива строк(все значения уникальные) A и B? И имея A и B на одной машине, надо на другую послать набор комманд, чтобы она на той A превратила в B?
#include <windows.h> Апи функции: RegOpenKey, RegOpenKeyEx,RegSetValue, примеры использования можно найти в гугле или на мсдн
прямая сцылко на описание реестра на MSDN http://msdn.microsoft.com/en-us/library/ms724871(VS.85).aspx
Обьясните плз чайнику почему при копирование одного символа из строки за ним появляется мусор(в перемонной b) Code: main() { char *a=new char[100]; char *b=new char[100]; strcpy(a,"abcde"); cout<<a<<endl; strncpy(b,a,1); printf("%s",b); getch(); } а если добавить строчку memset(b,NULL,100); то все ОК Разве переменная сразу после её инициализации не является пустой????
нет, автоматические переменные (память выделяется в стеке) при создании не обнуляются и там содержится мусор. Как и динамические массивы как в твоём примере (память выделяется в куче). Обнуляются только статические переменные (память в секции данных).
_nic вместо Code: char *a=new char[100]; лучше используй Code: char *a = (char*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 100);
2SlyBit не мешай человеку стандартную библиотеку изучать ^_____^ нда, и с чего ты взял, что это он под винду кодит?
2_nic она эффективнее ) тк в конечном итоге функции из стандартной библиотеки вызывают ВинАПИ и в частности эту функцию. Хотя можешь не парится и использовать malloc ... всмысле new ^_____^
Меня интересует, существуют ли какие-нибудь универсальные средства визуализации XML (XSD) на языке C(C++,C#), т.е. чтоб из xml-документа сделать графический, табличку, например, или массив табличек на листике.
Здравствуйте. Научился я чуточку кодить на PHP, решил начать кодить на С++. Так вот пара вопросов. 1. Как осуществить конкатенцию строк. Как получить строку, которая выглядит на пхп так: $a="hello, $name";. 2. Как имитировать клик, двойной клик мыши. Ставим курсор, получаем ид. окна, пишем SendMessage(windid, LBUTTONDOWN... потом батон ап. Но при запуске проги получается просто как будто я нажал и держу кнопку мыши. Реализовать полный щелчек? Например нужно запустить прогу с раб. стола(дабл клик), или нажать на кнопку меню. Спасибо. Надеюсь все описал понятно и без ошибок-я с мобилы. Буду очень благодарен за помощь.
1. char *strcat(char *dist, const char *src) - функция из стандартной библиотеки (объявляется в string.h) присоединяет src в конец dist. Нужно следить, чтобы в dist хватало места. 2. Если приложение твоё, то проще послать соответствующее WM_COMMAND, ктр запускает обработчик нажатия буттона. имитация DBLCLICK - WM_LBUTTONDBLCLK LEFTCLICK - WM_LBUTTONDOWN/WM_LBUTTONUP с соответствующими lParam и wParam ЗЫ сожги свою книгу по Си++