objektorienterad programmering c#
Hejsan!
Håller på med en uppgift där jag ska få indata från användaren, lagra detta i en list. Sedan hitta lägsta temperatur, högsta temperatur samt medeltemperatur och sedan anropa metoder i main. Där mitt problem ligger. Verkar relativt simpelt när jag googlar om det så det får mig att tro att jag har gjort något jäkligt fel, men håller tummarna att det inte är det.
Klassen Stad som lagrar städernas namn samt temperatur:
public class Stad
{
private float medelTemp;
public Stad(int Temperatur)
{
aTemperatur = Temperatur;
}
public Stad(float medelTemp)
{
this.medelTemp = medelTemp;
}
public Stad(string StadNamn, int Antal)
{
aStadNamn = StadNamn;
aAntal = Antal;
}
public int aAntal
{
get { return aAntal; }
set { }
}
public string aStadNamn { get; set; }
private int aTemperatur
{
get { return aTemperatur; }
set { }
}
public void skrivUt(string StadNamn, int Temperatur)
{
Console.Write("Städernas namn: " + StadNamn + "samt dess temperatur: " + Temperatur);
}
public static implicit operator int(Stad v)
{
throw new NotImplementedException();
}
}
Klassen som lagrar metoderna:
class Metoder
{
public int LägstTemp(List<Stad> städer, int lägstTemp, int Temperatur)
{
if (städer.Count == 0)
{
throw new InvalidOperationException("Listan är tom!");
}
lägstTemp = int.MinValue;
for (int i = 0; i < städer.Count; i++)
{
Temperatur = städer[i];
if (Temperatur > lägstTemp)
{
lägstTemp = Temperatur;
}
Metoder lägTemp = new Metoder();
}
return lägstTemp;
}
public float MedelTemp(List<Stad> städer, int antal)
{
int sum = 0;
for (int i = 0; i < städer.Count; i++)
{
sum += städer[i];
}
float medelTemp = (float)sum / (float)städer.Count;
Metoder medTemp = new Metoder();
return medelTemp;
}
public int HögstTemp(List<Stad> städer, int högstTemp, int Temperatur)
{
if (städer.Count == 0)
{
throw new InvalidOperationException("Listan är tom!");
}
högstTemp = int.MinValue;
for (int i = 0; i < städer.Count; i++)
{
Temperatur = städer[i];
if (Temperatur > högstTemp)
{
högstTemp = Temperatur;
}
Metoder högTemp = new Metoder();
}
return högstTemp;
}
}
}
Och till sist main:
static void Main(string[] args)
{
List<Stad> städer = new List<Stad>();
Console.Write("Ange hur många städer vill du lägga till: ");
int Antal = int.Parse(Console.ReadLine());
for (int i = 0; i < Antal; i++)
{
Console.Write("\nAnge stadens namn: ");
string StadNamn = Console.ReadLine();
Stad stadAntal = new Stad(StadNamn, Antal);
städer.Add(stadAntal);
}
for (int i = 0; i < Antal; i++)
{
Console.Write("\nAnge städernas temperatur: ");
int Temperatur = int.Parse(Console.ReadLine());
if (Temperatur <= -50 && Temperatur >= 60)
{
Console.WriteLine("Fel inmatning!");
}
Stad stadTemp = new Stad(Temperatur);
städer.Add(stadTemp);
}
Stad.skrivUt();
}
}
}