Напишете някоя C++ програма
37 отговора
2178 прегледа
Re: Напишете някоя C++ програма
#include <stdio.h>
int main()
{
printf("Аз съм кретен");
rerun -1;
}
Bеer? Mоre?
Плацебото
int main()
{
printf("Аз съм кретен");
rerun -1;
}
Bеer? Mоre?
Плацебото
Re: Напишете някоя C++ програма
Незнам кой е кретен, но си объркал return statement-a.
Re: Напишете някоя C++ програма
Абе М$ конзолните приложения май имат проблеми с кирилицата 
Мойта нема грижи
Ако ти е настроен правилно win-а немаш грижи с кирилицата в конзолата.
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Упс
Вярно съм го объркал :)
А то за кретена е повече от ясно - сега как да го кажа по ясно - ми аз съм си го казал.
Bеer? Mоre?
Плацебото
А то за кретена е повече от ясно - сега как да го кажа по ясно - ми аз съм си го казал.
Bеer? Mоre?
Плацебото
Re: Мойта нема грижи
Ми Regional Settings са Bulgarian. Language for Non-Unicode Programs - също.
В немаксимизиран конзолен прозорец, част (повечето са ок) от символите на кирилица са някви джиджавки.
В немаксимизиран конзолен прозорец, част (повечето са ок) от символите на кирилица са някви джиджавки.
Re: Напишете някоя C++ програма
Конзолните приложения нямат проблем. Проблем има редакторът ти, дето праска цп1251 или уникод кирилица, а конзолата, както всички знаем, се ползва със съвсем различна кодировка.
Ако нещо ви се струва сложно, мога да го направя още по-сложно
Ако нещо ви се струва сложно, мога да го направя още по-сложно
Re: Напишете някоя C++ програма
Да де. Само, че 1251 се използва по подразбиране от всички програми, ако не запазвам като Unicode и Уиндоуса е с нашенски настройки и не избера изрично съответната (не се сещам, май 855 или нещо такова беше) cp.
ПП Освен това оригиналният пост беше заяждане :) Не съм умрял да пиша кирилица в конзолата :)
ПП Освен това оригиналният пост беше заяждане :) Не съм умрял да пиша кирилица в конзолата :)
Бе не е хептен без грижи
Начи по принцип говорехме дали се вижда трудно/лесно кирилица, не дали като компилираш тва нещо дали ша излезе на кирилица :-)
Начи в текстовия редактор кодовата страница ти е 1251, а в конзолата е някоя досовска. При мен е (link) СP855, за да видиш при теб ползвай команда сhcp без аргументи от конзолата.
Компилирах си масивче от няколко букви и излиза :-)
Не съм запознат как в С се конвертират кодови страници, но вероятно може да се напише така:
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Начи в текстовия редактор кодовата страница ти е 1251, а в конзолата е някоя досовска. При мен е (link) СP855, за да видиш при теб ползвай команда сhcp без аргументи от конзолата.
Компилирах си масивче от няколко букви и излиза :-)
Не съм запознат как в С се конвертират кодови страници, но вероятно може да се напише така:
#include <stdio.h>
char cp855[256];
void Init(void)
{
cp855[0] = 0;
cp855[ ((unsigned char)'Ж') ] = 0xEA;
cp855[ ((unsigned char)'а') ] = 0xA0;
cp855[ ((unsigned char)'б') ] = 0xA2;
}
void convert( char *out, const char *inp, unsigned sz, const char *table )
{
for( ; sz!=0; --sz, ++out, ++inp )
{
*out = table[ (unsigned char)(*inp) ];
}
}
int main(void)
{
char buf[10];
Init();
convert( buf, "Жаба", 5, cp855 );
printf(buf);
return 0;
}
System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Редактирано от Colombino на
Re: Бе не е хептен без грижи
Е това имах предвид, че не е съвсем без грижи.
Това за chcp не го знаех (при мен е 866), 10x :)
Това за chcp не го знаех (при мен е 866), 10x :)
Re: Напишете някоя C++ програма
ето ти една истинска С++ програма, не програма на С.
#include <stdio.h>
template<class T>
class Bahur
{
private:
int size;
T * data;
public:
Bahur(T * d, int s) : data(0), size(0)
{
size = s;
data = new T[size + 1];
memcpy(data, d, size * sizeof(T));
data[size] = 0;
}
Bahur(const Bahur<T> & b)
{
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (char *) (const T *) b, size * sizeof(T));
data[size] = 0;
}
~Bahur()
{
if(size > 0 && data != 0)
delete[] data;
};
Bahur<T> & operator=(const Bahur<T> & b)
{
if(data != 0)
delete[] data;
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (const T *)b, size * sizeof(T));
data[size] = 0;
return *this;
}
int GetSize(void) const
{
return size;
}
operator const T* () const
{
return data;
}
};
int main(int argc, char* argv[])
{
Bahur<char> b("Bahur", 5);
Bahur<char> g("Mahur", 5);
b = Bahur<char>("Blah", 4);
g = b;
printf("%s:%s\r\n", (const char *) b, (const char *) g);
return 0;
}
Айе, радвай се на тъпотията!
#include <stdio.h>
template<class T>
class Bahur
{
private:
int size;
T * data;
public:
Bahur(T * d, int s) : data(0), size(0)
{
size = s;
data = new T[size + 1];
memcpy(data, d, size * sizeof(T));
data[size] = 0;
}
Bahur(const Bahur<T> & b)
{
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (char *) (const T *) b, size * sizeof(T));
data[size] = 0;
}
~Bahur()
{
if(size > 0 && data != 0)
delete[] data;
};
Bahur<T> & operator=(const Bahur<T> & b)
{
if(data != 0)
delete[] data;
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (const T *)b, size * sizeof(T));
data[size] = 0;
return *this;
}
int GetSize(void) const
{
return size;
}
operator const T* () const
{
return data;
}
};
int main(int argc, char* argv[])
{
Bahur<char> b("Bahur", 5);
Bahur<char> g("Mahur", 5);
b = Bahur<char>("Blah", 4);
g = b;
printf("%s:%s\r\n", (const char *) b, (const char *) g);
return 0;
}
Айе, радвай се на тъпотията!
Re: Напишете някоя C++ програма
малко при b = b; се отнася в космоса, ма аре да не изпадаме в детайли :)
Re: Бе не е хептен без грижи
Хубаво би било да си направя .dll за конвертиране
в кирилица за конзолни апп-та, с чекване на code page, ама неам време (отдавна го мисля).
Ако некои му се занимава да се обади.
в кирилица за конзолни апп-та, с чекване на code page, ама неам време (отдавна го мисля).
Ако некои му се занимава да се обади.
Re: Напишете някоя C++ програма
Идеба, се ше се намери некой, дет да ти бугне софтвара! За чий хуи ти е да правиш b = b?
А сега сериозно. Не се бях замислял над проблемата. Сериозна проблема. Некаква врътка има , дето ми убягва. Мисля по въпроса.
Благодаря за забележката.
А сега сериозно. Не се бях замислял над проблемата. Сериозна проблема. Некаква врътка има , дето ми убягва. Мисля по въпроса.
Благодаря за забележката.
Re: Напишете някоя C++ програма
Ето фатка - кирливка за проблемата:
Bahur<T> & operator=(const Bahur<T> & b)
{
if(this != &b)
{
if(data != 0)
delete[] data;
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (const T *)b, size * sizeof(T));
data[size] = 0;
}
return *this;
}
Bahur<T> & operator=(const Bahur<T> & b)
{
if(this != &b)
{
if(data != 0)
delete[] data;
size = b.GetSize();
data = new T[size + 1];
memcpy(data, (const T *)b, size * sizeof(T));
data[size] = 0;
}
return *this;
}
Re: Напишете някоя C++ програма
Айде и от мене едно невинен коментар - ко ша стане, ако new-то фърли ексепщън 
Лека нощ
Лека нощ