Czy dużo zachodu z przeniesieniem takiego programiku na telefon
czy się nie wygłupiać i zainwestować w kalkulator z możliwością pisania funkcji
#include <iostream>
#include <iomanip>
#include <algorithm>
class tr {
public:
tr(int span=1500,int orderdist = 100,int profil=20)
:span(span)
,orderdist(orderdist)
,h1(profil) {
count_pcs ();
setdist();
}
void show(int a=30, char ch='=')const {
std::string s(a,ch);
std::cout<<s<<"\n"<<dist-h1<<"\n"<<s;
std::cout<<s<<"\npcs="<<pcs<<"\n"<<s;
}
void showallright(int a=30, char ch='=')const {
std::string s(a,ch);
double sum=0;
std::cout<<s<<"\n";
// std::setprecision(0);
std::fixed(std::cout);
for(int i=0;i<pcs;i++)
std::cout<<std::setprecision(0)
<<std::setw((i+1)*5)<<"|X|<-"<<(sum+=dist)<<"("<<i+1<<")\n";
std::cout<<std::setw(pcs*5)<<(sum+=dist-h1)<<"->"<<'\n';
}
void set_s_o_p(int s, int d, int a) {
span=s;
orderdist=d;
h1=a;
count_pcs ();
setdist();
}
double getdist() {
return dist;
}
private:
int orderdist;
int h1;
int span;
int pcs;
double partal_sum_dist;
double dist ;
std::string s;
void count_pcs () {
int n1=span/(double)(orderdist+h1)+0.5;
pcs=n1-1;
}
void setdist() {
dist = (span + h1)/(double)(pcs+1);
}
};
std::istream & operator >> (std::istream & is, tr & intr) {
int a, b, c;
//setlocale();
std::cout<<"\npodaj rozpietość: ";
is>>a;
std::cout<<"podaj przybliżony rozstaw: ";
is>>b;
std::cout<<"podaj profil: ";
is>>c;
intr.set_s_o_p(a,b,c);
return is;
}
using namespace std;
int main() {
tr tr1;
// cin>>tr1;
tr1.show();
tr1.showallright();
return 0;
}