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

Оператор IF - C++

Восстановить пароль Регистрация
 
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
24.12.2010, 17:25     Оператор IF #1
Функция возводящая в стапень.
Последний IF не работает так как нада...

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>
using namespace std;
 
void main()
{
double ch, st, otv;
 
cout<< "Enter number: "<< endl;
cin>> ch;
cout<< "Enter power: "<< endl;
cin>> st;
 
if (st==0)
{
cout <<" The power is: 1 "<<endl;
}
if (st>0)
{
    otv=ch;
for (int i=1; i<st; i++)
{
    otv*=ch;
}
cout <<" The power is: "<< otv<<endl;
}
 
if (st<0)
{   
    otv=ch;
    for(int k=1; k<st; k++)
    otv=st/otv;
cout <<" The power is: "<< otv<<endl;
}
system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
24.12.2010, 17:32     Оператор IF #2
C++
1
for(int k=1; k<st; k++)
k=1, st < 0 и как цикл должен выполнятся ?

Добавлено через 3 минуты
и еще вы как-то странно считаете степень в случае st < 0.
помоему как-то так должно быть
C++
1
2
3
otv = 1/ch;
for(int k=1; k<-st; k++)
otv /= ch;
yardie
 Аватар для yardie
8 / 8 / 0
Регистрация: 14.07.2010
Сообщений: 166
24.12.2010, 17:33  [ТС]     Оператор IF #3
блин точно))) а как лучше |st| так записать?
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
24.12.2010, 17:40     Оператор IF #4
и раз уж используете тип дабл, сделайте проверку, нету ли у степени дробной части или просто поменяйте тип на инт. Степень 0.5 например подразумевает корень, у вас такая ситуация будет давать ошибку.

Добавлено через 3 минуты
блин точно))) а как лучше |st| так записать?
зачем модуль? если число приходит к циклу, оно уже отрицательное. просто домножаем на минус или используем не инкремент счетчика, а декремент.
C++
1
for(int k=-1; k>st; k--)
Yandex
Объявления
24.12.2010, 17:40     Оператор IF
Ответ Создать тему
Опции темы

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