Dzień dobry. Pracuję nad programem do obliczania ceny materiału na podstawie jego gatunku, wymiarów itp. Stworzyłem klasę w której zadeklarowałem strukturę zawierającą trzy typy danych: typ materiału (enum), gatunek materiału (string) oraz gęstość materiału (double). W pliku main.cpp stworzyłem comboboxa oraz liste do której przypisuje obiekty typu wcześniej wspomnianej struktury. Problem polega na tym, że nie wiem jak wypełnić comboboxa za pomocą elementów z listy. Poniżej mój kod z pliku głównego oraz deklaracja struktury.
main.cpp
Calculations* calc = new Calculations();
list<Calculations::MaterialGenre> materialGenreList;
calc->SetStruct(Calculations::Aluminium, "PA6", 8.0);
materialGenreList.push_back(calc->GetGenre());
list<Calculations::MaterialGenre>::iterator i = materialGenreList.begin();
for (i; i != materialGenreList.end(); ++i)
{
SendMessage(chooseMaterialGenreComboBox, CB_ADDSTRING, 0, (LPARAM)i->materialGenre);
}
delete calc;
Calculations.h
#ifndef CALCULATIONS_H
#define CALCULATIONS_H
#pragma once
#include <iostream>
#include <string>
#include <list>
#include <iterator>
using namespace std;
class Calculations
{
public:
enum MaterialType { Aluminium, Stal, Stal_nierdzewna, Ołów, Mosiądz, Brąz, Plastik };
struct MaterialGenre
{
MaterialType materialType;
string materialGenre;
double materialDensity;
};
public:
void SetStruct(MaterialType, string, double);
MaterialGenre GetGenre();
};
#endif // !CALCULATIONS_H
Calculations.cpp
#include "Calculations.h"
Calculations::MaterialGenre material_genre;
Calculations::MaterialGenre Calculations::GetGenre()
{
return material_genre;
}
void Calculations::SetStruct(MaterialType materialType, string genre, double density)
{
material_genre.materialType = materialType;
material_genre.materialGenre = genre;
material_genre.materialDensity = density;
}
Oczywiście pojawiają się również błędy:
Byłbym wdzięczny za jakąkolwiek podpowiedź jak to ugryźć.
Pozdrawiam