- 1
- 2
- 3
- 4
int getGKnumber()
{
return 7000;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+148
int getGKnumber()
{
return 7000;
}
просто гет :)
+153
if(FirstDot == 0 && LastDot == 0)
NoDots = true;
else
if(FirstDot != 0 && LastDot == 0)
throw gcnew System::Exception("Левый коррелятор начал работу, правый - нет.");
else
if(FirstDot == 0 && LastDot != 0)
throw gcnew System::Exception("Правый коррелятор начал работу, левый - нет.");
else
if(FirstDot != 0 && LastDot != 0)
if(FirstDot == LastDot)
NoDots = true;
else
NoDots = false;
else
throw gcnew System::Exception("WTF?");
Нужно определить, есть на графике точки или нет. Человек решил подстраховаться и рассмотреть все возможные (и невозможные) варианты.
+147
char c;
cin>>c;
if (c == 'a') cout<<'a';
if (c == 'b') cout<<'b';
if (c == 'c') cout<<'c';
//....
if (c == 'z') cout<<'z';
классика
+171
const_cast<TRefalAbstract*>(this)=new TRefal();
+171
// Файл settings.cpp
#define SETTINGS_READ
#include "Settings.h"
#undef SETTINGS_READ
#include "Settings.h"
#endif
// ----------------------------------
// Файл settings.h
#ifdef SETTINGS_READ
#define _XML_OPTION_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {/*XML.IntoElem();*/ XML.GetData(value); /*ShowVar(value);ShowVar(_CRT_WIDE(#name));*/ /* XML.OutOfElem();*/}
#define _XML_OPTION_ATTR(name,value) XML.GetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {XML.IntoElem();
#define XML_NODE_START_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) {
#define XML_NODE_STARTS(name,value) if (XML.FindElem(name)) {
#define XML_NODE_START_VALUE(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);XML.IntoElem();
#define XML_NODE_START_VALUE_WITHATTRIB(name,value) if (XML.FindElem(_CRT_WIDE(#name))) { XML.GetData(value);
#define XML_NODE_END() \
XML.OutOfElem(); \
}
#define XML_OPTION_VALUE(name) _XML_OPTION_VALUE(name,name)
#define XML_OPTION_MEMBER_VALUE(prefix, name) _XML_OPTION_VALUE(name, prefix##.name)
#define XML_OPTION_ATTR(name) _XML_OPTION_ATTR(name,name)
#define XML_OPTION_MEMBER_ATTR(prefix, name) _XML_OPTION_ATTR(name, prefix##.name)
#define COLOR_TO_PINT(c) (*(int*)&##c)
#else
// SAVING MACROSES
#define _XML_OPTION_VALUE(name,value) XML.AddElem(_CRT_WIDE(#name),value) ; /*XML.OutOfElem();*/
#define _XML_OPTION_ATTR(name,value) XML.SetAttrib(_CRT_WIDE(#name),value)
#define XML_NODE_START(name,value) XML.AddElem(_CRT_WIDE(#name)); {XML.IntoElem();
// ( еще десяток макросов)
#endif
#ifdef SETTINGS_READ
bool CSettings::MacroLoadSettings(CMyXml &XML)
{
#else
bool CSettings::MacroSaveSettings(CMyXml &XML)
{
#endif
TCHAR szFont[1024];
CString Font;
XML_NODE_START(Settings);
XML_NODE_START(General);
XML_OPTION_MEMBER_VALUE(Settings,Language);
XML_OPTION_VALUE(ExplorerContextMenu);
#ifndef SETTINGS_READ
HotkeysStr= Settings.Hotkeys.toString();
FontToString(&LogoSettings.Font,Font);
#endif
XML_OPTION_VALUE(HotkeysStr);
#ifdef SETTINGS_READ
Settings.Hotkeys.DeSerialize(HotkeysStr);
StringToFont(Font, &LogoSettings.Font);
#endif
#endif
XML_NODE_END();
// ..............................................
XML_NODE_END(); // end of settings
XML_NODE_END(); //
return true;
}
Фееричный пример повторного использования кода с помощью директив препроцессора.
Создано с целью совместить в одном месте чтение/запись настроек программы (с риском что-нибудь забыть) из XML файла.
+166
#ifdef _UNICODE
typedef wchar_t char_t;
namespace std
{
typedef wstring string_t;
typedef wistream istream_t;
typedef wostream ostream_t;
typedef wifstream ifstream_t;
typedef wofstream ofstream_t;
typedef wostringstream ostringstream_t;
typedef wistringstream istringstream_t;
typedef wstringstream stringstream_t;
}
#else // MBCS or SBCS
typedef char char_t;
namespace std
{
typedef istream istream_t;
typedef ostream ostream_t;
typedef ifstream ifstream_t;
typedef ofstream ofstream_t;
typedef string string_t;
typedef ostringstream ostringstream_t;
typedef istringstream istringstream_t;
typedef stringstream stringstream_t;
}
#endif // _UNICODE
Продолжаю разребать мега-ровный-код убер-чётких-кодеров.
В этой серии:
1. Иньекции в чужой namespace (погладь std сцуко)
2. Windows[ANSI/UNICODE] == C++[std::string/std:wstring], кодировко-зависимый-независимый код
3. Читайте матчасть std::basic_string<char> == std::string
+162
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
int main(void) {
//Vvod stroki
int n=81;
char s[n];
int i,j=0,k=0,l=0;
cout<<"Vvedite slova:"<<endl;
gets (s);
char** str=new char*[n];
str[l]=new char[n];
for(i=0; i<n; i++){
if(s[i]!=' '){
if(!s[i])break;
str[l][k]=s[i];
k++;
}
if(s[i]==' '){
if(s[i-1]==' '){goto m1;}
l++; str[l]=new char[n]; k=0;
}
m1: ;
}
//Informacia
cout<<"Kolichestvo slov: "<<l+1<<endl;
for(j=0;j<=l;j++){
for(i=0;i<n;i++){
cout<<str[j][i];
} cout<<endl;
}
cout<<endl;
//Perevod
char** per=new char* [n];
for(i=0;i<n;i++)
per[i]=new char [n];
int h;
for(j=0;j<=l;j++){
h=0;
for(i=0;i<n;i=i+5){
if(!str[j][i+4]){break;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='0'
&& str[j][i+3]=='0'
&& str[j][i+4]=='0'){
per[j][h]='a'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='0'
&& str[j][i+3]=='0'
&& str[j][i+4]=='1'){
per[j][h]='b'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='0'
&& str[j][i+3]=='1'
&& str[j][i+4]=='0'){
per[j][h]='c'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='0'
&& str[j][i+3]=='1'
&& str[j][i+4]=='1'){
per[j][h]='d'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='1'
&& str[j][i+3]=='0'
&& str[j][i+4]=='0'){
per[j][h]='e'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='1'
&& str[j][i+3]=='0'
&& str[j][i+4]=='1'){
per[j][h]='f'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='1'
&& str[j][i+3]=='1'
&& str[j][i+4]=='0'){
per[j][h]='g'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='0'
&& str[j][i+2]=='1'
&& str[j][i+3]=='1'
&& str[j][i+4]=='1'){
per[j][h]='h'; h++;}
if(str[j][i+0]=='0'
&& str[j][i+1]=='1'
&& str[j][i+2]=='0'
Написать программу, которая вводит с клавиатуры символьную строку длиной не более 80 символов. Строка должна быть введена посимвольно с использованием функции getchar(). Строка должна представлять собой произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Предложение должно быть записано с использованием cистемы кодирования, в которой букве русского алфавита поставлен в соответствие 5-значный двоичный код (например, А - 00000, Б - 00001, В - 00010 и т.п.). Из нее построить новую строку, в которой дан перевод исходной строки. Результат выдать на экран.
+160
template <class Type, unsigned long Dim> inline MStreamTextIn&
MStreamTextIn::operator >>(const MMVector<Type, Dim>& o_value)
{
for (unsigned long i = 0; i < Dim; i++)
GetBaseStream() >> i_value[i];
return *this;
}
copy-paste & templates
o_vlaue == i_value it's magic
+154
unsigned int i; // be positive! :D
+147
GOVNOREGER© для govnokod.ru
http://slil.ru/31180342