Otworzenie zewnętrznego pliku i zapisanie wyniku do pliku.

1

Napisałem program, który ma pobierać dane z zewnętrznego pliku zdefiniowanego jako temp.dat

puts "Odczytywanie wartości tempertatury w stopniach Celsjusza z pliku danych..."
num = File.read("temp.dat")
celsius = num.to_i
fahrenheit = (celsius * 9 / 5) + 32
puts "Liczba to " + num
print "Wynik: "
puts fahrenheit

Po wpisaniu w konsoli systemowej ścieżki pliku pokazuje mi błąd http://fotowrzut.pl/WB20S8K4H1

Drugi program, który będzie zapisywał wynik w pliku:

print "Witaj. Proszę podać wartość w stopniach Celsjusza: "
celsius = gets.to_i
fahrenheit = (celsius * 9 / 5) + 32
puts "Zapisywanie wyniku w pliku danych wyjsciowych temp.out"
fh = File.new ("temp.out" . "w")
fh.puts fahrenheit
fh.close

I podobny problem.

1

Mylisz przecinek z kropką

0

Problem z zapisywaniem pliku rozwiązany, pozostał jedynie z otworzeniem pliku próbowałem już na wiele sposobów. Próbowałem też kod zapisać w inny sposób przedstawiony na innych stronach i dalej program nie widzi tego pliku.

0

A nie możesz zapisywać i odczytywać z pliku "txt"? Pierwsze raz słysze

0

Tu raczej nie o to chodzi. Problem jest z otworzeniem pliku, mianowicie teraz zauważyłem, że gdy klikam w program na pulpicie pokazuje się i znika, to co mogę z niego na szybko odczytać zgadza się z tym co ma on w efekcie zwrócić (pobiera wartość z pliku). Natomiast, gdy chce wywołać ten program przez konsolę to pokazuje mi komunikat z błędem

0

Zmień jeszcze kropke na przecinek i zobacz czy wtedy działa.

0

Spróbuj najpierw tylko odczytać sam plik, czy cokolwiek wypisuje

num = IO.readlines("stopnie.txt")
num.each {|line| puts line.chomp}
0
puts "Liczba to " + num

Zmień te linijke na

puts "Liczba to ", num.readline

żeby nie znikało dodaj na końcu programu np.

gets

i sprawdź czy to coś dało

0

Zrobiłem tak

puts "Odczytywanie wartości tempertatury w stopniach Celsjusza z pliku danych..."
num = File.read("stopnie.txt")
celsius = num.to_i
fahrenheit = (celsius * 9 / 5) + 32
puts "Liczba to " + num 
print "Wynik: "
puts fahrenheit
**gets**

Dopisałem gets na końcu i program odpalony z pulpitu się nie zamyka.

Z odpaleniem przez wiersz polecenia nadal problem.

0

Mi to się uruchamia bez błędów i nie znika, ale ja mam RubyMine. To troche dziwne bo powinno ci to działać nawet na konsoli. Wklej screena jakie wyskakują błędy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0