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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
coreshok
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
#1

Выражение с математическими операторами - C++

21.08.2012, 19:57. Просмотров 554. Ответов 6
Метки нет (Все метки)

Доброго времени всем!Решаю задачки по С++ и у меня возник простой вопрос вот в этом алгоритме.Я его составил сам по условию задачи. Может немного коряво( можно без констант, без логических операторов и т.д)просто мне так захотелось, но суть ни в этом.Я по поводу выражения < sr=(stmin*min)-(sk/100*skidka);>.Почему оно не работает?А вот так < sk=(stmin*min);
sr=sk-(k/100*skidka);>работает.Обучаюсь самостоятельно, спросить не у кого кроме вас.С уважением!

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
#include <iostream>
using namespace std;
const int skidka=20;
const float stmin=5;
int main()
{
    float sr,sk;
    int min,day;
    cout <<"Vvedite kolichestvo min."<<endl;
    cin >>min;
    cout <<"Dni nedeli(1-ponedelnik,...7-voskresenie)"<<endl;
    cin >>day;
 
    if(day>=6&&day<=7)
    {
     cout <<"U vas skidka 20%!" <<endl;
      sk=(stmin*min);
     sr=sk-(sk/100*skidka);
     cout <<"Stoimost razgovora= " <<sr <<" rub"<<endl;
    }
    if(day<1||day>7)
    cout <<"Takih dnei nideli net";
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 19:57     Выражение с математическими операторами
Посмотрите здесь:

Задания с операторами - C++
Тут такая фишка оч нужна помощь 1а)Даны три различных числа. Среднее из них заменить суммой квадратов, большее ― квадратом суммы меньшего...

Проблема с операторами - C++
начинаю работаю на VC10 ввожу #include &lt;iostream.h&gt; почеркивает и пишет, что не удается открыть источник файла.... ввожу ...

помогите с операторами while и for - C++
есть программа, и мне нужно чтоб выводило информацию о файле во время оператора while. все работает, если оставить один if и к нему...

Запись и считывание операторами << >> - C++
Ребят, прошу помочь. Нужно создать класс с 3мя полями. Имя, фамилия и номер работника. С помощью методов нужно обеспечить запись в файл и...

Задания с операторами выбора - C++
Задали две программы а материал не обьяснили сам пробывал но запутался с оператарами Задача 1 даны три различных числа,увеличить...

Путаница с sftream и операторами << и >> - C++
Значит так, иду спокойно по книжке по темам &quot;Открытие и закрытие текстовых файлов&quot;, а также &quot;Чтение и запись текстовых файлов&quot; и тут я...

Работа с операторами условия - C++
Вводим число x. и потом программа должна поставить в порядке возрастания числа: sinx, cosx. lnx. Если при каком-либо x некоторые из...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,488
Записей в блоге: 4
21.08.2012, 20:09     Выражение с математическими операторами #2
C++
1
2
3
4
int skidka=20;
//**************
sk=(stmin*min);
sr=sk-(sk/100*skidka);
может так лучше:
C++
1
2
3
4
можно:
float skidka=20;//лучше = 0,2 тогда и делить не нужно будет.
//*******************
sr=stmin*min(1-skidka/100); //если int skidka  ноль при делении skidka/100
coreshok
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
21.08.2012, 20:40  [ТС]     Выражение с математическими операторами #3
Благодарю!Но дело не в разнообразии вариантов написания этого выражения, а в том почему первая конструкция выдает то, что в первом файле, а во втором выражение работает.Может, что в компиляторе подкрутить? Или само выражение с точки зрения компилятора не корректно?

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
#include <iostream>
using namespace std;
const int skidka=20;
const float stmin=5;
int main()
{
    float sr,sk;
    int min,day;
    cout <<"Vvedite kolichestvo min."<<endl;
    cin >>min;
    cout <<"Dni nedeli(1-ponedelnik,...7-voskresenie)"<<endl;
    cin >>day;
 
    if(day>=6&&day<=7)
    {
     cout <<"U vas skidka 20%!" <<endl;
    //sk=(stmin*min);
     sr=(stmin*min)-(sk/100*skidka);
     cout <<"Stoimost razgovora= " <<sr <<" rub"<<endl;
    }
    if(day<1||day>7)
    cout <<"Takih dnei nideli net";
   return 0;
}
Миниатюры
Выражение с математическими операторами   Выражение с математическими операторами  
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
21.08.2012, 21:02     Выражение с математическими операторами #4
Цитата Сообщение от coreshok Посмотреть сообщение
Может немного коряво
да уж немножко
А стоимость разговора с понедельника по пятницу?
Цитата Сообщение от coreshok Посмотреть сообщение
Я по поводу выражения
C++
1
sr=(stmin*min)-(sk/100*skidka);
.
Цитата Сообщение от coreshok Посмотреть сообщение
Почему оно не работает?
а sk чему равно???


Цитата Сообщение от coreshok Посмотреть сообщение
А вот так
C++
1
2
sk=(stmin*min);
 sr=sk-(sk/100*skidka);
работает
а здесь sk ты уже подсчитал перед тем как использовать
coreshok
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
21.08.2012, 21:33  [ТС]     Выражение с математическими операторами #5
да уж немножко
А стоимость разговора с понедельника по пятницу?
Написать программу вычисления стоимости разговора по
телефону с учетом 20% скидки, предоставляемой по субботам и
воскресеньям
Теска, не заморачивайся по поводу корявого написания всего алгоритма.Я их просто за день много на штамповал и имена для переменных уже не могу придумать по смыслу,так пишу просто набором символов.Самому понятно и ладно. Ошибку я увидел.Такая простая епсель-мопсель.Ты прав, переменной sk не присвоил значение перед использованием.Тогда уж так надо было писать sr=(stmin*min)-((stmin*min)/100*skidka);
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
21.08.2012, 21:40     Выражение с математическими операторами #6
coreshok, Если день от 1 до 5, то программа ничего не будет показывать. У вас есть условие на проверку дня 6 и 7, еще меньше 1 и больше 7, а вот от 1 до 5 пусто
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2012, 21:51     Выражение с математическими операторами
Еще ссылки по теме:

Работа с битовыми операторами - C++
Здравствуйте, С Новым Годом! Решил за новогодние празники познакомиться с языком C++. Попалась на глаза книжка Стефана Р. Дэвиса &quot;С++ для...

Функция с условными операторами - C++
x^2+y^2+arctg(x), при x&gt;y (x-y)^2+arctg(x), при x&lt;y (y-x)^2+0.5, в остальных случаях

Ошибка. Матрица с перегруженными операторами - C++
Здравствуйте, Прошу помочь с ошибкой: Студия не принимает строку: m3 = m1 + m2; // Error 2 error C2110: '+' : cannot add two point...

Не могу разобраться с операторами swich, case. - C++
Всем доброго времени суток, вы уж сильно не судите, не могу разобраться с операторами выбора swich и case :( помогите решить одну задачку,...

Передача в шаблон класса с перегруженными операторами - C++
У меня есть класс TProc: template&lt;class Type&gt; class TProc { private: Type Lop_Res; Type Rop; string operation; public: ...


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

Или воспользуйтесь поиском по форуму:
coreshok
3 / 3 / 0
Регистрация: 23.12.2011
Сообщений: 55
21.08.2012, 21:51  [ТС]     Выражение с математическими операторами #7
Да заодно и просто пообщался

Добавлено через 6 минут
Уважаемый, в условии задачи про дни 1-5 ни чего не сказано,а это оператор if(day<1||day>7)
cout <<"Takih dnei nideli net";,я уже сам дописал.
Yandex
Объявления
21.08.2012, 21:51     Выражение с математическими операторами
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru