Permalänk
Medlem

nybörjare på c++

har en undrar över hur man använder if satsen för jag gör en typ av räknare och vill ha att om jag kan dela det med 7 ska jag sedan räkna med det

detta blir fel:

if (x % 7 == 0){
vecka = x / 7;}

else exess = x % 7;

den räknar rätt om den inte går att dela med 7 så vill veta hur man gör för att den ska räkna rätt om det går att dela med 7

Permalänk
Hedersmedlem

Kan du ge exempel på hur det blir fel och kanske exempel på exakt hur du förväntar dig att det ska fungera?

Din kod kommer dela x med 7 om x är delbart med 7 annars får du en restterm från modulo till variabeln exess. Eftersom modulo är en tung operation skulle jag tipsa att spara undan resultatet av den beräkningen innan if-satsen så kan du helt enkelt använda det resultatet i if-satsen och i else-satsen istället för att beräkna det 2 gånger.

Du kanske också vill ge lite mera kod så man får allt i ett sammanhang.

Permalänk
Medlem

Om koden ser ut exakt så, så saknar då måsvingar { } på else-satsen

Visa signatur

AMD Ryzen 9 3900x - MSI Tomahawk x570 Wi-Fi - 32GB Corsair Vengence @ 3200Mhz - MSI GeForce GTX 1070 8GB Gaming X - Corsair Hydro H100x - Några HDD's

Permalänk
Medlem

det fixade sig jag skrev om allt i en enklare form men tack ändå

Permalänk
Medlem
Skrivet av Tott3:

Om koden ser ut exakt så, så saknar då måsvingar { } på else-satsen

Man kan köra utan måsvingar { } efter en if-sats likaså else-sats m.m. Skippar man måsvingarna så körs enbart nästa sats i else-satsen.

if (a == x) a++; // Är samma som detta if (a == x) { a++ }

Visa signatur

Citera för svar

MSI Z490 MAG TOMAHAWK | Intel Core i7 10700K | Corsair 64GB DDR4 3200MHz | Asus GeForce RTX 3060 Ti TUF Gaming OC | Samsung 970 EVO Plus 1TB | WD Black 6TB Desktop Drive | Corsair RM750X 750W | Fractal Design Define R6

Permalänk
Medlem
Skrivet av Dew87:

Man kan köra utan måsvingar { } efter en if-sats likaså else-sats m.m. Skippar man måsvingarna så körs enbart nästa sats i else-satsen.

Ahaa, se där. Man lär sig något nytt varje dag. ^^

Visa signatur

AMD Ryzen 9 3900x - MSI Tomahawk x570 Wi-Fi - 32GB Corsair Vengence @ 3200Mhz - MSI GeForce GTX 1070 8GB Gaming X - Corsair Hydro H100x - Några HDD's