Můj první prográmek
Prosím, berte tento článek s značnou rezervou. Byl psán mým mladým Já, které se teprve učilo!
K jeho popisu bych jen přidal to že je to jedno z těch jednoduchých řešení a při práci mi pomohl Kuba (je to trochu složitější než jednoduché). Ale i tak je to sranda...
#include <iostream>
#include <iomanip>
using namespace std;
const int velikostPoli=64;
char prevodNaCHar(int cislo){
char navrat;
switch (cislo){
case 10: navrat='a'; break;
case 11: navrat='b'; break;
case 12: navrat='c'; break;
case 13: navrat='d'; break;
case 14: navrat='e'; break;
case 15: navrat='f'; break;
case 16: navrat='g'; break;
case 17: navrat='h'; break;
case 18: navrat='i'; break;
case 19: navrat='j'; break;
case 20: navrat='k'; break;
}
return navrat;
}
void vystup(int pole[]){
int vypis=0;
for(int i=0; i<velikostPoli; i++){
if(pole[i]>0 || vypis==1){
if(pole[i]<9){
cout << pole[i] << " ";
}else{
cout << prevodNaCHar(pole[i]) << " ";
}
vypis=1;
}
}
}
void prevodnik(int cislo, int soustava){
int pole[velikostPoli];
for(int i=0; i<velikostPoli; i++){ pole[i]=0; }
for(int i=velikostPoli-1; i>=0; i--){
pole[i]=cislo%soustava;
cislo=cislo/soustava;
}
vystup(pole);
}
int main() {
int vstupni_cislo, soustava;
char znovu = 'a';
while(znovu == 'a'){
cout << "Zadejte cislo v desitkove soustave: ";
cin >> vstupni_cislo;
cout << "Zadejte vyslednou soustavu (2-20): ";
cin >> soustava;
if(soustava >= 2 && soustava <=20 && vstupni_cislo>0){
cout << vstupni_cislo << " je v " << soustava << " soustave: ";
prevodnik(vstupni_cislo, soustava);
cout << endl;
cout<<"Znova? a/n: ";
cin>>znovu;
cout << endl;
}else{
cout << "Jsou povoleny pouze soustavy od 2 po 20!" << endl;
znovu='a';
cout << endl;
}
}
}