Кресты / Говнокод #314 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
double StrToMoney(AnsiString str)
{
  str = AnsiReplaceStr(str, "-", ".");
  char *buffer = str.c_str();
  double val;
  sscanf(buffer,"%lf",&val);
  return val;
}

Быдлокодер на борланд С++ хотел сконвертить в число деньги в формате рубли-копейки. И сделал это наименее эффективным образом.

guest guest, (Updated )

Комментарии (0)

Кресты / Говнокод #295 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
for(int i=0;i<m_tabWidget->count();i++){
		textEdit = (TextEdit*)m_tabWidget->widget(i);
		if( textEdit && textEdit->close()){
			delete textEdit;
			textEdit = 0;
		}
                else break;
	}

Часто забывают, что количество элементов в списке изменяется при удалении из него.

guest guest, (Updated )

Комментарии (3, +3)

Кресты / Говнокод #286 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
int p,k,l,i,j,d,q,R,t,r;
  S1:    s=0; p=1;
  S2:    if (s==0) { i=1; j=n; k=n; l=2*n+1; }
         if (s==1) { i=n+1; j=2*n; k=0; l=n+1; }
         d=1; q=p; r=p;
  S3:    if (x[i]>K>x[j]->K) goto S8;
  S4:    k=k+d; x[k]=x[i]; c[k]=c[i];
  S5:    i+=1; q-=1; if (q>0) goto S3;
  S6:    k+=d; if (k==l) goto S13; else x[k]=x[j];c[k]=c[j];
  S7:    j-=1; r-=1; if (r>0) goto S6; else goto S12;
  S8:    k+=d; x[k]=x[j]; c[k]=c[j];
  S9:    j-=1; r-=1; if (r>0) goto S3;
  S10:   k+=d; if (k==l) goto S13; else x[k]=x[i];c[k]=c[i];
  S11:   i+=1; q-=1; if (q>0) goto S10;
  S12:   q=p; r=p; d=-d; t=k; k=l; l=t; if (j-i<p) goto S10; else goto S3;
  S13:   p+=p; if (p<n) { s=1-s; goto S2; }
         if (s==0) for (t=1; t<=n; t+=1) { x[t]=x[t+n];c[t]=c[t+n] }

Вот такой вариант сортировки предложен в одной известной книге. Оно работает...

guest guest, (Updated )

Комментарии (49, +49)

Кресты / Говнокод #248 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
void SimplexIteration::ReWidth()
{  w[-2]=w[0]=Width; w[-1]=5; for(size_t j=1;j<A.size_j();j++) w[j]=Width;
   if (var) for(size_t j=1; j<A.size_j(); j++)
               if(strlen(var[j])>w[j]) w[j]=strlen(var[j]);
}

Особенно порадовало w[-2]. Знаю, что так можно, но все равно говнисто.

guest guest, (Updated )

Комментарии (43, +43)

Кресты / Говнокод #247 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
switch (*p)
         {
            case '0': id += 0; break;
            case '1': id += 1; break;
            case '2': id += 2; break;
            case '3': id += 3; break;
            case '4': id += 4; break;
            case '5': id += 5; break;
            case '6': id += 6; break;
            case '7': id += 7; break;
            case '8': id += 8; break;
            case '9': id += 9; break;
            case 'a': case 'A': id += 10; break;
            case 'b': case 'B': id += 11; break;
            case 'c': case 'C': id += 12; break;
            case 'd': case 'D': id += 13; break;
            case 'e': case 'E': id += 14; break;
            case 'f': case 'F': id += 15; break;
            case 'g': case 'G': id += 16; break;
            case 'h': case 'H': id += 17; break;
            case 'i': case 'I': id += 18; break;
            case 'j': case 'J': id += 19; break;
            case 'k': case 'K': id += 20; break;
            case 'l': case 'L': id += 21; break;
            case 'm': case 'M': id += 22; break;
            case 'n': case 'N': id += 23; break;
            case 'o': case 'O': id += 24; break;
            case 'p': case 'P': id += 25; break;
            case 'q': case 'Q': id += 26; break;
            case 'r': case 'R': id += 27; break;
            case 's': case 'S': id += 28; break;
            case 't': case 'T': id += 29; break;
            case 'u': case 'U': id += 30; break;
            case 'v': case 'V': id += 31; break;
            case 'w': case 'W': id += 32; break;
            case 'x': case 'X': id += 33; break;
            case 'y': case 'Y': id += 34; break;
            case 'z': case 'Z': id += 35; break;
         }

считаем нечто типа хэша. захотим изменить алгоритм, сделав вместо сложения - ксор, будем фаница реплейсом.
источник http://www.winsim.com/diskid32/diskid32.cpp
там же красивые переменные int ijk = 0;

guest guest, (Updated )

Комментарии (11, +11)

Кресты / Говнокод #228 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
source code: C++


enum e_acomany {
	Audi,
	BMW, 
	Cadillac, 
	Ford,
	Jaguar, 
	Lexus 
	Maybach, 
	RollsRoyce, 
	Saab
};
?>

Маны бывают разные. Этот, например, по C++

guest guest, (Updated )

Комментарии (20, +20)

Кресты / Говнокод #227 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
CString temp;
temp.Preallocate(5000);
GetName(temp.GetBuffer());
name_.Format(L"%s", temp);

На самом деле после GetBuffer нужен ReleaseBuffer и Preallocate резервирует место, но не устанавливает длину.
Эти ошибки приводят к тому что использование name_ в GetName не работает и name_ = temp тоже не работает.
Хитрый "индокодер" выкрутился через Format.

guest guest, (Updated )

Комментарии (21, +21)

Кресты / Говнокод #226 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
while (!bFound && j < enmMessages)
{
	if (!strcmp(str.operator const char * (), strPacketName[j]))
	{
		iPacketType = j;
		bFound = true;
		TRACE(" of type %s\n",strPacketName[j]);
		strcat(strOut," of type ");
		strcat(strOut, strPacketName[j]);
		break;
	}
	j++;
}

guest guest, (Updated )

Комментарии (23, +23)

Кресты / Говнокод #225 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
#include <iostream>
#define true false
#define false true
using namespace std;
int main(){
	bool a = true;
	bool b = false;
	cout << "a " << a << endl << "b " << b << endl;
	system("pause");
	return 0;
}

По логике должно всё стать вечным тру, а получаем без изменений:(

guest guest, (Updated )

Комментарии (0)