n° 219
Novembre 2017
Dicembre 11, 2017, 04:16:20 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Chiusura inaspettata  (Letto 4670 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
piio
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 2


Mostra profilo
« inserita:: Febbraio 09, 2012, 07:59:25 »

Salve sono nuovo,
ho appena iniziato a scrivere in Ruby. Ho scritto questo:
Codice:
class ConvertTemperature

def celsiusToFahrenheit(celsius)
fahrenheit = ((celsius - 32.0) / 180.0) * 100.0
return fahrenheit
end

def fahrenheitToCelsius(fahrenheit)
celsius = ((fahrenheit + 32.0) / 100.0)* 180.0
return celsius
end

end

puts "Temperature Converter"
puts ""
puts "Scegli un operazione:"
puts "1. Da Celsius a Fahrenheit"
puts "2. Da Fahrenheit a Celsius"
operazione = gets
if operazione == 1
puts "Scrivi una temperatura in gradi Celsius:"
convert = ConvertTemperature.new
tempconv = gets
fah = convert.celsiusToFahrenheit(tempconv.to_i)
puts ""
puts "Temperatura in Fahrenheit:"
puts fah
end
if operazione == 2
puts "Scrivi una temperatura in gradi Fahrenheit:"
convert = ConvertTemperature.new
tempconv = gets
cel = convert.fahrenheitToCelsius(tempconv.to_i)
puts ""
puts "Temperatura in Celsius:"
puts cel
end
All'avvio con l'interprete, se scrivo 1 o 2, il programma termina l'esecuzione senza fare ciò che è stato scritto nelle istruzioni if. Perchè?
Registrato
gangio94
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 1


Mostra profilo E-mail
« Risposta #1 inserita:: Maggio 22, 2015, 02:10:59 »

ciao, anche io ho appena iniziato a programmare con ruby.
nel tuo codice ci sono un paio di errori:

1) alla riga 21 quando gli dici    operazione = gets  devi aggiungere un .chomp quindi diventa operazione = gets.chomp (il .chomp in pratica fa si che non venga considerato l'invio finale)

2) alla riga 22 e 31 gli devi dire che 1 e 2 sono stringhe non numeri, quindi al posto di mettere if operazione == 1 lo devi correggere in if operazione == '1' questo perchè quando usi il gets qualunque cosa scrivi lui la considera una stringa anche se effettivamente te inserisci un numero

Spero di esserti stato utile  Occhiolino
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines