Övning i att hitta fel i C#
Har i uppgift att hitta flera fel, den innehåller flera kompilerings fel samt ett logiskt fel som jag skall hitta och åtgärda.
Uppgiften:
static void Main(string[] args)
{
int i = 0;
while (i <= 24)
{
Console.WriteLine("Ange temperatur för timme " + 1 + ":");
string str = Console.ReadLine();
totalTemp = totalTemp + Convert.ToDouble(str);
i++;
}
Console.WriteLine("Medeltemperaturen för dygnet är " totalTemp / 24 + " grader");
Detta har jag kommit fram till men det blir fel ändå, vet inte riktigt hur jag ska tänka på denna uppgiften.
static void Main(string[] args)
{
int i = 0;
double totalTemp = 0;
while (i <= 24)
{
Console.WriteLine("Ange temperatur för timme " + 1 + ":");
totalTemp = Convert.ToDouble(Console.ReadLine());
i++;
Console.WriteLine("Medeltemperaturen för dygnet är " + totalTemp / 24 + " grader");
}
Jag kan inte C# men skulle bli förvånad om du inte skulle behöva explicit konvertera totalTemp/24 till string innan du skriver.
Sen räknar du aldrig upp totalTemp utan får den sista timmens temp.
Och till sist ska du väl vänta med utskriften tills du samlat på dig de 24timvärdena.
Eller har du vänt på uppgift och lösning???
I båda programmen går man väl 25varv i loopen, både i=0 och i=24.
Här är vad jag ser
// totalTemp måste deklareras utanför while loopen
...
while (i <= 24) // hur många gånger loopar denna?
...
Console.WriteLine("Ange temperatur för timme " + 1 + ":"); // skall vara i, inte 1
...
// Formatering i din WriteLine är inte rätt, skriv så här istället
Console.WriteLine("Medeltemperaturen för dygnet är {0} grader", totalTemp/24.0);
Var ser du det?
Laguna skrev:Var ser du det?
vad menar du?
Var kom de där kommentarerna ifrån?