2009-02-19 5 views
0

Мне нужно вычислить процент выигранных игр и проигранных игр. Я продолжаю получать ошибки, и это подталкивает меня к стене. Я много раз менял свой код, что на самом деле я не помню, как это было, когда я начал.Вычисление процента потерь/потерь

Private Sub btnPercentage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPercentage.Click 
    Dim team As String 
    Dim won, lost, percentage As Integer 

    team = CStr(txtTeam.Text) 
    won = CInt(txtGamesWon.Text) 
    lost = CInt(txtGamesLost.Text) 
    percentage = CInt(txtPercent.Text) 

    percentage = (won + lost)/2 

    txtPercent.Text = team & " won" & percentage & " of its games." 
+0

Итак, теперь скажите, для записи, была ли эта домашняя работа? – GEOCHET

+0

Ха-ха-ха, это упражнение в книге, которую я купил. – Davey

+0

Чувак, первый вопрос, чтобы спросить себя: «Как рассчитать процент выигрыша/потери» – RKitson

ответ

2

Процент выиграл = общее вона/(общая вона + общая утрачена)

Вы, возможно, придется умножить на 100 для целей отображения.

+0

+1. И удалите первую строку «percent = ...», это лишнее. – paxdiablo

+0

Определение процента включает в себя коэффициент «100», иначе его называют коэффициентом. – jfs

1

percentage = (won + lost)/2 не может быть прав.

Разница в процентах не достигнута percentage_won = won/(won + lost).

И процент потерянных percentage_lost = lost/(won + lost).

6

Перед тем, как начать писать, подумайте о проблеме в своей голове. Сейчас это путь ваш код работает:

«Команда А выиграл 5 матчей и потерял 3, так что процент игр он выиграл это (5 + 3)/2 = 4%»

Вероятно, самым важным навыком в качестве программиста является способность разбивать проблемы на шаги для работы компьютера, убедитесь, что вы поняли правильные шаги, прежде чем начинать их писать.

0
percentage = won/(won + lost) 

BTW, если Visual Studio не блевать на:

Dim won, lost, percentage As Integer 

Это DIM выигрываются и проигрываются в качестве объектов, а не целые числа.

+0

Нет, он объявит их как Integer. – ggf31416

+0

Просто помните, что процент не является целым числом. Процент - это число с плавающей запятой с диапазоном от 0 до 1. Таким образом, в исходном коде есть еще одна проблема. ;) – BoltBait

+0

Я продолжаю получать эту ошибку Опция Strict On запрещает неявные преобразования из «Double» в «Integer» – Davey

2
Dim team as String = txtTeam.Text 
Dim won as Integer = Cint(txtGamesWon.Text) 
Dim lost as Integer = CInt(txtGamesLost.Text) 
Dim percentage as Integer = Cint(won/(won + lost) * 100) 
txtPercent.Text = team & " won " & percentage & "% of its games." 

Если вы хотите, чтобы сделать его более устойчивым к плохим входам можно использовать Integer.TryParse, а не Cint.

+0

Это была отличная помощь. Вы, ребята, рок. – Davey

0

Большая часть вашей проблемы здесь даже не связана с программированием.

Это поможет узнать простую математику за вычисление процента в первую очередь. Это должно было быть относительно простым для работы на бумаге в первую очередь.

Мои глаза начали кровоточить, когда я прочитал:

percentage = (won + lost)/2. 

Процент не должно быть равно половине числа игр (хотя многие команды MLB будет рыть имея эту запись).

Смежные вопросы