Konverter jednostek w c++

Witam

Mam pytanie jak poprawnie zrobić by ten program dobrze działał ??

char wartosc1[10] = { 'k', 'c', 'h', 'q', 'k/h', 'g', 'd', 'j', 'p', 'o', } ;

    char wartosc2 [6] = { 'm' , 's', 'm/s', 'l', 'j', 'w' };

    string wartosc4, wartosc3;

while ( i == 2)

    {

        cout << "wartosc1 = km, cm, h, min, km/h, g, dag, Mj, Kj, Kw \nwartosc2 = m , s, m/s, kg, j, w ;"<
        while ( i == 2)

    {

        cout << " Podaj wartosc ktora chcesz zamienic i na co = ", cin >> wartosc1 >> wartosc2;

        if ( 'k' and 'm' )

        {

            cout << "ile = "; cin >> km;

            m = km * 1000 ;

            cout << "Tyle jest metrow = " << m << endl;

        }

        else

        {cout << ""<< endl;}

        if ( 'c' and 'm')

        {

             cout << "ile = "; cin >> cm;

            m = cm / 100 ;

            cout << "Tyle jest metrow = " << m << endl;

        }

        else

        {cout << ""<< endl;}

         cout << " wszysko jest dobrze ?? \n tak = 1 ; nie = 2" ;

         cin >> i;

    } }

co to ma być ? Zaczynamy od 0, od lektury książki dot. c++ :))

To jest tylko cześć programu, bo cały ma 300 linijek teraz zastanawiam się jak zrobić program do konversji jednostek, tak bym w cin >> mógł wpisać np " kg " i “m” i żeby if ( kg and m ) uznał mi to , nie wiem czy char czy string użyć i czy tędy droga …

możesz pobrać tablicę char i porównywać strcmp, albo pobrać do dwóch zmiennych i porównywać obie przez && w jednym if

Po pierwsze w polskim słowniku znajduje się słowo “konwerter”, można go spokojnie używać, bo przecież nie piszesz chyba musyca, claviatura itp.?

char tab[rozmiar];

Przechowuje literały znakowe:

'k/h'

Nim nie jest. W ogóle kompilator Ci mówi w jakich linijkach znajdują się błędy, w pierwszej tablicy masz już jeden błąd syntaktyczny, więc nie wiem jakim sposobem udało Ci się napisać 300 linijek…

Qrek16 , to jest chore!!

Zobacz cały program jest mniejszy niż twój “fragment”, do uzupełnienia przeliczanych jednostek wystarczy dopisać kilka wierszy do tablicy:

#include 

#include 

using namespace std;


const struct { const string category,unit; double mul; } Tb[]=

  {

     { "odlegolosc", "m", 1 },

     { "odlegolosc", "km", 1000 },

     { "odlegolosc", "cm", 0.01 },

     { "odlegolosc", "mm", 0.001 },

     { "predkosc", "m/s", 1 },

     { "predkosc", "km/h", 1000.0/3600 },

  };

const size_t TbSize=sizeof(Tb)/sizeof(*Tb);


int main()

  {

   while(true)

     {

      double val;

      string inp,out;

      cout<<"Podaj dane do konwersji, (np: 12.5 km cm skonwertuje 12.5 km na cm): ";

      if(cin>>val>>inp>>out)

        {

         size_t pi=TbSize,po=TbSize;

         for(size_t i=0;i
         for(size_t i=0;i
         if(pi>=TbSize) cout<<"Niepoprawna jednostka zrodlowa"<
         else if(po>=TbSize) cout<<"Niepoprawna jednostka docelowa"<
         else if(Tb[pi].category!=Tb[po].category) cout<<"Niekompatebilne jednostki"<
         else

           {

            cout<
           }

        }

      else

        {

         cin.clear();

         if(cin.get()=='!') return 0;

         while(cin.get()!='\n') {}

         cout<<"Blond przy klawiaturze?!"<
        }

     }

  }