Форум программистов, компьютерный форум CyberForum.ru

Программа на С++ ввода/вывода - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.68
донат
Сообщений: n/a
26.08.2009, 11:29     Программа на С++ ввода/вывода #1
Не могу понять где у меня ошибка в программе
C++
1
2
3
4
5
6
7
8
#include <iostream.h>
int main (){
   int i;
   cout <<"Vvedite chislo" ;
   cin >>i;
   cout << "Vy vveli" "<<i<<"";
   return 0;
   }
Как писать на русском языке в С++?
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
26.08.2009, 11:32     Программа на С++ ввода/вывода #2
Почитай здесь Русские шрифты в консоли!
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
26.08.2009, 11:41     Программа на С++ ввода/вывода #3
вот смотри даже по подсветке видно в 6 строке
C++
1
cout << "Vy vveli" "<<i<<"";
первое << "Vy vveli" "<< зачем эта кавычка? Если хочеш чтобы на экране отображалось
Vy vveli", то тогда надо писать так
C++
1
cout << "Vy vveli\" ";
\" означает вывод символа двойной кавычки.
далее ачем в конце такая вещь?
C++
1
 <<"";
- это вывод пустой строки, но зачем?

Должно быть вот так
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
int main ()
{
   int i;
   cout <<"Vvedite chislo" ;
   cin >>i;
   cout << "Vy vveli "<<i;
   return 0;
}
Какой средой пользуешся? Просто тогда могут возникнуть некоторые ошибки еще.
По поводу русского текста посмотри эту тему русские шрифты в консоли. Лично мне удобным кажется использование
C++
1
setlocale (LC_ALL, "Russian");
Напиши все-таки какая среда
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
26.08.2009, 21:46     Программа на С++ ввода/вывода #4
Язык:
это все исправит:

Код
// установить вручную шрифт Lucida Console в свойствах окна консоли 
// и запомнить это для всех окон с этим именем
// записать в начале программы строку 
 #include <windows.h>
// записать в начале функции main ( после строки с символом { ) 
// две следующих строки 
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);


Цитата Сообщение от донат Посмотреть сообщение
cout << "Vy vveli" "<<i<<"";
C++
1
cout << "Vy vveli" <<i<<;


и перед функцией введи это
C++
1
using namespace std;
в твоей функции не ясно что такое cout
skvor
640KB мне хватило на всё.
118 / 49 / 2
Регистрация: 07.06.2009
Сообщений: 442
26.08.2009, 21:53     Программа на С++ ввода/вывода #5
Цитата Сообщение от донат Посмотреть сообщение
Как писать на русском языке в С++?
Никак, C++ не имеет конструкций из кириллицы.
Для использования русских букв в редакторе, нужно иметь соответствующую настройку консоли/клавиатуры. Всё это решается на уровне руссификации системы.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
26.08.2009, 22:10     Программа на С++ ввода/вывода #6
Цитата Сообщение от skvor Посмотреть сообщение
Никак, C++ не имеет конструкций из кириллицы.
Для использования русских букв в редакторе, нужно иметь соответствующую настройку консоли/клавиатуры. Всё это решается на уровне руссификации системы.
прочти мой пост,и пост M128K145
C++
1
setlocale (LC_ALL, "Russian");
это уже русские буквы

Добавлено через 13 минут
skvor,

Не по теме:



Добавлено через 35 секунд

Не по теме:

M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
26.08.2009, 22:43     Программа на С++ ввода/вывода #7
@lex, skvor по большому счету прав. Посмотри код символов которые вводятся в консоль, и считываются из консоли. Латинские символы при считывании из консоли и выводе в консоль имеют одинаковый код. С кириллицей такого не наблюдается. Не вериш? Проверь.
По поводу
Цитата Сообщение от @lex Посмотреть сообщение
и перед функцией введи это
C++
1
using namespace std;
в твоей функции не ясно что такое cout
Не стоит тебе ограничивать свой взгляд только MS VS 2008. Ведь есть еще множество других сред. И поверь MS VS 6.0 поймет этот код
C++
1
2
3
4
5
6
7
#include <iostream.h>
int main()
{
    cout<<"Hello World";
    cin.get();
    return 0;
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.08.2009, 11:40     Программа на С++ ввода/вывода #8
M128K145, а че в учебниках написано?......это не я выдумал....а автор учебника знает что у меня стоит?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
27.08.2009, 12:12     Программа на С++ ввода/вывода #9
Я понимаю. В учебниках говорят и goto не использовать, но это же не повод от них отказываться, тем более что он продолжает дальше вшиваться в языки(если бы он был настолько плох, то в C# его бы уже не было)
Далее по теме. Автор знает что пишет, да и книга наверное 2005-2007 годов издания да?
Так вот, сам автор книги работал в старых средах, таких как борландовские среды, визуал студии(до восьмой версии еще кажется). Так вот тогда такого понятия как стандартное пространство имен не было. Поэтому если донат послушает твой совет, то у него возникнет ошибка
C++
1
error C2871: 'std' : does not exist or is not a namespace
Да кстати и по поводу юзинга. Не всегда такая запись хороша. Вот к примеру сравни
этот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    setlocale (LC_ALL, "Russian");
    std::string str, rez;
    std::ifstream inp("morgant.ish",std::ios::in);
    std::ofstream cout("morgant.rez", std::ios::out);
    inp.seekg(0);
    if(!inp)
    {
        std::cout<<"Файла нет\n";
        system("pause");
        return 0;
    }
    std::cout<<"Содержимое файла morgant.ish :\n";
    while(!inp.eof())
    {
        getline(inp,str,' ');
        std::cout<<str<<' ';
        if(str.find('.') == -1)
            str += ".0";
        rez += str + ' ';
    }
    inp.close();
    std::cout<<"\n\nСодержимое файла morgant.rez :\n"<<rez<<'\n';
    cout<<rez;
    
    std::cout<<'\n';
    system("pause");
    cout.close();
    return 0;
}
и
этот,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    setlocale (LC_ALL, "Russian");
    string str, rez;
    ifstream inp("morgant.ish",ios::in);
    ofstream cout("morgant.rez", ios::out);
    inp.seekg(0);
    if(!inp)
    {
        cout<<"Файла нет\n";
        system("pause");
        return 0;
    }
    cout<<"Содержимое файла morgant.ish :\n";
    while(!inp.eof())
    {
        getline(inp,str,' ');
        cout<<str<<' ';
        if(str.find('.') == -1)
            str += ".0";
        rez += str + ' ';
    }
    inp.close();
    cout<<"\n\nСодержимое файла morgant.rez :\n"<<rez<<'\n';
    cout<<rez;
 
    cout<<'\n';
    system("pause");
    cout.close();
    return 0;
}
файл который потребуется
Morgant.ish.
Оба кода рабочие, но теперь посмотри куда и что выведет первая программа, а куда и что выведет вторая. А теперь представь что это программа для управления подачей топлива в двигатель самолета. И ты по привычке считаеш что cout - это вывод в консоль и в расчете на это пишеш программу. Ты сядеш в этот самолет? Мне кажется что нет, так что я думаю лучше не подключать так пространства имен, или хотя бы не советовать этого делать, если сам не знаеш все последствия такого поступка
Monte-Cristo
 Аватар для Monte-Cristo
2805 / 1370 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
27.08.2009, 12:17     Программа на С++ ввода/вывода #10
Цитата Сообщение от @lex Посмотреть сообщение
а автор учебника знает что у меня стоит?
Предполагаю что нет... более того.. подозреваю, что он даже не знает кто ты такой

Добавлено через 2 минуты
Цитата Сообщение от M128K145 Посмотреть сообщение
Да кстати и по поводу юзинга. Не всегда такая запись хороша. Вот к примеру сравни этот код и этот
Это уже полностью лежит на совести программиста. Собственно, поэтому и перенесли в пространство имен cout, cin, etc, чтобы позволить создавать объекты с таким именем и не вызывать конфликты.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.08.2009, 12:25     Программа на С++ ввода/вывода #11
Цитата Сообщение от M128K145 Посмотреть сообщение
Далее по теме. Автор знает что пишет, да и книга наверное 2005-2007 годов издания да?
да
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Предполагаю что нет... более того.. подозреваю, что он даже не знает кто ты такой
хм....интересно..

Добавлено через 1 минуту
Цитата Сообщение от M128K145 Посмотреть сообщение
Вот к примеру сравни
этот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <fstream>
#include <string>
int main()
{
 setlocale (LC_ALL, "Russian");
 std::string str, rez;
 std::ifstream inp("morgant.ish",std::ios::in);
 std::ofstream cout("morgant.rez", std::ios::out);
 inp.seekg(0);
 if(!inp)
 {
 std::cout<<"Файла нет\n";
 system("pause");
 return 0;
 }
 std::cout<<"Содержимое файла morgant.ish :\n";
 while(!inp.eof())
 {
 getline(inp,str,' ');
 std::cout<<str<<' ';
 if(str.find('.') == -1)
 str += ".0";
 rez += str + ' ';
 }
 inp.close();
 std::cout<<"\n\nСодержимое файла morgant.rez :\n"<<rez<<'\n';
 cout<<rez;
std::cout<<'\n';
 system("pause");
 cout.close();
 return 0;
}
и
этот,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
 setlocale (LC_ALL, "Russian");
 string str, rez;
 ifstream inp("morgant.ish",ios::in);
 ofstream cout("morgant.rez", ios::out);
 inp.seekg(0);
 if(!inp)
 {
 cout<<"Файла нет\n";
 system("pause");
 return 0;
 }
 cout<<"Содержимое файла morgant.ish :\n";
 while(!inp.eof())
 {
 getline(inp,str,' ');
 cout<<str<<' ';
 if(str.find('.') == -1)
 str += ".0";
 rez += str + ' ';
 }
 inp.close();
 cout<<"\n\nСодержимое файла morgant.rez :\n"<<rez<<'\n';
 cout<<rez;
cout<<'\n';
 system("pause");
 cout.close();
 return 0;
}
файл который потребуется Morgant.ish.
я еще по ниг не дошел std:: и поэтому это использую
Цитата Сообщение от M128K145 Посмотреть сообщение
C++
1
using namespace std
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
27.08.2009, 14:29     Программа на С++ ввода/вывода #12
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
чтобы позволить создавать объекты с таким именем и не вызывать конфликты
НО при этом никто не гарантирует правильность работы такой программы

Не по теме:

это как продолжение мысли

serrggeee
3 / 3 / 1
Регистрация: 09.10.2010
Сообщений: 137
10.10.2010, 00:02     Программа на С++ ввода/вывода #13
помогите пожалуйсто вывести русские символы на консоль в этой программе
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "conio.h"
#include <ctype.h>
int main()
 
{
    char ch;
    int x;
    
    
    x = 10;
    if (x == 10){
      int x;
      x = 99;
      printf(" Внутренняяx:%d\n",x);
     }
      printf("Внешняя x:%d\n",x);
    
    ch =_getche();
 
return 0;
}
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
10.10.2010, 00:07     Программа на С++ ввода/вывода #14
Зачем разводить флуд из за одной команды?
setlocale (LC_ALL,"rus");

Цитата Сообщение от донат Посмотреть сообщение
cout << "Vy vveli" "<<i<<"";
вот так правильно лишние ковычки убрать надо было
C++
1
cout << "Vy vveli" <<i;
АнечкА_CooL
0 / 0 / 0
Регистрация: 18.11.2010
Сообщений: 8
18.11.2010, 20:11     Программа на С++ ввода/вывода #15
помогите пожалуйста
мне задали практическую там надо написать программу : в массиве N действительных чисел написать сначала все отрицательные числа,потом отрицательные числа и ноль,а затем сохранить их порядок
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.11.2010, 20:26     Программа на С++ ввода/вывода #16
АнечкА_CooL, вы задание правильно написали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2010, 20:27     Программа на С++ ввода/вывода
Еще ссылки по теме:

Программа для ввода и вывода фамилий и оценок студентов. Отберите тех, у которых сумма баллов вторая по вел C++
C++ Операторы ввода/вывода
C++ Функция ввода / вывода

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
bol2909
 Аватар для bol2909
2 / 2 / 1
Регистрация: 29.08.2010
Сообщений: 51
18.11.2010, 20:27     Программа на С++ ввода/вывода #17
Цитата Сообщение от АнечкА_CooL Посмотреть сообщение
сначала все отрицательные числа,потом отрицательные числа и ноль
сами то поняли что написали?
Yandex
Объявления
18.11.2010, 20:27     Программа на С++ ввода/вывода
Ответ Создать тему
Опции темы

Текущее время: 15:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru