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

Циклы и операторы ветвления - C++

Восстановить пароль Регистрация
 
USHЁL
 Аватар для USHЁL
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 93
12.12.2009, 21:02     Циклы и операторы ветвления #1
Добрый вечер!Помогите с задачей!Ни как правильно её решить не смог...
По заданию Программа должна использовать цикл для запроса доходов и выдачи подлежащего к выплате налога.Цикл должен прерываться при вводе отрицательного или не числового значения.Налог считается по формуле:если человек заработал 38000р. то он должен заплатить налог 5000*0.0+10000*0.1+20000*0.15+3000* 0.2 или 4600 руб.
Заданная шкала налогооблажения:
первые 5000 р -налог 0%
следующ. 10000р - налог 10%
следующ. 20000р - налог 15%
свыше 35000 р - налог 20%

Я попытался решить,но при вводе значения болшего чем 38000 цикл не выполняется ни разу,при вводе меньших значений всё проходит не плохо.

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
#include <cstdlib>
#include <iostream>
#include <cctype>
 
using namespace std;
 
const int size = 7;
 
int main(int argc, char *argv[])
{
    double donation[size];
    int vvod;
    cout<<"Vvedite summu dlya nalogooblajenia\n";
    int i = 0;
    cin >> vvod;
    while (i < size && !isalpha(vvod)>0)
     {
         if(vvod>=5000 && vvod<10000)
          { donation[i] = vvod*0.0;
           cout<<"summa s nalogom: "<<donation[i]<<"\n";
          }
          else if (vvod>=10000 && vvod<20000)
                { donation[i] = vvod*0.1;
                  cout<<"summa s nalogom: "<<donation[i]<<"\n";
                }
          else if (vvod>=20000 && vvod<35000)
                 {  donation[i]=vvod*0.15;
                    cout<<"summa s nalogom: "<<donation[i]<<"\n";
                 }
          else if (vvod>=35000)
                 {     int razn=vvod-35000;
                        donation[i]=(5000*0.00)+(10000*0.1)+(20000*0.15)+(razn*0.20);
                   cout<<"summa s nalogom: "<<donation[i]<<"\n";
                 }
               else
                cout<<"vi vveli ne pravilniy simvol\n";
            cout<<"vvedite summu dlay nalogooblajenia:\n";
          cin >> vvod;
          i++;
        }
           cout<<"spasibo za uplatu nalogov.";
     system("PAUSE");
    return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2009, 21:02     Циклы и операторы ветвления
Посмотрите здесь:

C++ Операторы ветвления
C++ Операторы ветвления
операторы ветвления C++
Операторы ветвления С++ C++
C++ Лабораторная работа по теме Операторы ветвления.
Операторы ветвления и операторы передачи управления C++
C++ Операторы ветвления
C++ Операторы ветвления if, else, и switch

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maks1111
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 3
26.01.2015, 11:01     Циклы и операторы ветвления #2
C++
1
int vvod;
щоб програма працювала потрібно змінити тип зміної vvod з int на double
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
26.01.2015, 11:10     Циклы и операторы ветвления #3
Цитата Сообщение от USHЁL Посмотреть сообщение
!isalpha(vvod)>0
очень странное условие...
Цитата Сообщение от maks1111 Посмотреть сообщение
потрібно змінити тип зміної vvod з int на double
Не по делу.
Yandex
Объявления
26.01.2015, 11:10     Циклы и операторы ветвления
Ответ Создать тему
Опции темы

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