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

Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры - C++

Восстановить пароль Регистрация
 
TheAlexLyt
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 10
22.10.2013, 23:02     Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры #1
Условие(смотри вложение)
Необходимо составить цикл с постусловием где начальное и конечное значение, а так же шаг вводятся с клавиатуры
вот код:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
 float a,e,a1,a2,a3,x,z,r;
 printf("Enter E:\n");
 scanf("%f",&e);
 printf("Enter start value of A\n");
 scanf("%f",&a1);
 printf("Enter end value of A\n");
 scanf("%f",&a2);
 printf("Enter step of A\n");
 scanf("%f",&a3);
 a=a1;  
  do
  {
    if (e<=9)
       {
       x=(cos(e-3));
       } 
       else 
       {
        if ((11*(e-(pow(a,2))))==0&&e>9)
             {
             printf(" \ne=%6.2f   a=%6.2f ",e,a);
             printf ("  X = Error");
             printf ("  Z = Error");
             printf ("  R = Error");
             goto m1;
             }
            else 
            if ((11*(e-(pow(a,2))))!=0&&e>9)
            {
            x=e-(a/(11*(e-(pow(a,2)))));
            }  
          }
                   if (x>0)
                   {
                   z=(log10(x)*log10(x))/(sqrt(x*x+10));
                   }      
                       else
                       {
                         if ((e-1.3*a)<0&&x<=0)
                         {
                         printf(" \ne =%6.2f   a =%6.2f   x =%8.2f ",e,a,x);
                         printf ("  Z = Error");
                         printf ("  R = Error");
                         goto m1;
                         }
                         else    
                          if ((e-1.3*a)>=0&&x<=0)
                         {
                          z=sin(sqrt(e-1.3*a));
                         }  
                    }            
 r=z*z+x-a*e*x;
 printf(" \ne =%6.2f   a =%6.2f   x =%8.2f   z =%5.2f   r =%5.2f",e,a,x,z,r);
 m1:
 a=a+a3;
 }
 while(a<=a2+(a3/100));
 getch();
 return 0;
}
проблема в том что когда я ввожу следующие значения:
E=100 9<=a<=11 Δa=0.1
при значении a=10 показывает такое(смотри вложение)
как с этим бороться ?


П.С. за код прошу не ругать так как я пока только на первом курсе и только начал учится))
Миниатюры
Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры   Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 23:02     Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры
Посмотрите здесь:

C++ 3. Найти сумму элементов с k1-го по k2-ой, где k1 и k2 вводятся с клавиатуры. Сделайте проверку корректности их ввода.
C++ Протабулируйте функции. Отрезок и шаг вводятся с клавиатуры: sh x-x+1
C++ Шаг компиляции, шаг компоновки, и шаг запуска
помогите сделать цикл,чтобы выводило ряд Фибоначии до определенного числа N которое я ввела с клавиатуры. C++
C++ Вычислить выражение (значение всех переменных вводятся с клавиатуры)
Начальное значение для переменных-перечислений C++
Одномерные массивы (векторы): вычислить и напечатать значения функции Y= Ak2 + Ak - sin Ak, где элементы массива А вводятся с клавиатуры C++
C++ Протабулируйте функции. Отрезок и шаг вводятся с клавиатуры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheAlexLyt
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 10
23.10.2013, 21:36  [ТС]     Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры #2
Я понял в чем была моя ошибка! суть в том что у меня много чисел после запятой (смотри вложение), отсюда следует вопрос: как мне округлить число до сотых?
Миниатюры
Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры  
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
23.10.2013, 21:40     Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры #3
Цитата Сообщение от TheAlexLyt Посмотреть сообщение
отсюда следует вопрос: как мне округлить число до сотых?
(int)(value * 100) / 100.;
Yandex
Объявления
23.10.2013, 21:40     Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры
Ответ Создать тему
Опции темы

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