- 1
- 2
- 3
- 4
- 5
- 6
- 7
if(pObject == NULL)
{
//code
}else if(pObject != NULL && pObject->getProperty() == Class::VALUE)
{
//code
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+993
if(pObject == NULL)
{
//code
}else if(pObject != NULL && pObject->getProperty() == Class::VALUE)
{
//code
}
Идентификаторы надуманные, но суть такова
+145
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define eps 0.001
float Phi1 (float x_pred[1])
{
return asin(1.2 + x_pred[1]) - 1;
}
float Phi2 (float x_pred[0])
{
return acos(2 - 2*x_pred[0]);
}
int main ()
{
float x_pred[1],x[1];
float norma;
x_pred[0] = 0.4;
x_pred[1] = -0.3;
do
{
x[0] = Phi1(x_pred[1]);
x[1] = Phi2(x_pred[0]);
printf("%6.2f",x[0]);
printf(" %6.2f\n",x[1]);
norma = (fabs(x[0] - x_pred[0])) > fabs((x[1] - x_pred[1])) ? fabs(x[0] - x_pred[0]) : fabs(x[1] - x_pred[0]);
if (norma >= eps) break;
else
{
x_pred[0] = x[0];
x_pred[1] = x[1];
}
}
while (1);
getch();
return 0;
}
+1006
const unsigned BAD_VALUE = (unsigned) -1;
typedef pair<string, unsigned> RomeDecPair;
typedef map<string, unsigned> Table;
Table g_table;
void InitTables()
{
g_table["I"] = 1;
g_table["II"] = 2;
g_table["III"] = 3;
g_table["IV"] = 4;
g_table["V"] = 5;
g_table["VI"] = 6;
g_table["VII"] = 7;
g_table["VIII"] = 8;
g_table["IX"] = 9;
g_table["X"] = 10;
g_table["XX"] = 20;
g_table["XXX"] = 30;
g_table["XL"] = 40;
g_table["L"] = 50;
g_table["XC"] = 90;
g_table["C"] = 100;
g_table["CC"] = 200;
g_table["CCC"] = 300;
g_table["CD"] = 400;
g_table["D"] = 500;
g_table["CM"] = 900;
g_table["M"] = 1000;
g_table["MM"] = 2000;
g_table["MMM"] = 3000;
}
.....
int main()
{
InitTables();
vector<RomeDecPair> tests;
tests.push_back(make_pair("I", 1));
tests.push_back(make_pair("II", 2));
tests.push_back(make_pair("III", 3));
tests.push_back(make_pair("IV", 4));
tests.push_back(make_pair("V", 5));
tests.push_back(make_pair("VI", 6));
tests.push_back(make_pair("VII", 7));
tests.push_back(make_pair("VIII", 8));
tests.push_back(make_pair("IX", 9));
tests.push_back(make_pair("X", 10));
tests.push_back(make_pair("XI", 11));
tests.push_back(make_pair("XII", 12));
tests.push_back(make_pair("XIII", 13));
tests.push_back(make_pair("XIV", 14));
tests.push_back(make_pair("XV", 15));
tests.push_back(make_pair("XVI", 16));
tests.push_back(make_pair("XVII", 17));
tests.push_back(make_pair("XVIII", 18));
tests.push_back(make_pair("XIX", 19));
tests.push_back(make_pair("XX", 20));
tests.push_back(make_pair("XXI", 21));
tests.push_back(make_pair("XL", 40));
tests.push_back(make_pair("XLII", 42));
tests.push_back(make_pair("LIX", 59));
tests.push_back(make_pair("LXXVII", 77));
tests.push_back(make_pair("XC", 90));
tests.push_back(make_pair("CX", 110));
tests.push_back(make_pair("CDXCIX", 499));
tests.push_back(make_pair("DLXXXIII", 583));
tests.push_back(make_pair("DCCCLXXXVIII", 888));
tests.push_back(make_pair("MDCLXVIII", 1668));
tests.push_back(make_pair("MCMLXXXIX", 1989));
tests.push_back(make_pair("MMMCMXCIX", 3999));
tests.push_back(make_pair("", BAD_VALUE));
tests.push_back(make_pair("IIIV", BAD_VALUE));
tests.push_back(make_pair("IIV", BAD_VALUE));
tests.push_back(make_pair("IIII", BAD_VALUE));
tests.push_back(make_pair("IIX", BAD_VALUE));
tests.push_back(make_pair("XIIII", BAD_VALUE));
tests.push_back(make_pair("XIIIIX", BAD_VALUE));
tests.push_back(make_pair("XIIIIX", BAD_VALUE));
tests.push_back(make_pair("XXXX", BAD_VALUE));
tests.push_back(make_pair("LL", BAD_VALUE));
tests.push_back(make_pair("CLC", BAD_VALUE));
tests.push_back(make_pair("CLL", BAD_VALUE));
tests.push_back(make_pair("DLD", BAD_VALUE));
tests.push_back(make_pair("LDD", BAD_VALUE));
tests.push_back(make_pair("LLI", BAD_VALUE));
tests.push_back(make_pair("MMMCMXCX", BAD_VALUE));
tests.push_back(make_pair("AXX", BAD_VALUE));
tests.push_back(make_pair("LXA", BAD_VALUE));
for (vector<RomeDecPair>::const_iterator it = tests.begin(), end = tests.end(); it != end; ++it)
{
CheckConversion(*it);
}
return 0;
}
+138
#define true false
happy debug!
+1001
bool f = true;
short c0 = a0, c1 = a1, c2 = a2, c3 = a3;
if (a0 < c1) { f = false; a0 = c1; a1 = c0 - c1; a2 = c1 - c2; a3 = c1 - c3; }
if (a0 < c2) { f = false; a0 = c2; a1 = c2 - c1; a2 = c0 - c2; a3 = c2 - c3; }
if (a0 < c3) { f = false; a0 = c3; a1 = c3 - c1; a2 = c3 - c2; a3 = c0 - c3; }
if (f) { a0 = c0; a1 = c0 - c1; a2 = c0 - c2; a3 = c0 - c3; }
Чувак не знает про else / else if. :(
+1001
// Функция регистрирующая ошибку
VOID SetError(DWORD dwError)
{
CHAR szErr[256];
sprintf(szErr, "%lu", dwError);
SetEnvironmentVariable("0xdeadc0de", szErr);
}
// Шеллкод
__declspec(dllexport)
VOID WINAPI Shell(REMSTART *pCtx)
{
pCtx->pLoadLibraryA(pCtx->sz);
CHAR szVar[] = {'0','x','d','e','a','d','c','0','d','e','\0'};
CHAR szErr[256];
if (!pCtx->pGetEnvironmentVariableA(szVar, szErr, sizeof(szErr)))
pCtx->pExitThread(ERROR_LOAD_HOOK_DLL);
DWORD dwError = 0;
for (DWORD i = 0; szErr[i]; i++)
{
dwError *= 10;
dwError += szErr[i] - '0';
}
pCtx->pExitThread(dwError);
}
Удивительнейший способ регистрации ошибок в функции DllMain при инжекте библиотеки шеллкодом из другого процесса (кто знает - тот поймет)... линк: http://www.wasm.ru/forum/viewtopic.php?id=43291
+997
class fileOutBuf : public streambuf
{
public:
// ...
typedef char char_type;
typedef int int_type;
typedef int streamsize;
// ...
int printf( const char * fpFormat, ... );
inline int vprintf( const char * fpFormat, va_list fvaList )
{
if ( NULL != dpFileDescriptor )
{
if ( true == sdVerboseFlag && false == dSkipVerboseOutput)
vfprintf( dpVerboseFileDescriptor, fpFormat, fvaList );
return vfprintf( dpFileDescriptor, fpFormat, fvaList );
}
else
{
if ( NULL != dpOutputFuncPtr )
return (*dpOutputFuncPtr)( fpFormat, fvaList );
}
return 0;
}
// ....
virtual int_type overflow( int_type c = EOF );
virtual streamsize xsputn( const char_type *s, streamsize n );
// ....
};
int fileOutBuf::printf( const char * fpFormat, ... )
{
va_list lvaList;
int lRet;
va_start( lvaList, fpFormat );
if ( NULL != dpFileDescriptor )
{
if ( true == sdVerboseFlag && false == dSkipVerboseOutput)
vfprintf( dpVerboseFileDescriptor, fpFormat, lvaList );
lRet = vfprintf( dpFileDescriptor, fpFormat, lvaList );
}
else
{
if ( NULL != dpOutputFuncPtr )
lRet = (*dpOutputFuncPtr)( fpFormat, lvaList );
}
va_end( lvaList );
return lRet;
}
fileOutBuf::int_type fileOutBuf::overflow( int_type c )
{
if ( NULL != dpFileDescriptor )
{
if ( true == sdVerboseFlag && false == dSkipVerboseOutput)
fputc( c, dpVerboseFileDescriptor );
return fputc( c, dpFileDescriptor );
}
else
return fileOutBuf::printf( "%c", c );
}
fileOutBuf::streamsize fileOutBuf::xsputn( const fileOutBuf::char_type *s, fileOutBuf::streamsize n )
{
if ( NULL != dpFileDescriptor )
{
if ( true == sdVerboseFlag && false == dSkipVerboseOutput)
fwrite( s, sizeof( char_type ), n, dpVerboseFileDescriptor );
return fwrite( s, sizeof( char_type ), n, dpFileDescriptor );
}
else
return fileOutBuf::printf( "%*s", n, s );
}
нетривиальная капипаста или делаем из мухи слона.
ЗЫ после удаления всей капипасты, от класа в целом осталось что-то около 50 строк.
+1002
BOOLEAN ConvertSizeToStr(__int64 size,TCHAR *buf,DWORD buf_size_c)
{
double dsize;
HRESULT hr;
dsize=(double)size;
if (size/1500000000000L>0)
{
dsize/=1099511627776L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Тб"),dsize);
}
else if (size/1500000000L>0)
{
dsize/=1073741824L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Гб"),dsize);
}
else if (size/1500000L>0)
{
dsize/=1048576L;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Мб"),dsize);
}
else if (size/1500>0)
{
dsize/=1024;
hr=StringCchPrintf(buf,buf_size_c,_T("%.2lf Кб"),dsize);
}
else
hr=StringCchPrintf(buf,buf_size_c,_T("%I64d байт"),size);
if (SUCCEEDED(hr))
return true;
else
return false;
}
Конвертировать байты в КБ/МБ/ГБ
+168
case IDC_LED1_ZERO:
if (::IsDlgButtonChecked (hWnd,IDC_LED1_ZERO) )
{
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ANYSPEED) )
::CheckDlgButton(hWnd,IDC_LED1_ANYSPEED,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_POSITION) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_POSITION) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_POSITION) )
::CheckDlgButton(hWnd,IDC_LED1_POSITION,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_DIGITAL_INPUT) )
::CheckDlgButton(hWnd,IDC_LED1_DIGITAL_INPUT,0);
::CheckDlgButton(hWnd,IDC_LED1_TURN_UNDER,0);
::CheckDlgButton(hWnd,IDC_LED2_ZERO,0);
::CheckDlgButton(hWnd,IDC_LED3_ZERO,0);
::CheckDlgButton(hWnd,IDC_LED4_ZERO,0);
}
break;
case IDC_LED1_ANYSPEED:
if (::IsDlgButtonChecked (hWnd,IDC_LED1_ANYSPEED) )
{
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ZERO) )
::CheckDlgButton(hWnd,IDC_LED1_ZERO,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_POSITION) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_POSITION) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_POSITION) )
::CheckDlgButton(hWnd,IDC_LED1_POSITION,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_DIGITAL_INPUT) )
::CheckDlgButton(hWnd,IDC_LED1_DIGITAL_INPUT,0);
::CheckDlgButton(hWnd,IDC_LED1_TURN_UNDER,0);
::CheckDlgButton(hWnd,IDC_LED2_ANYSPEED,0);
::CheckDlgButton(hWnd,IDC_LED3_ANYSPEED,0);
::CheckDlgButton(hWnd,IDC_LED4_ANYSPEED,0);
}
break;
case IDC_LED1_POSITION:
if (::IsDlgButtonChecked (hWnd,IDC_LED1_POSITION) )
{
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ZERO) )
::CheckDlgButton(hWnd,IDC_LED1_ZERO,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ANYSPEED) )
::CheckDlgButton(hWnd,IDC_LED1_ANYSPEED,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_DIGITAL_INPUT) )
::CheckDlgButton(hWnd,IDC_LED1_DIGITAL_INPUT,0);
::CheckDlgButton(hWnd,IDC_LED1_TURN_UNDER,0);
::CheckDlgButton(hWnd,IDC_LED2_POSITION,0);
::CheckDlgButton(hWnd,IDC_LED3_POSITION,0);
::CheckDlgButton(hWnd,IDC_LED4_POSITION,0);
}
break;
case IDC_LED1_TURN_UNDER:
if (::IsDlgButtonChecked (hWnd,IDC_LED1_TURN_UNDER) )
{
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ZERO) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ZERO) )
::CheckDlgButton(hWnd,IDC_LED1_ZERO,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_ANYSPEED) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_ANYSPEED) )
::CheckDlgButton(hWnd,IDC_LED1_ANYSPEED,0);
if (::IsDlgButtonChecked (hWnd,IDC_LED2_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED3_DIGITAL_INPUT) ||
::IsDlgButtonChecked (hWnd,IDC_LED4_DIGITAL_INPUT) )
::CheckDlgButton(hWnd,IDC_LED1_DIGITAL_INPUT,0);
::CheckDlgButton(hWnd,IDC_LED1_POSITION,0);
::CheckDlgButton(hWnd,IDC_LED2_TURN_UNDER,0);
::CheckDlgButton(hWnd,IDC_LED3_TURN_UNDER,0);
::CheckDlgButton(hWnd,IDC_LED4_TURN_UNDER,0);
}
Понадобилось добавить ещё один чек бокс. Зашёл в обработчик - а там такое. И это только начало, всё не поместилось. Чтобы представить масштабы скажу, что чекбоксов 16..., я должен добавить ещё 4.
+1000
bool __fastcall TItsString::operator == (const char* sVal) const
{
bool Empty1 = ((FStringValue == NULL) || (FStringValue[0] == 0));
bool Empty2 = ((sVal == NULL) || (sVal[0] == 0));
if (Empty1 && Empty2) return true;
if (Empty1 || Empty2) return false;
int i,j,k;
for(i=0; FStringValue[i] && (GET_LOWER_CHAR(FStringValue[i]) == GET_LOWER_CHAR(sVal[i])); i++);
if ((FStringValue[i] == 0) && (sVal[i] == 0)) return true;
j=i; k=i;
if (sVal[k] == 0) for(; FStringValue[i] == 0x20; i++);
if (FStringValue[k] == 0) for(; sVal[j] == 0x20; j++);
if ((FStringValue[i] == 0) && (sVal[j] == 0)) return true;
return false;
}