Behöver hjälp med en uppgift i Programmering 1.

Permalänk
Medlem

Behöver hjälp med en uppgift i Programmering 1.

Hej alla.

Är nybörjare och får ingen bra hjälp av kursen.
Behöver hjälp med en uppgift i programmering 1.
Uppgiften är att jag ska skriva ett program som läser in två tal och sedan skriver deras summa,produkt och kvot.
Den ska alltså visa +,-,* och / som svar.

Jag har kommit så långt med hjälp av boken att jag kan mata in två tal som visar summan som plus eller minus osv.
Men sen står det stilla. Börjar bli bråttom med inläningen med har någon möjlighet att hjälpa mig?
Vet inte hur jag ska skriva för att den ska ta med dom övriga räknesätten.

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3;
cin.get(); //awaiting enter
}

Permalänk
Medlem

Om summan beräknas som

nr1 + nr2

så är det väl rimligt att produkten beräknas som

nr1 * nr2

Och motsvarande för övriga räknesätt.
Utskrift gör du precis som med fallet för summa.
Du kan antingen lägga till ytterligare hjälpvariabler i stil med n3 eller skippa de hjälpvariablerna helt och använda beräkningsuttrycken rakt av i utskrifterna.

Permalänk
Medlem

Plus
float nr3 = nr1 + nr2;
Minus
float nr3 = nr1 - nr2;
Gånger
float nr3 = nr1 * nr2;
Delat med
float nr3 = nr1 / nr2;

Om det var det du frågade efter

Permalänk
Medlem
Skrivet av Sions:

Plus
float nr3 = nr1 + nr2;
Minus
float nr3 = nr1 - nr2;
Gånger
float nr3 = nr1 * nr2;
Delat med
float nr3 = nr1 / nr2;

Om det var det du frågade efter

Fast du vill nog bara deklarera nr3 en gång.

Permalänk
Medlem

Ja, var bara exempel på hur man gör de andra räknesätten.

Permalänk
Medlem

Ok tack. Så jag ska skriva dit dom olika räknesätten under min nuvarande plus?
float nr3 = nr1 - nr2
float nr3 = nr1*nr2
float nr3 = nr1/nr2

Hur får jag ut svaren på skärmen sen?
Har förstått cout men klickar inte riktigt.

Permalänk
Medlem
Skrivet av Sions:

Plus
float nr3 = nr1 + nr2;
Minus
float nr3 = nr1 - nr2;
Gånger
float nr3 = nr1 * nr2;
Delat med
float nr3 = nr1 / nr2;

Om det var det du frågade efter

Jag har provat att skriva så redan.
Men får inte fram svaren på skärmen.
Den fortsätter bara att visa mitt plus svar.
Vad ska jag tänka på mera? Några tips.

Permalänk
Medlem

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
float nr3 = nr1 + nr2;
float nr3 = nr1 - nr2;
float nr3 = nr1 * nr2;
float nr3 = nr1 / nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3;
cin.get(); //awaiting enter

}

Är det här rätt uppfattat?

Permalänk
Medlem
Skrivet av Rockstar123:

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
float nr3 = nr1 + nr2;
float nr3 = nr1 - nr2;
float nr3 = nr1 * nr2;
float nr3 = nr1 / nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3;
cin.get(); //awaiting enter

}

Är det här rätt uppfattat?

För det första ska du inte deklarera om nr3 flera gånger, vilket någon skrev ovan. Kom ihåg att deklarering innebär att man namnger en variabel samt deklarerar vilken typ det är (i det här fallet float/flyttal). Efter att du skrivit "float nr3" första gången ska efterföljande tilldelningar till nr3 bara skrivas som tex:
nr3 = nr1 - nr2;

Sen kan du inte återanvända nr3 flera gånger i rad, koden kommer bara att skriva över värdet av nr3 med uttrycken på efterföljande rader. Du kan antingen sätta en cout efter varje tilldelning av nr3 (och då byta ut textsträngen från "added" till respektive räknesätt), eller använda flera variabler som nr4, nr5, nr6 och mata ut allihop på en rad på slutet

Permalänk
Moderator
Skrivet av Rockstar123:

Jag har provat att skriva så redan.
Men får inte fram svaren på skärmen.
Den fortsätter bara att visa mitt plus svar.
Vad ska jag tänka på mera? Några tips.

Du kanske ska gå tillbaka till koden i boken och fundera över vad de olika raderna gör. Just nu sitter du bara och gissar.

Permalänk
Medlem
Skrivet av urban22:

För det första ska du inte deklarera om nr3 flera gånger, vilket någon skrev ovan. Kom ihåg att deklarering innebär att man namnger en variabel samt deklarerar vilken typ det är (i det här fallet float/flyttal). Efter att du skrivit "float nr3" första gången ska efterföljande tilldelningar till nr3 bara skrivas som tex:
nr3 = nr1 - nr2;

Sen kan du inte återanvända nr3 flera gånger i rad, koden kommer bara att skriva över värdet av nr3 med uttrycken på efterföljande rader. Du kan antingen sätta en cout efter varje tilldelning av nr3 (och då byta ut textsträngen från "added" till respektive räknesätt), eller använda flera variabler som nr4, nr5, nr6 och mata ut allihop på en rad på slutet

Tack för du tar dig tid. Har gjort såhär nu.
men får upp error: `nr4`was not declared in this scope och error nr 5 osv. Måste ha gjort något tokigt igen.
Trött jag blir.

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
nr4 = nr1 + nr2;
nr5 = nr1 - nr2;
nr6 = nr1 * nr2;
nr7 = nr1 / nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3,nr4,nr5,nr6,nr7;
cin.get(); //awaiting enter

}

Permalänk
Medlem
Skrivet av giplet:

Du kanske ska gå tillbaka till koden i boken och fundera över vad de olika raderna gör. Just nu sitter du bara och gissar.

Ja antagligen. Ska göra det. Tack.
Tänker att det klarnar nog en del medans jag förstår uppgiften mera. Vilka fel jag har gjort osv.

Permalänk
Medlem
Skrivet av Rockstar123:

Tack för du tar dig tid. Har gjort såhär nu.
men får upp error: `nr4`was not declared in this scope och error nr 5 osv. Måste ha gjort något tokigt igen.
Trött jag blir.

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
nr4 = nr1 + nr2;
nr5 = nr1 - nr2;
nr6 = nr1 * nr2;
nr7 = nr1 / nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3,nr4,nr5,nr6,nr7;
cin.get(); //awaiting enter

}

1) Försök förstå felmeddelandet
2) Om du inte förstår - googla.

Du har inte deklarerat nr4,nr5,nr6,nr7 är i alla fall vad det betyder.

Permalänk
Medlem
Skrivet av Rockstar123:

Hur får jag ut svaren på skärmen sen?
Har förstått cout men klickar inte riktigt.

I din kod så har du en rad:

cout << "The numbers added are equal to: " << nr3;

Om du efter den lägger till följande:

cout << "The numbers multiplied are equal to: " << nr1*nr2;

vad får du för utskrift då?

Och så motsvarande för differens och kvot.

Permalänk
Medlem
Skrivet av Rockstar123:

Tack för du tar dig tid. Har gjort såhär nu.
men får upp error: `nr4`was not declared in this scope och error nr 5 osv. Måste ha gjort något tokigt igen.
Trött jag blir.

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;
nr4 = nr1 + nr2;
nr5 = nr1 - nr2;
nr6 = nr1 * nr2;
nr7 = nr1 / nr2;
//Writing out the answer
cout << "The numbers added are equal to: " << nr3,nr4,nr5,nr6,nr7;
cin.get(); //awaiting enter

}

Tror att du som sagt behöver läsa kapitlet om variabeldeklaration en gång till. Varje variabel måste deklareras exakt en gång. Just nu deklarerar du bara en av dem. Du har dessutom två variabler som innehåller summatalet, du behöver bara en för att lösa uppgiften.

Permalänk
Entusiast
Skrivet av Rockstar123:

Tack för du tar dig tid. Har gjort såhär nu.
men får upp error: `nr4`was not declared in this scope och error nr 5 osv. Måste ha gjort något tokigt igen.
Trött jag blir.

float nr3 = nr1 + nr2; nr4 = nr1 + nr2; nr5 = nr1 - nr2; nr6 = nr1 * nr2; nr7 = nr1 / nr2;

Detta får mig att misstänka att du kanske missat en viktig generell grundpelare för att förstå programmering: Du verkar nästan förvänta dig att kompilatorn ska fatta att nr4, nr5 osv ska betyda något bara för att nr3 gör det, eller något sådant. Men nr3 är bara ett namn som du har valt – siffran 3 har ingen innebörd för kompilatorn, utan bara för dig. Variabeln nr3 hade lika gärna kunnat heta ballong, vilket hade tydliggjort att det inte finns någon som helst ”magisk koppling” mellan den och nr4.

Slutligen: Använd [code] när du klistrar in kod i forumet, annars blir den svår att läsa. Exempel:

[code]
#include <iostream>
[/code]

Förtydligade att [code] bara ska användas i forumet.
Permalänk
Medlem

//Adds two numbers
#include <iostream>

using namespace std;

int main()
{
//Writing the numbers that we are going to add together
float nr1, nr2;
//Ask the user for a number
cout << "Write a number: ";
cin >> nr1;
//Ask the user for another number
cout << "write another number: ";
cin >> nr2;
//Adds the numbers and saves the value in variable nr3
float nr3 = nr1 + nr2;

//Writing out the answer
cout << "The numbers added are equal to: " << nr3 <<endl;

cout << "The numbers multiplied are equal to: " << nr1*nr2 <<endl;

cout << "The numbers divided are equal to: " << nr1/nr2 << endl;

cout << "The numbers subtracted are equal to: " << nr1-nr2 <<endl;

cin.get(); //awaiting enter

}

Tack alla nu har jag fått den att fungera som jag vill.
Ska gå tillbaka och läsa igenom kapitlet igen under påsken nu.

Permalänk
Medlem
Skrivet av Erik_T:

I din kod så har du en rad:

cout << "The numbers added are equal to: " << nr3;

Om du efter den lägger till följande:

cout << "The numbers multiplied are equal to: " << nr1*nr2;

vad får du för utskrift då?

Och så motsvarande för differens och kvot.

Tack så mycket. Det var det här jag inte förstod hur jag skulle få till skärmen.
Nu börjar saker ramla på plats.

Permalänk
Entusiast

@Rockstar123: Använd [code] när du klistrar in kod i forumet i fortsättningen, annars blir den svår att läsa.

Förtydligade att [code] bara ska användas i forumet.
Permalänk
Medlem
Skrivet av Alling:

@Rockstar123: Använd [code] när du klistrar in kod i fortsättningen, annars blir den svår att läsa.

Det är inget som boken har visat att man ska göra. Gör det koden tydligare?

Permalänk
Entusiast
Skrivet av Rockstar123:

Det är inget som boken har visat att man ska göra.

Inte så konstigt; boken handlar ju inte om att fråga om hjälp på SweClockers.

Citat:

Gör det koden tydligare?

Ja. [code]-taggar gör att koden visas korrekt, med lämpligt typsnitt, bibehållen indentering och så vidare. Använd alltid [code]-taggar när du klistrar in kod i forumet.

Permalänk
Medlem
Skrivet av Alling:

Inte så konstigt; boken handlar ju inte om att fråga om hjälp på SweClockers.

Ja. [code]-taggar gör att koden visas korrekt, med lämpligt typsnitt, bibehållen indentering och så vidare. Använd alltid [code]-taggar när du klistrar in kod i forumet.

Aha nu är jag med. Jag ska använda code på forumet. Haha 😂 Märks kanske att det är mitt första inlägg. På 1 april med. Tack för hjälpen.

Permalänk
Medlem

Hur ska jag få programmet att visa med tal istället för text som jag har nu.
T.ex. att 8+2=10
eller 8-2=6 osv.
Får det inte att fungera. Ursäkta simpel uppgift är helt nybörjare.
Känns som jag behöver få programmet att hitta nr1 och nr2 igen och sen cout med svaret + 10 t.ex.
Någon som kan hjälpa mig i rätt riktning?

//Adds two numbers #include <iostream> using namespace std; int main() { //Writing the numbers that we are going to calculate together float nr1, nr2; //Ask the user for a number cout << "Write a number: "; cin >> nr1; //Ask the user for another number cout << "write another number: "; cin >> nr2; //Adds the numbers and saves the value in variable nr3 float nr3 = nr1 + nr2; //Writing out the answer Addition cout << "float nr1,nr2 =; " << nr3 <<endl; //Multiplied cout << "The numbers multiplied are equal to: " << nr1*nr2 <<endl; //Divided cout << "The numbers divided are equal to: " << nr1/nr2 << endl; //Subtracted cout << "The numbers subtracted are equal to: " << nr1-nr2 <<endl; cin.get(); //awaiting enter }

Permalänk
Moderator

Hur ser din output ut?

Du kan bygga på din cout med flera argument typ:

cout << "lite text" << nr1 << "lite mer text" << nr2 << "text text" << endl;

Permalänk
Medlem

Min output när jag kör programmet är.

Write a number:
Write another number:
The numbers plus are equal to:
The numbers divided are equal to:
The numbers osv.

Men vill få det i siffror istället.
Write a number: 5
Write another number: 5
5+5 = 10
Osv.

Har fastnat i hur jag ska gå tillväga behöver lite hjälp känner jag och läraren verkar 0 intresserad av det.

Permalänk
Medlem

Har provat massor med olika saker nu. Börjar bli galen snart.

cout << "The numbers multiplied are equal to: " << nr1*nr2;

Har fungerat bra men jag behöver ha som ex 5+5=10 skrivet i siffror.
Och jag antar då jag måste hämta informationen på något sätt från föregående kod men jag fattar inte hur jag ska göra.

Permalänk
Medlem
Skrivet av Rockstar123:

Har provat massor med olika saker nu. Börjar bli galen snart.

cout << "The numbers multiplied are equal to: " << nr1*nr2;

Har fungerat bra men jag behöver ha som ex 5+5=10 skrivet i siffror.
Och jag antar då jag måste hämta informationen på något sätt från föregående kod men jag fattar inte hur jag ska göra.

Du gjorde ju detta i ditt första inlägg.
Fråga om input, lagra denna inputen i t.ex int (om det nu bara är tillåtet att mata in heltal)

Permalänk
Medlem
Skrivet av kwame:

Du gjorde ju detta i ditt första inlägg.
Fråga om input, lagra denna inputen i t.ex int (om det nu bara är tillåtet att mata in heltal)

Jag behöver få svaret i siffror inte text.
Jag får inte ordning på hur jag kan hämta
nr1 och nr2 infon och sedan använda en operator för att presentera ett svar.

Permalänk
Medlem
Skrivet av Rockstar123:

Jag behöver få svaret i siffror inte text.
Jag får inte ordning på hur jag kan hämta
nr1 och nr2 infon och sedan använda en operator för att presentera ett svar.

cout << nr1 << "+" << nr2 << "=" << nr1+nr2;

Såhär kan du göra.

Permalänk
Medlem

När du skriver in dina siffror, skriver du: fem eller 5? För när jag kör programmet så skriver programmet ut talen i siffror.