Заблокирован
1

Написание программы расчета процента побед

29.08.2012, 14:27. Показов 1435. Ответов 7
Метки нет (Все метки)

Не по теме:

округление не правильное

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2012, 14:27
Ответы с готовыми решениями:

Калькулятор расчета процента (для ломбарда)
на днях понадобилась программа которая рассчитывает процент по отношению к доллару.порылся в инете...

Формула для вычисления процента выполнения программы
Добрый день. Не могу никак сообразить формулу, которая бы высчитывала процент заполнения элемента...

Отображение процента выполнения программы в отдельном окне
Интересует такой вопрос... Лень для визуального отображения процесса выполнения подпрограммы...

Написание кода для расчета формулы в Дельфи 6
Помогите пожалуйста написать код в Дельфи 6 для расчета формулы. Получается там надо создать форму...

7
6 / 6 / 0
Регистрация: 01.05.2012
Сообщений: 57
29.08.2012, 16:01 2
Вобщем решил написать программу, которая запрашивает кол-во боев, % побед в них и желаемый % побед. Нужно чтоб программа выдала сколько победных боев нужно для достижения результата. Написал код, но почему-то он зацикливается. Подскажите в чем может быть ошибка.
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
#include "stdafx.h"
#include "math.h"
#include "iostream"
#include "iomanip"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{int d,f=0;
 double a,b,c,e;
 
cout<<"vved a:";
cin>>a;
cout<<"vved b:";
cin>>b;
cout<<"vved d:";
cin>>d;
 
 
c=b*100/a;
cout<<fixed<<setprecision(0)<<c<<endl;
 
for (;;)
{a++;
b++;
f++;
e=b*100/a;
cout<<fixed<<setprecision(0)<<e<<endl;
 
if(e==d) break;
}
cout<<"kol-vo boev: "<<f<<"\n";
    return 0;
}
0
153 / 137 / 34
Регистрация: 23.05.2009
Сообщений: 275
29.08.2012, 16:25 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
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <iomanip>
 
using std::cout;
using std::cin;
 
int main()
{
    int battleNum = 0;
    double currentPercent = 0;
    double targetPercent = 0;
    cout<<"Enter number of battles played: ";
    cin>>battleNum;
    cout<<"Enter current percent of wins: ";
    cin>>currentPercent;
    cout<<"Enter desired percent of wins: ";
    cin>>targetPercent;
    int initialWinNum = battleNum * currentPercent / 100.;
    int neededWinNum = 0;
    while (currentPercent < targetPercent)
    {
        ++neededWinNum;
        currentPercent = 
            (static_cast<double>((initialWinNum + neededWinNum)) / static_cast<double>((battleNum + neededWinNum))) * 100.;
    }
    cout<<"You need to win "<<neededWinNum
        <<" more battles to reach desired percent of wins\n";
    cout<<"After winning "<<neededWinNum
        <<" more battles your percent of wins will be "
        <<std::setprecision(2)<<currentPercent<<"%\n";
    system("pause");
    return 0;
}
0
6 / 6 / 0
Регистрация: 01.05.2012
Сообщений: 57
29.08.2012, 16:38 4
Цитата Сообщение от Andsteadur Посмотреть сообщение
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
#include <iostream>
#include <iomanip>
 
using std::cout;
using std::cin;
 
int main()
{
    int battleNum = 0;
    double currentPercent = 0;
    double targetPercent = 0;
    cout<<"Enter number of battles played: ";
    cin>>battleNum;
    cout<<"Enter current percent of wins: ";
    cin>>currentPercent;
    cout<<"Enter desired percent of wins: ";
    cin>>targetPercent;
    int initialWinNum = battleNum * currentPercent / 100.;
    int neededWinNum = 0;
    while (currentPercent < targetPercent)
    {
        ++neededWinNum;
        currentPercent = 
            (static_cast<double>((initialWinNum + neededWinNum)) / static_cast<double>((battleNum + neededWinNum))) * 100.;
    }
    cout<<"You need to win "<<neededWinNum
        <<" more battles to reach desired percent of wins\n";
    cout<<"After winning "<<neededWinNum
        <<" more battles your percent of wins will be "
        <<std::setprecision(2)<<currentPercent<<"%\n";
    system("pause");
    return 0;
}
неправильно выдает ответ
0
153 / 137 / 34
Регистрация: 23.05.2009
Сообщений: 275
29.08.2012, 16:45 5
Всмысле неправильно? какие входные данные и какой результат? Я тестировал и все было нормально.

И да лучше без цикла:
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
using std::cout;
using std::cin;
 
int main()
{
    int battleNum = 0;
    double currentPercent = 0;
    double targetPercent = 0;
    cout<<"Enter number of battles played: ";
    cin>>battleNum;
    cout<<"Enter current percent of wins: ";
    cin>>currentPercent;
    cout<<"Enter desired percent of wins: ";
    cin>>targetPercent;
    int initialWinNum = battleNum * currentPercent / 100.;
    int neededWinNum = ceil((static_cast<double>(battleNum) * (targetPercent / 100.) - static_cast<double>(initialWinNum)) / (1. - targetPercent / 100.));
    cout<<"You need to win "<<neededWinNum
        <<" more battles to reach desired percent of wins\n";
    currentPercent = 
        (static_cast<double>((initialWinNum + neededWinNum)) / static_cast<double>((battleNum + neededWinNum))) * 100.;
    cout<<"After winning "<<neededWinNum
        <<" more battles your percent of wins will be "
        <<std::fixed<<std::setprecision(2)<<currentPercent<<"%\n";
    system("pause");
    return 0;
}
0
6 / 6 / 0
Регистрация: 01.05.2012
Сообщений: 57
29.08.2012, 17:02 6
Цитата Сообщение от Andsteadur Посмотреть сообщение
Всмысле неправильно? какие входные данные и какой результат? Я тестировал и все было нормально.

И да лучше без цикла:
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
using std::cout;
using std::cin;
 
int main()
{
    int battleNum = 0;
    double currentPercent = 0;
    double targetPercent = 0;
    cout<<"Enter number of battles played: ";
    cin>>battleNum;
    cout<<"Enter current percent of wins: ";
    cin>>currentPercent;
    cout<<"Enter desired percent of wins: ";
    cin>>targetPercent;
    int initialWinNum = battleNum * currentPercent / 100.;
    int neededWinNum = ceil((static_cast<double>(battleNum) * (targetPercent / 100.) - static_cast<double>(initialWinNum)) / (1. - targetPercent / 100.));
    cout<<"You need to win "<<neededWinNum
        <<" more battles to reach desired percent of wins\n";
    currentPercent = 
        (static_cast<double>((initialWinNum + neededWinNum)) / static_cast<double>((battleNum + neededWinNum))) * 100.;
    cout<<"After winning "<<neededWinNum
        <<" more battles your percent of wins will be "
        <<std::fixed<<std::setprecision(2)<<currentPercent<<"%\n";
    system("pause");
    return 0;
}
вот скрин,ответ должен быть 1 бой
ты просто не использовал округление,ведь 50,5 это уже округляется до 51
Миниатюры
Написание программы расчета процента побед  
0
153 / 137 / 34
Регистрация: 23.05.2009
Сообщений: 275
29.08.2012, 17:20 7
Следовало указать в задании точность процентов.
0
6 / 6 / 0
Регистрация: 01.05.2012
Сообщений: 57
29.08.2012, 21:54 8
Цитата Сообщение от Andsteadur Посмотреть сообщение
Следовало указать в задании точность процентов.
2 знака после запятой
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2012, 21:54

Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом
Помогите пожалуйста : С помощью текстового редактора создать текстовый файл file1. Переписать...

Составление программы математического расчета
помогите решить и вообще в Purebasic это можно решить? с= SQR(5)+...

Написание программы
Есть массив A размерностью m на n. Сформировать массив, элементы которого состоят из расположенных...

Написание программы
Кто может написать программу на C# Windows Form?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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