1 svar
84 visningar
cky182 34
Postad: 13 apr 10:55

Inlämningsuppgift

Hej!

Jag är total nybörjare i programmering och har nu min första inlämningsuppgift.
Uppgiften lyder:
Skriv ett program i C++ som frågar efter ett årligt insättningsbelopp och en räntesats och ett sparmål. Programmet ska sedan med hjälp av en iteration (loop) räkna ut hur många år det tar innan sparmålet uppnåtts

Jag har börjat lite smått såhär:

#include <iostream>
#include <cmath>

using namespace std;

int main() {


int amount;
int sgoal;
int interest;

cout << "Please fill in the amount to deposit each year:";
cin >> amount;

cout << "Amount to deposit each year:" << amount;

cout << "\n Enter savingsgoal:";
cin >> sgoal;

cout << "Total savingsgoal:" << sgoal;

cout << "\n Interest rate in percentage: " << interest;
cin >> interest;

return 0;

Fråga 1:
Varför läggs texten på en ny rad ibland och ibland inte?

Har lagt till \n i vissa rader för att försöka lösa problemet, men känns inte korrekt.
Testade att lägga till endl efter << amount; för att bryta där men det funkade inte så därför la jag \n efteråt.

Fråga 2:
När jag kör programmet så funkar allting bra fram till Interest. Där fylls siffrorna i själv av programmet, varför?
När det i föregående rader går att fylla i siffrorna själv vilket är det jag vill kunna göra.

Tacksam för svar,

Alexandra

datav 26
Postad: 13 apr 19:16 Redigerad: 13 apr 19:16

I både C och C++ får man markera newline med hjälp av \n på egen hand.
Dvs får du skriva cout << "Please fill in the amount to deposit each year:\n"; och upprepa detta för alla strängar.
Sedan gällande interest så skriver du ut det innan du faktiskt fått in något värde, så det som skrivs ut är "skräp" som ligger lagrat där. 

cout << "\n Interest rate in percentage: " << interest;
cin >> interest;

Tar du bort << interest så kommer du inte märka av det. Dock låter du det vara kvar och kör en cout  << interest efter cin >> interest så kommer skräpet bli överskrivet med det "riktiga" värdet.

Svara Avbryt
Close