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

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

Войти
Регистрация
Восстановить пароль
 
Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
#1

Циклы!где-то ошибка! - C++

30.09.2009, 21:56. Просмотров 707. Ответов 10
Метки нет (Все метки)

Здравствуйте!Написала прогу по задачи,она считает,но не правильно!помогите найти ошибку....задание кинула во вложения

вот программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <math.h>
#include <iostream.h>
    int main()
{ 
    double x,y,z;
    cout <<"\n vvedite summy";
    cin >>x;
        if (x<=100) z=0;
        if (x<=300 && x>100) z=x*0.02;
        if (x>300 && x<=500) z=x*0.05;
        if (x>500 && x<=1000) z=x*0.08;
        else z=x*0.1;
        y=x-z;
    cout<<"\n y="<<y;
return 0;
    }
за ранее огромное спасибо за внимание!
0
Миниатюры
Циклы!где-то ошибка!  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2009, 21:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклы!где-то ошибка! (C++):

Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка) - C++
задан текст нужно вывести на экран количество слов где первая и последняя буквы одинаковы #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил) - C++
написать универсальный тип, который представляет точку на плоскости в координатах (х, у) и в полярных координатах. Написать функцию для...

Вложенные циклы. Ошибка - C++
Где ошибка? #include &lt;iostream&gt; using namespace std; void main() { for (int i = 1; i &lt; 5; i++) { for (int j = 1; i &lt; 5;...

Укажите где ошибка (ошибка во время выполнения программы) - C++
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при выполнении программы Картинка с ошибкой внизу поста. Код: ...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

Ошибка в подсчёте кол-ва одинаковых цифр натурального чила n (циклы) - C++
Написал прогу. Вот условие:&quot; Дано натуральное n. Верно ли, что это число содержит более k одинаковых цифр?&quot; Проблема в том что...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
30.09.2009, 22:05 #2
вместо
Цитата Сообщение от Silva Посмотреть сообщение
else z=x*0.1;
пишешь:
C++
1
if (x>1000) z=x*0.1;
а то в твоем случае получается, что условие else - будет выполнятся всегда (когда товар не между 500 и 1000), тем самым сбивая скиду для других товаров.
1
Gnusmus
1 / 1 / 0
Регистрация: 21.09.2009
Сообщений: 25
30.09.2009, 22:07 #3
А что она должна делать???
1
Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
30.09.2009, 22:09  [ТС] #4
Спасибо огромное Вам!!Работает)
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
30.09.2009, 22:11 #5
Не успел
1
Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
30.09.2009, 22:13  [ТС] #6
спасибо
0
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
01.10.2009, 00:28 #7
А у меня без conio.h не работало((.Терь выучил наизусть )))
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
01.10.2009, 02:14 #8
Странно, что никто не указал... Автор, это нехороший код. Он нерационален. Представь себе, что ты ввела цифру 50. Так вот, прога проверит меньше 50 ста или нет. А потом осуществит ещё 4 АБСОЛЮТНО НЕНУЖНЫЕ проверки. Сама понимаешь, это лишнее время и дурная привычка. И непонятно во что она выльется в дальнейшем.
Надо так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <math.h> 
#include <iostream> 
using namespace std;         
int main() { 
          double x,y,z;         
  cout <<"\n vvedite summy";         
  cin >>x;                 
  if (x<=100) z=0;                 
  else if (x<=300 && x>100) z=x*0.02;                 
  else if (x>300 && x<=500) z=x*0.05;
  else if (x>500 && x<=1000) z=x*0.08;
  else if (x>1000) z=x*0.1;
  y=x-z;         
  cout<<"\n y="<<y;         
  getchar (); 
  return 0;         
}
1
Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
01.10.2009, 16:57  [ТС] #9
Да вы правы kravam , а можно использовать оператор break!
чтобы выйти из оператора цикла в нужный момент!
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
01.10.2009, 18:12 #10
Надо было поправить тебя с самого начала...
Silva, оператором цикла здесь и не пахнет!
break здесь бесполезен, следовательно...

Цикл это что-то циклическое, повторяющееся. Я вот знаю

C++
1
2
3
4
5
6
7
8
9
10
11
12
for (//условие) {
//тело цикла
}
 
while (//условие) {
//тело цикла 
}
 
do {
//тело цикла
}
while (//условие)
Видишь, и эти тела повторяются раз за разом, пока верно условие в скобках.
Цикл: проверка условия- тело цикла- проверка условия (В последнем случае: тело цикла- проверка условия- тело цикла)
break нужен, чтобы досрочно разорвать этот круг.
В твоём же примере операторы выполняются не циклично, а последовательно. Разрывать нечего.

Теперь ставь эксперименты и обращайся к классике. Я закончил.
1
Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
01.10.2009, 18:22  [ТС] #11
спасибо огромное за советы...я прислушаюсь)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2009, 18:22
Привет! Вот еще темы с ответами:

В чём ошибка.В коде там где коментарий там ошибка поучается. - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class CMyString{ char *pStr; public: ...

Циклы с выключателем и ошибка "ссылка на неразрешенный внешний символ" - C++
код такой получился main #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; double...

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2; j++) if ((i%j) == 0) a =...

Где Ошибка - C++
int main() { setlocale(LC_ALL, &quot;Russian&quot;); int a,k,t,i,j; cout&lt;&lt;&quot;Введите количество элементов &quot;; cin&gt;&gt;k; for(i=0; i&lt;k;...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.10.2009, 18:22
Ответ Создать тему
Опции темы

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