- 1
std::string s = "a" /* + */ "b";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+60
std::string s = "a" /* + */ "b";
+59
#include <iostream>
#include <time.h>
#include <cmath>
#include <windows.h>
using namespace std;
int main()
{
Hashtable^ hat = gcnew Hashtable();
hat->Add(1,"|");
hat->Add(2,"||");
hat->Add(3,"|||");
hat->Add(4,"||||");
hat->Add(5,"|||||");
hat->Add(6,"||||||");
hat->Add(7,"|||||||");
hat->Add(8,"||||||||");
hat->Add(9,"|||||||||");
hat->Add(10,"||||||||||");
hat->Add(11,"|||||||||||");
hat->Add(12,"||||||||||||");
hat->Add(13,"|||||||||||||");
hat->Add(14,"||||||||||||||");
hat->Add(15,"|||||||||||||||");
hat->Add(16,"||||||||||||||||");
hat->Add(17,"|||||||||||||||||");
hat->Add(18,"||||||||||||||||||");
hat->Add(19,"|||||||||||||||||||");
hat->Add(20,"||||||||||||||||||||");
hat->Add(21,"|||||||||||||||||||||");
hat->Add(22,"||||||||||||||||||||||");
hat->Add(23,"|||||||||||||||||||||||");
hat->Add(24,"||||||||||||||||||||||||");
hat->Add(25,"|||||||||||||||||||||||||");
hat->Add(26,"||||||||||||||||||||||||||");
hat->Add(27,"|||||||||||||||||||||||||||");
hat->Add(28,"||||||||||||||||||||||||||||");
hat->Add(29,"|||||||||||||||||||||||||||||");
hat->Add(30,"||||||||||||||||||||||||||||||");
hat->Add(31,"|||||||||||||||||||||||||||||||");
hat->Add(32,"||||||||||||||||||||||||||||||||");
hat->Add(33,"|||||||||||||||||||||||||||||||||");
hat->Add(34,"||||||||||||||||||||||||||||||||||");
hat->Add(35,"|||||||||||||||||||||||||||||||||||");
hat->Add(36,"||||||||||||||||||||||||||||||||||||");
hat->Add(37,"|||||||||||||||||||||||||||||||||||||");
hat->Add(38,"||||||||||||||||||||||||||||||||||||||");
hat->Add(39,"|||||||||||||||||||||||||||||||||||||||");
hat->Add(40,"||||||||||||||||||||||||||||||||||||||||");
hat->Add(41,"|||||||||||||||||||||||||||||||||||||||||");
hat->Add(42,"||||||||||||||||||||||||||||||||||||||||||");
hat->Add(43,"|||||||||||||||||||||||||||||||||||||||||||");
hat->Add(44,"||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(45,"|||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(46,"||||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(47,"|||||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(48,"||||||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(49,"|||||||||||||||||||||||||||||||||||||||||||||||||");
hat->Add(50,"||||||||||||||||||||||||||||||||||||||||||||||||||");
srand(time(0));
for(int i = 1; i<50; i++)
{
int r = rand() % 1000;
String^ s = hat[i]->ToString();
Console::WriteLine("\r"+i*2+"% completed:"+s);
}
cout << endl << "Operation completed successfully.\n" << flush;
return 0;
}
// http://stackoverflow.com/questions/16635787/making-a-console-progress-bar-windows/19589370#19589370
// Рисуем прогресс бар на С++
+51
{
INT TextTickIdx(-1), MinorCnt( m_AxisX->GetMinorTick() || m_AxisX->GetDisplayMinorGrid() ? (INT)m_AxisX->GetMinorTickSpace() : 0 );
std::vector<std::pair<RectF,INT>>::iterator SLRit = SavedLabelRects.begin();
std::vector<std::pair<SizeF,SizeF>>::iterator STSit = SavedTextSizes.begin();
if(SLRit != SavedLabelRects.end())
TextTickIdx = NotEmptyIdxs[SLRit->second];
BOOL ShowCatLines(m_AxisX->GetShowCategoryLines());
std::map<REAL, PointF> CatPts;
if(ShowCatLines)
{
// берём все возможные по всей длине оси
REAL CatOff(0);
if(m_AxisXPlacement == CAXP_ONTICK)
CatOff = CalcScaleIntervalW/2.0f;
INT CatLnsCnt = (m_AxisXPlacement == CAXP_ONTICK) ? PointsCount : PointsCount + 1;
for(INT i(0);i < CatLnsCnt;i++)
{
PointF Pt;
REAL SecCoord;
switch(Position)
{
case AA_TOP:
case AA_BOTTOM:
SecCoord = AxisXSelfRect.X + CatOff + i*CalcScaleIntervalW;
Pt.X = SecCoord;
break;
case AA_LEFT:
case AA_RIGHT:
SecCoord = AxisXSelfRect.Y + CatOff + i*CalcScaleIntervalW;
Pt.Y = SecCoord;
break;
}
CatPts.insert(std::make_pair(SecCoord, Pt));
}
}
PointF TickOff(0,0);
BOOL TicksBetweenCategories(m_AxisX->GetTicksBetweenCategories());
if(TicksBetweenCategories)
{
switch(Position)
{
case AA_TOP:
case AA_BOTTOM:
TickOff.X = ReversedAxisX ? -CalcScaleIntervalW*0.5f : CalcScaleIntervalW*0.5f;
break;
case AA_LEFT:
case AA_RIGHT:
TickOff.Y = ReversedAxisX ? CalcScaleIntervalW*0.5f : -CalcScaleIntervalW*0.5f;
break;
}
}
std::vector<CDgmAxisTickTextDrawCacheItem>& AxisXTickCache = m_AxisX->GetDrawTickTextCache();
long TickInterval = IsDateAxis ? m_AxisX->GetDateAxisSettings()->GetMajorTickUnitInterval() : m_AxisX->GetTickMarksInterval();
if(TickInterval < 1)
TickInterval = 1;
INT TickStartAt = (m_AxisXPlacement == CAXP_ONTICK && !TicksBetweenCategories ? 0 : 1);
DATE DateMajorTickStartAt = m_AxisX->GetDateAxisSettings()->GetMajorTickStartAt();
INT CategoryMajorTickStartAt = m_Owner->GetCategoryFromDate(DateMajorTickStartAt) - 1;
if (CategoryMajorTickStartAt < 0)
{
CategoryMajorTickStartAt = 0;
}
CDgmDateAxisUnit MinorLabelTickUnits(DAU_AUTO);
if(IsDateAxis)
{
CDgmDateAxisSettings* ds = m_AxisX->GetDateAxisSettings();
MinorLabelTickUnits = ds->GetMinorTickUnit();
if(MinorLabelTickUnits == DAU_AUTO)
MinorLabelTickUnits = m_CalculatedDateAxisAutoMajorTickUnit;
MinorCnt = ds->GetMinorTickUnitInterval();
if(MinorCnt < 1)
MinorCnt = 1;
}
INT _k(0);
for (INT i(0), Cnt(Names.size());i < Cnt;i++)
{
CDgmAxisTickTextDrawCacheItem CacheItem;
BYTE nShow(0);
CacheItem.TickDrawPoint = Names[i].first + TickOff;
CacheItem.SetTextVisible(i == TextTickIdx);
if(i == TextTickIdx) // метка с текстом
{
CacheItem.TextDrawCenter = Names[i].first; // именно тик, т.к. одная координата у них общая, а вторая
// координата тика, ректа и центра после будет
// скорректирована по оси Х, из-за того, что ее
// размер и положение изменятся
CacheItem.PointIdx = Names[i].second.second;
if(CacheItem.PointIdx < 0)
CacheItem.TextValue = Names[i].second.first->m_text.GetPlainText();
CacheItem.TextDrawSize = SLRit->first;
CacheItem.FontSize = FontHeight;
CacheItem.m_sizefDrawBounds = STSit->first;
CacheItem.m_sizefTextBounds = STSit->second;
if (CacheItem.TextDrawCenter.X + CacheItem.TextDrawSize.Width * 0.5f > Max)
{
CacheItem.TextDrawCenter.X = Max - CacheItem.TextDrawSize.Width * 0.5f;
Маааленький фрагментик большущего метода расчета координат для вывода подписей на оси Х на диаграмме. Так принято говнокодить в одной очень крупной российской ИТ-компании, занимающейся разработкой BI-продуктов.
+48
(selectedChessman ?: selected)->unselect();
да уж
+51
template<class T, size_t N>
constexpr size_t sa(T (&)[N])
{
return N;
};
static std::memory_order mmo[] =
{
memory_order_relaxed,
memory_order_consume,
memory_order_acquire,
memory_order_release,
memory_order_acq_rel,
memory_order_seq_cst
};
std::memory_order current_program_memory_order()
{
return mmo[rand()%sa(mmo)];
}
void current_program_memory_barier()
{
std::atomic_thread_fence(current_program_memory_order());
}
+54
class SpinLock
{
std::atomic_flag lck;
public:
SpinLock(){
unlock();
}
__forceinline void lock(){
while (lck.test_and_set(std::memory_order_acquire)){
}
}
__forceinline void unlock(){
lck.clear(std::memory_order_release);
}
};
+62
if( state != !val )
{
state = !val;
}
Переключение. Обе переменные булевские.
+51
void main() {
system("color 04");
setlocale(LC_ALL, "rus");
if (start == false) {
logos();
loading();
start = true;
system("cls");
}
if (get_hero_s == false) {
get_hero();
get_hero_s = true;
}
menu();
map();
if (go_went_gone == 1) {
system("cls");
cout << "\nВы напали на оборотня в тёмном лесу\n";
loading();
Sleep(1400);
fight("werewolf");
go_went_gone = 0;
main();
}
else if (go_went_gone == 3) {
system("cls");
cout << "\nВы напали на лучника в мрачном поле\n";
loading();
Sleep(1400);
fight("archer");
go_went_gone = 0;
main();
}
if (go_went_gone == 2) {
system("cls");
cout << "\nВы напали на гоблина в тёмном лесу\n";
loading();
Sleep(1400);
fight("werewolf");
go_went_gone = 0;
main();
}
else if (go_went_gone == 4) {
system("cls");
cout << "\nВы напали на лучника на костяного лучника в подземелье \n";
loading();
Sleep(1400);
fight("archer");
go_went_gone = 0;
main();
}
Рекурсия мейна, и это курсовая работа!!
+55
bool validateIp(std::string& ip) {
if( ip.length() == 0 ) {
return false;
}
if( ip[0] == '.' ) {
return false;
}
// Проверка на наличие 3 точек
int cp = 0;
for( int i = 0; i < ip.length(); i++ ) {
if( ip[i] == '.' ) {
cp++;
}
}
if( cp != 3 ) {
std::cout << "проверка на 3 точки" << std::endl;
return false;
}
//=====================
// Проверка на 2 точки подряд
for( int i = 0; i < ip.length()-1; i++ ) {
if( ip[i] == '.' && ip[i+1] == '.' ) {
std::cout << "проверка на 2 точки подряд" << std::endl;
return false;
}
}
//===========================
//Проверка на больше 3 цифр подряд
int i = 0;
int j = 0;
for( i = 0; i < ip.length(); i++ ) {
for( j = i; j < i+4 && j < ip.length(); j++ ) {
if( j == i+3 && ip[j] != '.' ) {
std::cout << "проверка на 4 цифры подряд" << std::endl;
return false;
}
if( ip[j] == '.' ) {
i = j;
break;
}
}
}
return true;
//============================
}
Валидация IP-адреса
+51
while (w.pollEvent(event)) {
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Period)) {
ip += ".";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num0)) {
ip += "0";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num1)) {
ip += "1";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num2)) {
ip += "2";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num3)) {
ip += "3";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num4)) {
ip += "4";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num5)) {
ip += "5";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num6)) {
ip += "6";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num7)) {
ip += "7";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num8)) {
ip += "8";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Num9)) {
ip += "9";
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::BackSpace) && ip.length() > 0) {
ip.erase(ip.end() - 1, ip.end());
}
if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Return)) {
if (validateIp(ip)) {
Text c("Connection...", f);
c.setColor(Color::Black);
c.setPosition(100, 20);
w.draw(c);
w.display();
return ip;
} else {
ip.erase(ip.begin(), ip.end());
wrongAnswer = true;
}
}
if (event.type == Event::Closed) {
w.close();
return 0;
}
}
Ввод IP-адреса в интерфейсе игры