Taas joudun turvautumaan apuun, kun ei oma järki (lue: taito) riitä ;-)
Eli tuossa alla on siihen asti toimiva lämpötilaohjelma, että se kysyy jokaisen viikonpäivän lämpötilan celsiusasteina. Ne celsius-asteet pitäisi sitten muuttaa fahrenheit-asteiksi. Ja lopuksi pitäisi listata allekkain jokaisen päivän lämpötila ensin celsius-asteina ja niiden jälkeen fahrenheit-asteina. Eli miten saan kaikkien viikonpäivien molemmat lämpötilat "tulostettua"??
Sub Main() Const OTSIKKO As String = "Yölämpötilat" Dim intCelsiusAsteet As Integer Dim intFahrenheitAsteet As Integer Dim intViikonpaivaLaskuri As Integer ' kysy toistolauseen avulla viikonpäivien yölämpötilat For intViikonpaivaLaskuri = 1 To 7 intCelsiusAsteet = InputBox("Viikonpäivä: " & vbTab & _ WeekdayName(intViikonpaivaLaskuri) & _ vbCrLf & vbCrLf & _ "Syötä yölämpötila", OTSIKKO) Next intFahrenheitAsteet = 1.8 * intCelsiusAsteet + 32 MsgBox "Celsius asteet: " & vbCrLf & intCelsiusAsteet & vbCrLf & _ vbCrLf & "Fahrenheit asteet:" & vbCrLf & intFahrenheitAsteet MsgBox strListaus, vbOKOnly, "Viikon päivälämpötilat" End Sub
Helpointa on, jos lasket Fahrenheit-lämpötilat ja muodostat listan sitä mukaa kun käyttäjä syöttää arvoja. Tee vaikka näin (olettaen, että tuo kaava Fahrenheitin laskemiseen on oikein):
Sub Main() Dim i As Integer, lista As String Dim celcius As Single, fahrenheit As Single For i = 1 To 7 celcius = InputBox("Anna päivän " & i & " lämpötila:") fahrenheit = 1.8 * celcius + 32 lista = lista & "Päivä " & i & vbTab & celcius & " °C" & vbTab & fahrenheit & " °F" & vbCrLf Next MsgBox lista End Sub
KIITOS paljon! Tuo toimii. Mutta olisiko vielä tietoa, että miten saisin numeroiden tilalle viikonpäivät?
Esim. kun nyt ohjelma pyytää: "Anna päivän 1 lämpötila", niin pitäisi kysyä: "Anna maanantain lämpötila"
Varmaan teet taulukkoon 7 eri merkintää, siis viikonpäivät ja sitten vaikka print paivat(i) , ymmärsitkö?
Varmaanki
For i = 1 To 7 celcius = InputBox("Anna " & WeekdayName(i) & " lämpötila:")
Aihe on jo aika vanha, joten et voi enää vastata siihen.