- 1
Sleep("pause");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+32
Sleep("pause");
Написал как-то ночью. Без комментариев.
+81
#include "stdafx.h"
#include "windows.h"
#include "iostream"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define прога_однако int _tmain(int argc, _TCHAR* argv[])
#define начнемс {
#define пора_заканчивать_однако }
#define возврощать_однако return
#define закончим_однако ;
#define ноль_однако 0
#define неделимое int
#define делимое float
#define логика_однако bool
#define символ char
#define поспать_однако system("pause")
#define откроем (
#define закроем )
#define туда >>
#define сюда <<
#define воспрошать_у_Юзверя_окаянного std::cin
#define сказать_Юзверю_окаянному std::cout
#define если if
#define иначе else
#define цикл_фор for
#define цикл_пока while
#define пойдем_туда goto
#define выбрать_из switch
#define вариант case
#define прервать break
#define размер sizeof
#define ложь false
#define истина true
#define по_умолчанию default
#define больше >
#define меньше <
#define больше_равно >=
#define меньше_равно <=
#define равно ==
#define прировнять =
#define не_равно !=
//-----------------------------------------------------
неделимое Места[3][3] закончим_однако
символ клавиша_меню закончим_однако
символ клавиша закончим_однако
логика_однако ход закончим_однако
неделимое последний_выиграш прировнять 0 закончим_однако
//-----------------------------------------------------
неделимое обновить_однако откроем закроем
начнемс
логика_однако Буфер[34][34] закончим_однако
неделимое i,j закончим_однако
цикл_фор откроем i прировнять 0 закончим_однако i меньше 34 закончим_однако i++ закроем // Стенки начало
начнемс
Буфер[i][0] прировнять 1 закончим_однако
Буфер[i][33] прировнять 1 закончим_однако
Буфер[0][i] прировнять 1 закончим_однако
Буфер[33][i] прировнять 1 закончим_однако
Буфер[11][i] прировнять 1 закончим_однако
Буфер[22][i] прировнять 1 закончим_однако
Буфер[i][11] прировнять 1 закончим_однако
Буфер[i][22] прировнять 1 закончим_однако
пора_заканчивать_однако // Стенки конец
//*****************************
цикл_фор откроем j прировнять 0 закончим_однако j меньше 3 закончим_однако j++ закроем
начнемс
цикл_фор откроем i прировнять 0 закончим_однако i меньше 3 закончим_однако i++ закроем
начнемс
выбрать_из откроем Места[i][j] закроем // Рисуем крестики и нолики
начнемс
неделимое a закончим_однако
вариант 1://1- Крестик
цикл_фор откроем a прировнять 2 закончим_однако a меньше_равно 9 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[ откроем i*11 закроем +11-a][ откроем j*11 закроем +a] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 2://2-Нолик
цикл_фор откроем a прировнять 3 закончим_однако a меньше_равно 8 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][2+j*11] прировнять 1 закончим_однако
Буфер[a+i*11][9+j*11] прировнять 1 закончим_однако
Буфер[2+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[9+i*11][a+j*11] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 0://0- Пустая клетка
//------------------
прервать закончим_однако
пора_заканчивать_однако
пора_заканчивать_однако
пора_заканчивать_однако
//*****************************
SetConsoleTextAttribute откроем GetStdHandle откроем STD_OUTPUT_HANDLE закроем , FOREGROUND_GREEN закроем закончим_однако
цикл_фор откроем j прировнять 0 закончим_однако j меньше 34 закончим_однако j++ закроем // Отрисовка массива начало
Крестики- нолики
Полный код http://paste.org.ru/?f9hw0h
+34
void
XmlRpcDispatch::work(double timeout)
{
...
nEvents = select(maxFd+1, &inFd, &outFd, &excFd, NULL);
...
}
void XmlRpcDispatch::terminate() {
...
XmlRpcSocket::connect(_cmd_sock, "127.0.0.1", port);
...
}
Не то чтобы говнокод, но забавный костыль. А как еще корректно выйти из select'a, ждущего входящих соединений? Создать соединение самому.
+21
if(m_bitRate < DSS_LOW_RATE/1000000.)
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
else if(m_bitRate > DSS_HIGH_RATE/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else if(m_bitRate > (.5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE)/1000000.)
{
m_bitRate = DSS_HIGH_RATE/1000000.;
}
else
{
m_bitRate = DSS_LOW_RATE/1000000.;
}
умиляет. ну хотя бы, упростить .5*(DSS_HIGH_RATE - DSS_LOW_RATE) + DSS_LOW_RATE) до (DSS_HIGH_RATE + DSS_LOW_RATE)/2 -- понятнее, да? тогда и if(m_bitRate > DSS_HIGH_RATE/1000000.) можно убрать за ненадобносью (ибо число которое больше чем максимальное из двух точно больше чем среднее из этих жвух), и самое верхнее if(m_bitRate < DSS_LOW_RATE/1000000.) можно убрать ибо в else у нас то же самое произойдет - и сразу как бы читаестя с ходу и понимается, не надо напрягаться.
Боже, как я люблю крупные проприетарные проекты написанные людьми выбравшими для себя не свою профессию разработчика софта...
+32
#include <iostream>
void f(char c) { std::cout << "f(char)" << std::endl; }
void f(signed char c) { std::cout << "f(signed char)" << std::endl; }
void f(unsigned char c) { std::cout << "f(unsigned char)" << std::endl; }
int main()
{
f('a');
f((signed char)('a'));
f((unsigned char)('a'));
return 0;
}
илитный ресурс сегодня мне раскрыл глаза на очередное крестоблядство керниган-гай-ричи-блядство:
с:
The implementation shall define char to have the same range, representation, and behavior as either signed char or unsigned char.
Irrespective of the choice made, char is a separate type from the other two and is not compatible with either.
с++:
Characters can be explicitly declared unsigned or signed. Plain char, signed char, and unsigned char are three distinct types.
+38
#include <iostream>
using namespace std;
class Program
{
public:
friend int main()
{
return 0;
}
};
Мой знакомый говорит, что его компилятор поддерживает Java\C#-нотацию точки входа таким образом. И ещё он говорит, что так должно компилироваться по стандарту.
+33
class Chatter : public QListBoxItem {
[...]
private:
static ChatterRef *chatters[MAX_NUM_CHATTERS];
[...]
friend int main(int, char *argv[]); // to destroy chatters[]
};
Сам проект: http://www.qtchat.org/qtchat/
Пример дается в этой книге: http://books.google.ru/books?id=8lYbNfsAVT4C&dq=qtchat&source=g bs_navlinks_s как пример friend-функций
+36
gp_terrains.at(0)->draw();
//it took me only 50 lines of spaghetti code to implement the spiral layout
//direction 1 for +x, 2 for +y, 3: -x, 0: -y
int repetition_count = 1;
int i = 1;
int direction = 0;
while(i < (int)gp_terrains.size()) {
for (int k = 0; k < 2; k++) {
direction = (++direction) % 4;
for (int j = 0; j < repetition_count; j++) {
switch(direction) {
case 1: {
glTranslated(512, 0, 0);
gp_terrains.at(i)->draw();
break;
}
case 2: {
glTranslated(0, 512, 0);
gp_terrains.at(i)->draw();
break;
}
case 3: {
glTranslated(-512, 0, 0);
gp_terrains.at(i)->draw();
break;
}
case 0: {
glTranslated(0, -512, 0);
gp_terrains.at(i)->draw();
break;
}
}
if (++i >= (int)gp_terrains.size())
break;
}
if (i >= (int)gp_terrains.size())
break;
}
if (i >= (int)gp_terrains.size())
break;
repetition_count++;
+20
D:\Sources\jimbot_at_cpp>make -f Makefile.win clean-full
rm -f *.o lib.a dist/jimbot.exe
D:\Sources\jimbot_at_cpp>make -f Makefile.win lib
gcc -c sqlite3.c -pipe -O2 -g1 DSQLITE_THREADSAFE=1
gcc.exe: error: DSQLITE_THREADSAFE=1: No such file or directory
make: *** [lib] Error 1
D:\Sources\jimbot_at_cpp>make -f Makefile.win
g++ -c *.cpp -std=c++0x -O2 -g1 -pipe -Wno-deprecated -Wno-write-strings -Wno-de
precated-declarations -DDEBUG -DEASTER -DTESTER
g++ -o dist/jimbot -pipe *.o -O2 -g1 lib.a -lpthread -lgnutls -lwsock32 -ladvap
i32 -lcrypt32 -lsecur32 -ldnsapi -liconv
g++.exe: error: lib.a: No such file or directory
make: *** [all] Error 1
D:\Sources\jimbot_at_cpp>
+29
template <class Monad>
struct XMapM {
template <class F, class M> struct Sig : FunType<F,M,
typename RT<typename ::fcpp::BindM<Monad>::Type,M,typename LEType<
LAM<LV<1>,CALL<typename ::fcpp::UnitM<Monad>::Type,
CALL<F,LV<1> > > > >::Type>::ResultType> {};
template <class F, class M>
typename Sig<F,M>::ResultType
operator()( const F& f, const M& m ) const {
LambdaVar<1> A;
return bindM<Monad>()( m, lambda(A)[ unitM<Monad>()[f[A]] ] );
}
};
Хаскель не нужен.