C++, Behöver hjälp på vägen

Permalänk

C++, Behöver hjälp på vägen

Hej, nu är det så att jag vill kunna skapa ett program där man ska kunna skriva in information om varor och anställda. Jag vill att det ska fungera lite som ett varuhus helt enkelt. Jag har kommit så pass långt att jag har skrivit kod för information om varor.

Man kan lägga till en vara, ta bort en vara och dessutom skriva ut listan på varorna. Det jag nu vill lägga till är anställda. Jag behöver lite tips och ideer hur detta ska gå till. Jag vill även att varor och anställda ska fungera ihop. Det behöver inte vara något stort företag och det kan vara så att dom bara säljer datorer och tv-apparater eller något enkelt. Och sen typ bara 2 anställda. Jag vill göra ett litet först, sen utöka det.

Min kod:

#include <iostream> #include <conio.h> using namespace std; class Stock { public: Stock* PreviousProduct; Stock* NextProduct; char Weight[100]; char Price[100]; char NameOfProduct[50]; }; Stock* FirstProduct = 0; void PrintLagerProducts() { Stock* P = FirstProduct; while (P != 0) { cout <<"Name: " <<P->NameOfProduct <<endl; cout <<"Weight: " << P->Weight <<endl; cout <<"Price: " << P->Price <<endl; P = P->NextProduct; } } void AddProduct() { Stock* P = new Stock; Stock* Q = FirstProduct; P->PreviousProduct = 0; P->NextProduct = Q; if (Q != 0) { Q->PreviousProduct = P; } FirstProduct = P; cout << "Enter name of product"; cin >> P->NameOfProduct; cout << "Enter weight in kg: "; cin >> P->Weight; cout << "Enter price in kr: "; cin >> P->Price; } void RemoveProduct () { cout<< "Enter type of product: "; char TypeOfProduct[100]; cin >> TypeOfProduct; Stock* P = FirstProduct; bool l_bDeleted = false; while(P != 0) { if(strcmp(P->NameOfProduct, TypeOfProduct) == 0) { Stock* Prev = P->PreviousProduct; Stock* Next = P->NextProduct; if(Prev != 0) { Prev->NextProduct = P->NextProduct; } if(Next != 0) { Next->PreviousProduct = P->PreviousProduct; } if(FirstProduct == P) { FirstProduct = Next; } delete P; P = 0; l_bDeleted = true; } else { P = P->NextProduct; } } if(l_bDeleted != true) { cout << "Could not remove product \"" << TypeOfProduct << "\", product not found in stock! " << endl; } } int main () { cout << "Stock products." <<endl; bool Quit = false; while (Quit == false) { cout << endl << "Options:" <<endl; cout << "1. View your stock products" <<endl; cout << "2. Add product" <<endl; cout << "3. Remove product" <<endl; cout << "4. Quit" <<endl; cout << "Enter your choice (1-4): "; int Choice; cin>> Choice; switch(Choice) { default: cout << "Bad option!" <<endl; break; case 1: PrintLagerProducts(); break; case 2: AddProduct(); break; case 3: RemoveProduct(); break; case 4: Quit = true; break; } } }

Permalänk
Medlem

Jag rekommenderar att du lär dig klass-uml samt objektorienterad programmering. Det kommer att lösa problemet men är en del jobb att lära sig först. Kanske kan du söka en fristående kurs till sommaren?

Något som jag ser direkt är att du skrivit "Jag vill att varor och anställda ska fungera ihop". Hurdå? Det är viktigt att du själv skapar en kravspecifikation som säger att exakt såhär ska programmet fungera och detta ska man kunna göra. Gör du inte det kommer du bara ramla runt bland din kod och ändra dig många gånger om. Förgrundsarbete i programmering är det många som glömmer men som är minst lika viktigt som själva implementationen.