webForumDet fria alternativet

C++-program som inte fungerar! (nybörjare...)

22 svar · 532 visningar · startad av trexter · sida 2 av 2

Alpha IIMedlem sedan maj 20002 993 inlägg
#21

Om du nödvändigt vis vill pausa programmet just innan det avslutas så att du slipper öppna det i ett cmd fönster kan du lägga till detta precis innan return 0;

system("paus");

trexterMedlem sedan mars 20021 889 inlägg
#22

Hur gör man för att kolla om en "float" variabel har blivit tilldelat ett "float" värde av användaren?

Så här ser mitt program ut nu:

#include <iostream>
using namespace std;

int main () {
float tal;
float summa;
summa = 0.0;

	for (int i = 1; true; i++) 
	{
		cout << "Skriv in ett tal!";
		cin >> tal;

		if ( tal == 0) {
        break;
		}

		summa = summa + tal;
		cout << "Du har skrivit in " << i << " olika tal.\n";
		cout << "Summan av dessa \x84r: " << summa << ".\n";
		cout << "Medelv\x84rdet av dessa tal \x84r: " << summa/i << ".\n\n";
	}
return 0;
}

:)

aasahMedlem sedan mars 20034 471 inlägg
#23

trexter skrev:

Hur gör man för att kolla om en "float" variabel har blivit tilldelat ett "float" värde av användaren?

Så här ser mitt program ut nu:

#include <iostream>
using namespace std;

int main () {
float tal;
float summa;
summa = 0.0;

	for (int i = 1; true; i++) 
	{
		cout << "Skriv in ett tal!";
		cin >> tal;

		if ( tal == 0) {
        break;
		}

		summa = summa + tal;
		cout << "Du har skrivit in " << i << " olika tal.\n";
		cout << "Summan av dessa \x84r: " << summa << ".\n";
		cout << "Medelv\x84rdet av dessa tal \x84r: " << summa/i << ".\n\n";
	}
return 0;
}

:)

Det finns lite underligheter i ovanstående.

  • Vill du verkligen att summan mm ska skrivas ut i varje varv?
  • for-slingor används när man vet hur många varv man vill kirra runt, du borde använda en while-slinga i stället.

Bättre idé:

#include <iostream>
using namespace std;

int main () {
float tal = 3.14; // eller vad som helst != 0
float summa = 0.0;
int antal = 0;

	while (tal != 0) 
	{
                   cout << "Skriv in ett tal!";
	   cin >> tal;
	   summa = summa + tal;
                   antal++;
	}

	cout << "Du har skrivit in " << antal << " olika tal.\n";
                        << "Summan av dessa \x84r: " << summa << endline;
                cout << "Medelv\x84rdet av dessa tal \x84r: " << summa/antal << ".\n\n";
                return 0;
}

Eller, om du så vill flytta in utskriften i slingan.

cin kommer att vänta in ett tal tills den får något. Om du skriver in en sträng kommer du att få krasch, om du skriver in ett heltal kommer den att konvertera det till samma tal,0 (ex. 7 --> 7,0) alltså inget du behöver bekymmra dig om.

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)