Witam, (Niedawno zacząłem zagłębiać się w dziedzinę IT jaką jest programowanie (póki co cpp), chce utrwalić sobie tablice i wskaźniki)
Więc piszę pewien program, mimo pisania programu staram się dbać o przejrzystość i jakość pisanego kodu.
Pyt.1 Najważniejsze ! W Jaki sposób mogę przekazać moją dynamiczną tablicę stringów z metody wczytaj() do innej metody -> pokaz()?
[z int'ami znalazłem na necie, ze stringami nie mogę się doszukać dla tego piszę czy jest to w ogóle możliwe {jakieś wskaźniki ?}{może w postaci pliku ?}]
Tak przy okazji: Da się jakoś zaimplementować tablice dynamiczne w klasie ?
Pyt. 2 Liczę na jakieś uwagi dobre rady w sprawie przejrzystości kodu, jakości ? Może jakieś zmiany kosmetyczne ? Na co miałbym zwracać uwagę podczas pisania ?
W Załączniku wysyłam obrazek z Kodem:
Kanapka.h
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Kanapka
{
private:
//Wykorzystywane przez Program
int numer;
int dyn_tab;
//Podaje User
string wybor;
int skladnik_tab;
public:
Kanapka(int=5, string="T", int=0, int=0);
string antyuserTN();
void wczytaj();
void pokaz();
};
Kanapka.cpp
#include "stdafx.h"
#include <iostream>
#include <string>
#include "Kanapka.h"
#include <locale.h>
using namespace std;
Kanapka::Kanapka(int skx, string w, int nr, int dt):skladnik_tab(skx),wybor(w),numer(nr),dyn_tab(dt){}
string Kanapka::antyuserTN() //AntyUser T/N
{
do{
cout << "[T/N]:"; cin>>wybor;
}while(wybor!="N"&&wybor!="T");
return wybor;
}
void Kanapka::pokaz(string sklad_tab[], int tab_ilo[]) // W jaki sposób je tutaj odtworzyć ?
{
for(int i=0;i<=numer;i++)
{
cout<<"Skladnik" << i + 1 << " : " << sklad_tab[i] << " ilość: " << tab_ilo[i] << endl;
}
}
void Kanapka::wczytaj()
{
int *tablica_ilosc = new int [dyn_tab];
string *skladnik_tablica = new string [skladnik_tab];
do{
cout << "Podaj skladnik " << numer + 1 << ": "; cin >> skladnik_tablica[numer];
cout << "Podaj ilosc dla skladnika: " << numer + 1 << ": "; cin >> tablica_ilosc[numer];
cout << "Czy chcesz podać kolejny składnik ";
Kanapka::antyuserTN();
numer++;
}while(wybor!="N");
numer--;
Kanapka::pokaz(skladnik_tablica, tablica_ilosc); // Co mam dokładnie przekazac ? W jaki sposób ?
}
main.cpp
#include "stdafx.h"
#include <iostream>
#include "Kanapka.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Kanapka k;
k.wczytaj();
return 0;
}