Chciałem zadać pytanie czy ktoś jest zainteresowany podobnym tematem i chciałem załączyć program, ale nie udało się bo przekroczył 1500 znaków. Program "rysował" szafki kuchenne dolne w dużym uproszczeniu. "Rysował" tj wklejało się do linicommand tekst z pliku i wtedy rysował. Przez wklejenie bo tak szybciej i scr programie przestał działać, virus czy co. A, że to strasznie wypociny były(lispa tam nie uświadczysz ani żadnego ui), to teraz próbuję go napisać na nowo (na razie rozkroje do txt). I jak by ktoś miał chęć coś poklikać czy ocenić to chętnie udostępnię ten stary program. Nowy jak bym napisał to także nie w celach komercyjnych. Chciałem na githuba wrzucić, ale to jakaś męczarnia, a i lepiej się swoimi wypocinami lokalnie chwalić, niż globalnie a poza tym po polsku.
Tu załączę tylko maina
#include <iostream>
#include <string>
#include <fstream>
#include <windows.h>
#include "szafka.hpp"
#include "punkt.hpp"
#include "komenda.hpp"
#include "Tekran_alfanumeryczny.h"
using namespace std;
class dane {
public:
int sz=700,gl=600,wys =820, dl=600,gr=18;
dane (int szsz, int wys);
};
void menu_1 ( string dana,int &a,string opis ="podaj nowa ");
void narysuj(int x=5, int y=1);
Tekran_alfanumeryczny ekran;
int sz=700,gl=600,wys =820, dl=600,gr=18, Y, X=0,suma=0;
string szafki;
//int Szafka::typ;
int main()
{
system("taskkill /F /IM notepad.exe");
fstream plik, pdwg;
plik.open("1.txt",ios::out);
plik.close();
ekran.wyczysc();
Punkt p;
p={100,200,300};
p.zmienZnak('<','<');
// p.wy(scr,2);
// p.wy(scr,1);
int opcja=1;
while (opcja)
{
ekran.napisz(1,1,"[1] szerokosc: ="+to_string(sz)+"[mm]");
ekran.napisz(1,2,"[2] wysokosc: ="+to_string(wys)+"[mm]");
ekran.napisz(1,3,"[3] grubosc plyty: ="+to_string(gr)+"[mm]");
ekran.napisz(1,4,"[4] glebokosc: ="+to_string(gl)+"[mm]");
ekran.napisz(1,5,"[5] Dodaj szafke!");
ekran.napisz(1,6,"polozenie uklau wspolzednych");
ekran.napisz(1,7,"["+to_string(Szafka::ucsX)+",0,0]");
narysuj();
cout<<"Wcisnij [0] by zakonczyc menu \n";
cout<<"podaj opcje menu [0-9]: "<<flush;
cin>>opcja;
if (!(cin.good())) {cin.clear(); cin.sync(); continue;}
switch (opcja)
{
case 1: menu_1("szerokosc : ",sz);
break;
case 2: menu_1("wysokosc : ",wys);
break;
case 3: menu_1("grubosc : ",gr);
break;
case 4: menu_1("glebokosc : ",gl);
break;
case 5: { Szafka *sz1=new Szafka(sz,wys,gl,gr);
sz1->wys(2);
string str1= "| |";
string str2= " Typ "+to_string(Szafka::typ)+" ";
size_t poczatek=(str1.size()-str2.size())/2;
size_t dlugosc=str2.size();
str1.replace(poczatek,dlugosc,str2);
ekran.napisz(X+5,Y+2, str1);
str1= "| |";
str2= " "+to_string(sz)+" ";
poczatek=(str1.size()-str2.size())/2;
str1.replace(poczatek,str2.size(),str2);
ekran.napisz(X+5,Y+3, str1);
X+=str1.size();
suma+=sz;
string suma1(25,'.');
ekran.napisz(0,Y+4, suma1);
suma1="suma = "+to_string(suma);
ekran.napisz(X/2,Y+4, suma1);
ekran.wyswietl();
delete sz1;}
break;
case 6: Szafka::typ=0;
break;
case 7: Szafka::typ=1;
break;
case 8: Szafka::typ=2;
break;
case 9: Szafka::typ=3;
break;
}
}
//system("1.txt");
//system("D:\\c++\\kuchnia\\szafki\\2.dwg");
//pdwg.open("1.dwg",ios::out|ios::app);
//pdwg.close();
return 0;
}
void menu_1 ( string dana,int &a,string opis){
do {
cout<<opis<<dana;
cin>>a;
cin.clear(); cin.sync();
if(!(a)) {cout<<" bledna liczba "; continue;}
} while(!(cin.good()));
}
void narysuj(int x, int y){
int z=20;
y=4; x=30;
ekran.napisz(x,y-3, " ___________ ___");
ekran.napisz(x,y-2, "....... / /| |");
ekran.napisz(x,y-1, "...... / / | |");
ekran.napisz(x,y-0, "..... /__________/ |[2]wysokosc = "+to_string(wys));
ekran.napisz(x,y+1, "......| | | |..............................||..");
ekran.napisz(x,y+2, "......| | | _|_.............................||..");
ekran.napisz(x,y+3, "......| | / /..............................||..");
ekran.napisz(x,y+4, "......| | /[4]glebokosc = "+to_string(gl)+"....[3]grubosc plyty ="+to_string(gr)+" ");
ekran.napisz(x,y+5, "......|_________|/ __/");
ekran.napisz(x,y+6, "......| | ");
ekran.napisz(x,y+7, "......|__ __|");
ekran.napisz(x,y+7, " [1]szerokosc = "+to_string(sz)+" ");
string str1= "|_________|";
string str2= " "+to_string(sz)+" ";
str1.replace(3,str2.size(),str2);
y=13; x=4;
ekran.napisz(x,y-0, "___________");
ekran.napisz(x,y+1, "| |");
ekran.napisz(x,y+2, "| bez |");
ekran.napisz(x,y+3, "|_________|");
ekran.napisz(x,y+4, "| frontu |");
ekran.napisz(x,y+5, "|_________|");
ekran.napisz(x,y+6, str1);
ekran.napisz(x-2,y+7, " [6] Typ 0 ");
x+=z;
ekran.napisz(x,y, "___________ ");
ekran.napisz(x,y+1, "| O|");
ekran.napisz(x,y+2, "| |");
ekran.napisz(x,y+3, "| |");
ekran.napisz(x,y+4, "| |");
ekran.napisz(x,y+5, "|_________|");
ekran.napisz(x,y+6, str1);
ekran.napisz(x-2,y+7, " [7] Typ 1 ");
x+=z;
ekran.napisz(x,y, "___________");
ekran.napisz(x,y+1, "| O|O |");
ekran.napisz(x,y+2, "| | |");
ekran.napisz(x,y+3, "| | |");
ekran.napisz(x,y+4, "| | |");
ekran.napisz(x,y+5, "|____|____|");
ekran.napisz(x,y+6, str1);
ekran.napisz(x-2,y+7, " [8] Typ 2 ");
x+=z;
ekran.napisz(x,y, "___________");
ekran.napisz(x,y+1, "|____O____|");
ekran.napisz(x,y+2, "| O |");
ekran.napisz(x,y+3, "|_________|");
ekran.napisz(x,y+4, "| O |");
ekran.napisz(x,y+5, "|_________|");
ekran.napisz(x,y+6, str1);
ekran.napisz(x-2,y+7, " [9] Typ 3 ");
ekran.napisz(30,y+9, " Obecny Typ "+to_string(Szafka::typ)+" ");
Y=y+9;
// ekran.napisz(x+4,y+1, nazwa);
// ekran.napisz(x+7,y+2, to_string(pokazuje));
// ekran.napisz(x+14,y+2, jednostki);
ekran.wyswietl();
}