All pastes #374068 Raw Edit

Stuff

public text v1 · immutable
#374068 ·published 2007-02-27 06:17 UTC
rendered paste body
#include <iostream>
#include <stdio.h>

using namespace std;
bool isDigit(char c);
int digit2Int(char c);
bool isValid(int d2, int d1, int d0, int base);
int base10(int d2, int d1, int d0, int base);
int main()
{
    char l,m,r,b;
    int left,middle,right,base;
    cout << "Please enter the leftmost digit" << endl;
    cin >> l;
    bool isDig1 = isDigit(l);
    left = digit2Int(l);
    cout << "Please enter the middle digit" << endl;
    cin >> m;
    bool isDig2 = isDigit(m);
    middle = digit2Int(m);
    cout << "Please enter the rightmost digit" << endl;
    cin >> r;
    bool isDig3 = isDigit(r);
    right = digit2Int(r);
    cout << "Please enter the number's base" << endl;
    cin >> b;
    bool isDig4 = isDigit(b);
    base = digit2Int(b);
    if(isDig1 == false)
        cout << l << " is not a valid digit"<< endl;
    else
        cout << l << " is a valid digit"<< endl;
    
    if(isDig2 == false)
        cout << m << " is not a valid digit"<< endl;
    else
        cout << m << " is a valid digit"<< endl;
    
    if(isDig3 == false)
        cout << r << " is not a valid digit"<< endl; 
    else
        cout << r << " is a valid digit"<< endl;
    
    if(isDig4 == false || b==1)
        cout << b << " is not a valid base"<< endl;
    else 
        cout << r << " is a valid base"<< endl;
    
    if(!isDig1 || !isDig2 || !isDig3 || (!isDig4 && b==1))
        return 0;

    bool isvalid = isValid(left ,middle ,right ,base);
    if(isvalid == true)
    {
        cout << "The number" << left << middle << right << " is valid in base " << base << "." << endl;
        int dec = base10(left ,middle ,right,base);
        cout <<left << middle << right <<" (base " << base << ")= " << dec << "(base 10)" << endl;
    }
    else
        cout << "The number" << l << m << r << "is not valid in base" << b << "." << endl;


    return 0;
}


bool isDigit(char c)
{
    int x = digit2Int(c);
    if(x >=0 && x<=9)
        return true;
    return false;
}
int digit2Int(char c)
{
    int x = c;
    x = x - 48;
    return x;
}


bool isValid(int d2, int d1, int d0, int base)
{
    if((d2 < base) && (d1 < base) && (d0 < base))
        return true;
    return false;
}

int base10(int d2, int d1, int d0, int base)
{
    int x = d2 * base * base + d1 * base + d0;
    return x;
}