Permalänk
Medlem

C+ uppgift

Hej!
Jag ska göra en inlämnings uppgift i c+ som jag har problem med

Beskrivning
Syftet med denna inlämning är att du ska få träna på flera moment; algoritmbeskrivning, inmatning, sortering och att skriva till en fil. Vidare ska programmet vara uppbyggt med lämpliga metoder (funktioner). Hela lösningsförslaget ska också visas i ett flödesschema, pseudokod eller annan metod för algoritmbeskrivning.
Skriv ett litet program (console applikation) som läser in uppgifter för sex säljare i en säljkår.
Indata till programmet är de uppgifter om säljare som matas in.
Så här kan det se ut på skärmen:
Namn:
Personnummer:
Distrikt:
Antal sålda artiklar:
Följande uppgifter ska alltså läsas in: namn, personnummer, vilket distrikt han/hon arbetar i, hur många artiklar han/hon har sålt under perioden.
Detta för att man har ett bonussystem där viss del av lönen är fast och viss del rörlig. Den rörliga baseras på antal sålda artiklar (ni behöver dock inte beräkna lönen). Man vill sen se statistik över försäljningen..
Det ska finnas följande fyra nivåer: under 50 artiklar, 50-99 artiklar, 100-199 artiklar samt en nivå 199 artiklar
När man läst in alla säljare ska resultatet sorteras innan det skrivs ut. Sorteringen sker på antal sålda artiklar. I utskriften ska alla resultat i sorterad ordning finnas med samt hur många säljare som ligger inom varje nivå och hur många artiklar var och en har sålt.

Uppskattar all hjälp jag kan få =D

Visa signatur

Core i5 750, Xfx radeon 5850 black edition, 8gb corsair dominator 1600 mhz, Asus p7p55d PRO, Velociraptor 150GB, Samsug 1TB, Antec 902, Zalman cnps10X extreme, corsair 650W.

Permalänk
Medlem

Och vad har du kommit fram till själv? Hur tänker du angripa problemet? Vad är det som är problemet?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem

ja du jag vet inte vart ja ska börja med att beskriva för dig vad som är problemet =P
Jag tänkte "ful" koda, genom att ta in alla variabler så som namn, personnummer, distrikt och antal sålda för varje person och sedan lite if satser.
Men just nu så tar den endast in namn och sedan stänger ner programmet...
instruct ();

cout << "name1: ";
cin >> name1;
cout << "district1: ";
cin >> district1;
cout << "personalnumber1: ";
cin >> personalnumber1;
cout << "amount1: ";
cin >> amount1;
pause ();

Den bryr sig inte om de andra cin förutom name...

Visa signatur

Core i5 750, Xfx radeon 5850 black edition, 8gb corsair dominator 1600 mhz, Asus p7p55d PRO, Velociraptor 150GB, Samsug 1TB, Antec 902, Zalman cnps10X extreme, corsair 650W.

Permalänk
Medlem

till TS: klistra in all din kod i code-taggar, om nu inte detta var allt du kommit fram till.

citat
Visa signatur

|| Intel 8700K || MSI GTX 1080 TI Gaming X || Xonar DG || Samsung 750 EVO 500GB & Kingston A2000 1TB & Samsung 960 EVO 250GB || XFX XXX 650W || Antec P183 || Asus G-Sync RoG Swift PG279Q || Dell XPS 15 || Thinkpad X220

The Force is like Duct Tape, it has a light side, a dark side, and holds the universe together.

Permalänk
Medlem

Vad är det för kurs ni läser? Gymnasie gissar jag starkt på.

Har ni lärt er något om fält än? (dvs. det som flitigt även kallas arrays, som man skriver exempelvis
int aFunnyInteger[10]

Cin har jag bestämt för mig att den bara läser fram till mellanslag/nyrad. Så skriver du: hej jag heter kurt
så blir name1="hej", district1="jag", personalnumber1="heter", amount="kurt" (givet att det är deklarerade variabler förstås).

Har ni gjort något med objekt än?

Rent spontant hade jag ju haft vare säljare som ett objekt med alla dess egenskaper.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem

Börja med första delen av uppgiften. Gör ett flödesschema eller skriv pseudokod på hur du vill strukturera upp programmet. Det blir mycket enklare att programmera när du har en klar bild på hur du vill tackla problemet. Och som bonus så har du även gjort dokumentationen.

Permalänk
Medlem

Jag har lyckats göra så att man skriver in all info nu iaf men nu vill jag jämföra vissa saker, jag vill jämföra om "antalet sålda" är större än 50 lr större än 100 osv för att ge den personen en "nivå"

Visa signatur

Core i5 750, Xfx radeon 5850 black edition, 8gb corsair dominator 1600 mhz, Asus p7p55d PRO, Velociraptor 150GB, Samsug 1TB, Antec 902, Zalman cnps10X extreme, corsair 650W.

Permalänk
Medlem

// UPG 2 ny.cpp : main project file.

#include "stdafx.h" #include <iostream> #include "conio.h" #include <conio.h> #include <iomanip> #include <fstream> #include <string> using namespace std; void inputText (void); int Calculate (int x); void pause (); int main() { int amount1, amount2, amount3, amount4, amount5, amount6, personalnumber1, personalnumber2, personalnumber3, personalnumber4, personalnumber5, personalnumber6, level1, level2, level3, level4, level5, level6; std::string name1, name2, name3, name4, name5, name6, district1, district2, district3, district4, district5, district6; inputText (); cout << "name1: "; cin >> name1; cout << "district1: "; cin >> district1; cout << "personalnumber1: "; cin >> personalnumber1; cout << "amount1: "; cin >> amount1; cout << "name2: "; cin >> name2; cout << "district2: "; cin >> district2; cout << "personalnumber2: "; cin >> personalnumber2; cout << "amount2: "; cin >> amount2; cout << "name3: "; cin >> name3; cout << "district3: "; cin >> district3; cout << "personalnumber3: "; cin >> personalnumber3; cout << "amount3: "; cin >> amount3; cout << "name4: "; cin >> name4; cout << "district4: "; cin >> district4; cout << "personalnumber4: "; cin >> personalnumber4; cout << "amount4: "; cin >> amount4; cout << "name5: "; cin >> name5; cout << "district5: "; cin >> district5; cout << "personalnumber5: "; cin >> personalnumber5; cout << "amount5: "; cin >> amount5; cout << "name6: "; cin >> name6; cout << "district6: "; cin >> district6; cout << "personalnumber6: "; cin >> personalnumber6; cout << "amount6: "; cin >> amount6; level1 = calculate (amount1); level2 = calculate (amount2); level3 = calculate (amount3); level4 = calculate (amount4); level5 = calculate (amount5); level6 = calculate (amount6); pause (); } void inputText (void) { // Declaration section // Executable section cout << "Input all the information" << endl; } int calculate (int x) { // Declaration section //Executable section if(x < 50){ return 1;} else if ( x < 100){ return 2;} else if ( x <199){ return 3;} else { return 4;} } void pause () { // Declaration section // Executable section cout << "\nPress any key to end it all forever..."; _getch(); cout << "\r"; cout << " "; cout << "\r"; }

Hela koden så som den ser ut just nu, får dock error då jag kallar på calculate i main programmet...

Visa signatur

Core i5 750, Xfx radeon 5850 black edition, 8gb corsair dominator 1600 mhz, Asus p7p55d PRO, Velociraptor 150GB, Samsug 1TB, Antec 902, Zalman cnps10X extreme, corsair 650W.

Permalänk
Medlem

Du måste skicka en integer till funktionen, just nu skickar du strängar

Använd en funktion för att omvandla strängen till en integer

Dold text

Edit:

Citat:

std::string

Du har redan använt namespace std så du behöver inte skriva "std::" innan "string"

Visa signatur

Fractal Define R5 || Cooler Master V750S || Asus Z97-A || Intel i7 4790K + Hyper 212 Evo || EVGA GTX 980 Ti SC+ || Crucial Ballistix Sport 16GB 1600MHz || 850 EVO 500GB + Samsung 860 EVO 1TB || 4 TB HDD

Permalänk
Medlem

Kan inte tänka mig att ni inte har gått igenom arrayer och loopar för denna uppgift.
Tror nämligen inte läraren gör en sådan uppgift om det inte är tänkt att använda loopar och arrayer etc.

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770