Ставь geany и не забудь компилятор g++. Там и русский хорошо идёт, и кроме iostream библиотеки типа stdafx.h или conio.h не нужны, очень удобно. Но, привыкай тогда пользоваться cin и cout, т.к. printf, scanf и gets уже не пойдут)
O_O . О, Господи.
Мешать Си и Си++ - быдло-подход в последней стадии. printf(), scanf(), gets() - это Си функции. Хотя в Си++ их и можно использовать, но уж если взялся писать на C++, то используй cin и cout.
А про заголовки просто убило:
и кроме iostream библиотеки типа stdafx.h или conio.h не нужны, очень удобно.
Вот до чего доводит богомерзкая visual studio.
Стандартная библиотека идет вместе с компиллятором. Вместе с gcc - библиотека Си, с g++ - библиотека C++. И не важно, какой IDE в качестве надстройки - хоть Geany, хоть Netbeans, хоть Eclipse, хоть что угодно.
Далее: conio.h и stdafx.h - это не стандартная библиотека.
Ну да, очень удобно, что в Linuxе нет:
- conio.h - заголовка MS-DOS для создания псевдографического интерфейса. Откуда ему там взяться?
- stdafx.h - заголовок, отвечающий за прекомпиллированные заголовки бинарников в windows. Откуда?
А printf(), scanf(), gets(), хоть и Си функции, но так же есть и, как раз, в iostream - заголовке, отвечающим за ввод-вывод в Си++. Сделано для совместимости с Си. И еще. gets() лучше не использовать - не проверяет на переполнение массива char, в который считывает. Может Гуру предложат лучшую альтернативу, но я сделал посимвольное считывание, которое записывает в массив из n char'ов n-1 символов из потока ввода, последним символом вставляя нуль-терминатор:
на Си
#include <memory.h>
#include <stdio.h>
int main(void)
{
char buffer[8];
int index;
memset(buffer, 0, 8);
for (index=0, buffer[index]=getchar() ;
(buffer[index]!='\n') && (index<7);
++index, buffer[index]=getchar() )
;
buffer[7]='\0';
for (index=0; index<8; index++)
printf("%i ", buffer[index]);
printf("\n");
return 0;
}
на Си++
#include <iostream>
#include <memory.h>
using namespace std;
int main()
{
char buffer[8];
int index;
memset(buffer, 0, 8);
for (index=0, buffer[index]=cin.get() ;
(buffer[index]!='\n') && (index<7);
++index, buffer[index]=cin.get() )
;
buffer[7]='\0';
for (index=0; index<8; index++)
cout << buffer[index] << ' ';
cout << endl;
return 0;
}