2 svar
88 visningar
Jayy behöver inte mer hjälp
Jayy 117
Postad: 4 jan 2023 02:41

For-satsen

 

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_ALL, "swedish");
    int falt[200];
    int antalanställda = 0;
    int summa = 0;
    for (int m = 1; m <= 199; m++)
        {
            cout << "Ange lön" << endl;
            cout << "Anställd " << m << ": ";
            cin >> falt[m];
            m = antalanställda;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

När jag kör koden ökar inte m. m blir alltid 1 fast det borde öka med 1 varje gång. Varför?

Yngve 40442 – Livehjälpare
Postad: 4 jan 2023 07:07

I for-slingans sista sats sätter du m = antalanställda, vilket hela tiden är lika med 0.

Du bör istället räkna upp antalanställda, t.ex. genom  antalanställda ++.

anders_k 237
Postad: 4 jan 2023 09:35 Redigerad: 4 jan 2023 09:35

Som det ser ut nu verkar det meningslöst att ha variabeln antalanställda, den är satt till 0 och ändras aldrig, men jag antar du kommer att lägga till mer kod i framtiden. att sätta m till antalanställda inne i loopen gör att du får en oändlig loop.

falt[0] blir aldrig initialiserat. bättre att alltid initialisera alla dina arrays 

int falt[200] = {0};

undvik systemanrop som system("PAUSE"); det är väldigt lätt för någon att hacka så låt det inte bli en vana.

Svara
Close