Pitanje za C# programere.
Zasto program ne ceka da se unese i druga vrijednost(nocnaTemperatura.vrijednost = Console.Read();)
i zasto ispisuje i za prvu unesenu vrijednost neki drugi broj(dnevnaTemperatura.vrijednost = Console.Read();)
Jasno mi je da je ovo neki jednostavna greska ali sam pocetnik i nemogu je naci
Hvala svakom ko zeli pomoci
using System;
class Temp
{
public double vrijednost;
public double toFahrenheit()
{
return (9.0/5.0*vrijednost+32);
}
public double toKelvin()
{
return (vrijednost + 273.15);
}
}
class Glavna
{
public static void Main()
{
Temp dnevnaTemperatura = new Temp();
dnevnaTemperatura.vrijednost = Console.Read();
Temp nocnaTemperatura = new Temp();
nocnaTemperatura.vrijednost = Console.Read();
Console.WriteLine(dnevnaTemperatura.vrijednost + " dnevna temp u C");
Console.WriteLine(nocnaTemperatura.vrijednost + " nocna temp u C");
Console.WriteLine();
Console.WriteLine(dnevnaTemperatura.toKelvin()+" dnevna temp u K");
Console.WriteLine();
Console.WriteLine(dnevnaTemperatura.toFahrenheit() + " dnevna temp u F");
Console.WriteLine(nocnaTemperatura.toKelvin() + " nocna temp u K");
Console.WriteLine();
Console.WriteLine(nocnaTemperatura.toFahrenheit() + " nocna temp u F");
Console.WriteLine();
}
}
Pitanje za C# programere
- poruka: 9
- |
- čitano: 2.308
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Zamijeni
Console.Read();
sa
Convert.ToDouble(Console.ReadLine());
I na kraju stavi još jedan
Console.ReadLine();
Da aplikacija ostane vidljiva.
Console.WriteLine("Dnevna u C?");
Temp dnevnaTemperatura = new Temp();
dnevnaTemperatura.vrijednost = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(dnevnaTemperatura.vrijednost + " dnevna temp u C\r\n" + dnevnaTemperatura.toKelvin() + " dnevna temp u K\r\n" + dnevnaTemperatura.toFahrenheit() + " dnevna temp u F\r\n");
Console.WriteLine("Nocna u C?");
Temp nocnaTemperatura = new Temp();
nocnaTemperatura.vrijednost = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(nocnaTemperatura.vrijednost + " nocna temp u C\r\n" + nocnaTemperatura.toKelvin() + " nocna temp u K\r\n" + nocnaTemperatura.toFahrenheit() + " nocna temp u F");
Console.ReadLine();
Ovako ima više smisla.
Možeš napraviti i samo parsanje ....
Console.WriteLine("Unos temperature(dnevne) : ");
Temp dnevnaTemperatura = new Temp();
dnevnaTemperatura.vrijednost = double.Parse(Console.ReadLine());//parsanje
Console.WriteLine("Unesite nocnu temp: ");
Temp nocnaTemperatura = new Temp();
nocnaTemperatura.vrijednost = double.Parse(Console.ReadLine());
Znači svaki unos stringa a koji mora biti double jednostavno parsaš....
ps moderatorima....zadnji red koda sam pokušao pod uredi tri-četiri puta ali jednostavno ne prihhvaća da se stavi u kod!? :)
Hvala velika na pomoci.
Program sada radi
Recimo da bi ti program bio više Private upotrijebiš u klasi Temp svojstva(field) ...:
private double dnevnaTemp;
private double nocnaTemp;
public double NocnaTemp
{
get { return nocnaTemp; }
set { nocnaTemp = value; }
}
public double DnevnaTemp
{
get { return dnevnaTemp; }
set { dnevnaTemp = value; }
}
A u glavno programu :
Console.WriteLine("Unos temperature(dnevne) : ");
Temp dnevnaTemperatura = new Temp();
dnevnaTemperatura.DnevnaTemp = double.Parse(Console.ReadLine());
//dnevnaTemperatura.vrijednost = double.Parse(Console.ReadLine());
Console.WriteLine("Unesite nocnu temp: ");
Temp nocnaTemperatura = new Temp();
nocnaTemperatura.NocnaTemp = double.Parse(Console.ReadLine());
//nocnaTemperatura.vrijednost = double.Parse(Console.ReadLine());
Console.WriteLine(dnevnaTemperatura.DnevnaTemp + " dnevna temp u C");
Console.WriteLine(nocnaTemperatura.NocnaTemp + " nocna temp u C");
Console.WriteLine();
Console.WriteLine(dnevnaTemperatura.toKelvinD() + " dnevna temp u K");
Console.WriteLine();
Console.WriteLine(dnevnaTemperatura.toFarnehajtD() + " dnevna temp u F");
Console.WriteLine(nocnaTemperatura.toKelvinN() + " nocna temp u K");
Console.WriteLine();
Console.WriteLine(nocnaTemperatura.toFarnehajtN() + " nocna temp u F");
Console.WriteLine();
...samo sam napravio nove funkcije (metode) za izračun temperatura u klasi Temp ,znači sad je sve enkapsulirano.
Pocetnik sam u C# i zapinjem na najednostavnijim programima.
Hvala Base i Private-u sto su odvojili vrijeme da mi pomognu
...samo ti nastavi ,ako zapneš ovdje su forumaši .
no problemo