Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/33: Рейтинг темы: голосов - 33, средняя оценка - 4.79
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
1

Тернарная операция

14.01.2011, 02:18. Показов 6921. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Вот написал прогу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main(int argc, char** argv)
{
    string name;
    ofstream fout;
    if (argc > 1 && argv[1])
    {
        name = argv[1];
        fout.open(name.c_str(), ios::out | ios::app);
    }
    ostream& sout = name.empty() ? cout : fout;
    return 0;
}
Она показывает использование тернарной операции.
Но прога выдаёт ошибку на знаке вопроса в пердпоследней строке. Поправьте пожалуйста код.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2011, 02:18
Ответы с готовыми решениями:

Тернарная операция
(!(x%3))? x=x/3 : x=x%3; - верно? В условии мы проверяем делится ли x нацело на 3, не нужно ли...

Тернарная операция
Короче говоря вот код: char c = '+', p = '-', l = '*', u = '/'; cin &gt;&gt; x &gt;&gt; y; u ? cout &lt;&lt; x /...

Тернарная условная операция
Здравствуйте, только начал изучать C++, написал вот программу которая показывает в двоичном...

Тернарная условная операция
Выражение1?Выражение2:Выражение3; Чем можно заменить Выражение3, чтобы ничего не выполнилось, а...

34
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
14.01.2011, 02:35 2
Возьмите условие тернарного выражения name.empty() в круглые скобочки.
0
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
14.01.2011, 03:00  [ТС] 3
Непонял( Покажите пожалуйста в коде.

Добавлено через 15 минут
(name.empty()) так что ли?
0
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:10  [ТС] 4
Два дня уже парю мозг. не могу найти или понять, в чём ошибка в этой программе. Подскажите пожалуйста.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.01.2011, 11:13 5
А что такое тернарная операция?
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:14 6
Какую ошибку-то выдаёт? У меня ваш код компилируется.
0
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:16  [ТС] 7
А какой у вас компилятор? Я пользуюсь Borland С++ 5.02

Добавлено через 1 минуту
Ошибка в предпоследней строке
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:16 8
DrSMERTb, сделайте милость - плесните на него серной кислоты и установите нормальный компилятор.
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:17 9
Как по вашему, может ли фраза "ошибка в предпоследней строке" являться ответом на вопрос "какая ошибка"? По-моему, не-а, не может.

Не по теме:

Хм, странно, у меня впервые ответы не склеились...

0
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:18  [ТС] 10
Я б с радостью последовал вашему совету) Но дело в том, что это единственная версия борланда (из мной найденных), которая работает на Windows 7 x64
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:19 11
DrSMERTb,
Цитата Сообщение от DrSMERTb Посмотреть сообщение
это единственная версия борланда
Поставьте нормальный компилятор, повторяю. Поставьте, скажем, CodeBlocks, в его состав входит MinGW - порт GCC под винды.
1
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:25  [ТС] 12
А во всё разобрался)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main(int argc, char** argv)
{
    string name;
    ofstream fout;
    if (argc > 1 && argv[1])
    {
        name = argv[1];
        fout.open(name.c_str(), ios::out | ios::app);
    }
    ostream& sout = name.empty(); cout : fout;
    return 0;
}
Вот так нужно. А теперь можно справку по каждой строке если не трудно, что делает эта программа)
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:26 13
И что, по-вашему, теперь происходит в 16 строке? о_О

Добавлено через 38 секунд
Цитата Сообщение от DrSMERTb Посмотреть сообщение
Вот написал прогу
Цитата Сообщение от DrSMERTb Посмотреть сообщение
можно справку по каждой строке
Не вяжется, а?
1
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:27  [ТС] 14
Как и до этого даже не предпологаю.
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:28 15
DrSMERTb, так вот, вы сначала почитайте о том, что делает тернарная операция, а не только как она называется. А потом ещё можете почитать, что метод тыка - не наш метод, и надо знать, куда тыкать.
1
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:28  [ТС] 16
Цитата Сообщение от silent_1991 Посмотреть сообщение
И что, по-вашему, теперь происходит в 16 строке? о_О

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


Не вяжется, а?
Ну ладно я эту прогу стянул с википедии. Просто в учебнике про этот вид операции ничего не упоминается.
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:29 17
Цитата Сообщение от DrSMERTb Посмотреть сообщение
в учебнике про этот вид операции ничего не упоминается
Не верю! (с)
1
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:31  [ТС] 18
Цитата Сообщение от silent_1991 Посмотреть сообщение
Не верю! (с)
Учебник Т.А. Павловская "с\с++ Программирование на языке высокого уровня" Можете почитать и сами в этом убедитесь.
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.01.2011, 11:33 19
DrSMERTb, вообще многие рекомендуют Павловскую сжигать сразу после покупки. Сам не читал, но я этим людям доверяю. Почитайте лучше Дейтелов, мне они понравились.
1
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
17.01.2011, 11:34  [ТС] 20
Обязательно сделаю это. Но сейчас мне просто нужна справка по данной программе. Не больше и не меньше.
0
17.01.2011, 11:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2011, 11:34
Помогаю со студенческими работами здесь

С++ не смог разобраться (тернарная операция)
Уважаемые программисты прошу помочь переделать 1 строку, предрались в училище и сказал что ...

Тернарная операция. Пустое значение
Всем привет. Есть условие. Если проверка проходит, то переменной присваивается значение, если...

Странно работает тернарная операция
Доброй ночи... if((i == 3)?(!(*BoolHash)):((*BoolHash))) cout &lt;&lt; &quot;\nError\n&quot;; else {// Выполнение...

Условие с двоеточием. Тернарная условная операция
Все здрасьте. Где то я видел очень полезную вещь, но не могу вспомнить как правильно использовать....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru