Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //File ISBN Validation System.cpp
- //Purpose:
- // Program to identify and validate an ISBN number.
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- char one = 0; // variable that is always a number
- char two = 0; // variable that can either be a variable or a hyphen
- char three = 0; // variable that can either be a variable or a hyphen
- char four = 0; // variable that can either be a variable or a hyphen
- char five = 0; // variable that can either be a variable or a hyphen
- char six = 0; // variable that can either be a variable or a hyphen
- char seven = 0; // variable that can either be a variable or a hyphen
- char eight = 0; // variable that can either be a variable or a hyphen
- char nine = 0; // variable that can either be a variable or a hyphen
- char ten = 0; // variable that can either be a variable or a hyphen
- char eleven = 0; // variable that can either be a variable or a hyphen
- char twelve = 0; // variable that is always a hyphen
- char thirteen = 0; // variable that is always a number
- int sum = 0; // sum of the first nine characters
- int remainder = 0; // remainder variable used to check validation
- cout << " ISBN Validation System"<< endl << endl;
- cout << "Enter ISBN number: "; // Where the ISBN number is entered
- cin >> one >> two >> three >> four >> five >> six >> seven >> eight >> nine >> ten >> eleven >> twelve >> thirteen; // Where character variables will get their value
- switch (one) // corrects if invalid character is entered for each variable
- {
- case '0':
- one = '0';
- break;
- case '1':
- one = 1;
- break;
- case '2':
- one = '2';
- break;
- case '3':
- one = '3';
- break;
- case '4':
- one = '4';
- break;
- case '5':
- one = '5';
- break;
- case '6':
- one = '6';
- break;
- case '7':
- one = '7';
- break;
- case '8':
- one = '8';
- break;
- case '9':
- one = '9';
- break;
- default:
- cout << "Wrong character entered for first number, please try again" << endl;
- }
- switch (two)
- {
- case '0':
- two = '0';
- break;
- case '1':
- two = '1';
- break;
- case '2':
- two = '2';
- break;
- case '3':
- two = '3';
- break;
- case '4':
- two = '4';
- break;
- case '5':
- two = '5';
- break;
- case '6':
- two = '6';
- break;
- case '7':
- two = '7';
- break;
- case '8':
- two = '8';
- break;
- case '9':
- two = '9';
- break;
- case '-':
- two = '-';
- break;
- default:
- cout << "Wrong character entered for second number, please try again" << endl;
- }
- switch (three)
- {
- case '0':
- three = '0';
- break;
- case '1':
- three = '1';
- break;
- case '2':
- three = '2';
- break;
- case '3':
- three = '3';
- break;
- case '4':
- three = '4';
- break;
- case '5':
- three = '5';
- break;
- case '6':
- three = '6';
- break;
- case '7':
- three = '7';
- break;
- case '8':
- three = '8';
- break;
- case '9':
- three = '9';
- break;
- case '-':
- three = '-';
- break;
- default:
- cout << "Wrong character entered for third number, please try again" << endl;
- }
- switch (four)
- {
- case '0':
- four = '0';
- break;
- case '1':
- four = '1';
- break;
- case '2':
- four = '2';
- break;
- case '3':
- four = '3';
- break;
- case '4':
- four = '4';
- break;
- case '5':
- four = '5';
- break;
- case '6':
- four = '6';
- break;
- case '7':
- four = '7';
- break;
- case '8':
- four = '8';
- break;
- case '9':
- four = '9';
- break;
- case '-':
- four = '-';
- break;
- default:
- cout << "Wrong character entered for fourth number, please try again" << endl;
- }
- switch (five)
- {
- case '0':
- five = '0';
- break;
- case '1':
- five = '1';
- break;
- case '2':
- five = '2';
- break;
- case '3':
- five = '3';
- break;
- case '4':
- five = '4';
- break;
- case '5':
- five = '5';
- break;
- case '6':
- five = '6';
- break;
- case '7':
- five = '7';
- break;
- case '8':
- five = '8';
- break;
- case '9':
- five = '9';
- break;
- case '-':
- five = '-';
- break;
- default:
- cout << "Wrong character entered for fifth number, please try again" << endl;
- }
- switch (six)
- {
- case '0':
- six = '0';
- break;
- case '1':
- six = '1';
- break;
- case '2':
- six = '2';
- break;
- case '3':
- six = '3';
- break;
- case '4':
- six = '4';
- break;
- case '5':
- six = '5';
- break;
- case '6':
- six = '6';
- break;
- case '7':
- six = '7';
- break;
- case '8':
- six = '8';
- break;
- case '9':
- six = '9';
- break;
- case '-':
- six = '-';
- break;
- default:
- cout << "Wrong character entered for sixth number, please try again" << endl;
- }
- switch (seven)
- {
- case '0':
- seven = '0';
- break;
- case '1':
- seven = '1';
- break;
- case '2':
- seven = '2';
- break;
- case '3':
- seven = '3';
- break;
- case '4':
- seven = '4';
- break;
- case '5':
- seven = '5';
- break;
- case '6':
- seven = '6';
- break;
- case '7':
- seven = '7';
- break;
- case '8':
- seven = '8';
- break;
- case '9':
- seven = '9';
- break;
- case '-':
- seven = '-';
- break;
- default:
- cout << "Wrong character entered for seventh number, please try again" << endl;
- }
- switch (eight)
- {
- case '0':
- eight = '0';
- break;
- case '1':
- eight = '1';
- break;
- case '2':
- eight = '2';
- break;
- case '3':
- eight = '3';
- break;
- case '4':
- eight = '4';
- break;
- case '5':
- eight = '5';
- break;
- case '6':
- eight = '6';
- break;
- case '7':
- eight = '7';
- break;
- case '8':
- eight = '8';
- break;
- case '9':
- eight = '9';
- break;
- case '-':
- eight = '-';
- break;
- default:
- cout << "Wrong character entered for eighth number, please try again" << endl;
- }
- switch (nine)
- {
- case '0':
- nine = '0';
- break;
- case '1':
- nine = '1';
- break;
- case '2':
- nine = '2';
- break;
- case '3':
- nine = '3';
- break;
- case '4':
- nine = '4';
- break;
- case '5':
- nine = '5';
- break;
- case '6':
- nine = '6';
- break;
- case '7':
- nine = '7';
- break;
- case '8':
- nine = '8';
- break;
- case '9':
- nine = '9';
- break;
- case '-':
- nine = '-';
- break;
- default:
- cout << "Wrong character entered for ninth number, please try again" << endl;
- }
- switch (ten)
- {
- case '0':
- ten = '0';
- break;
- case '1':
- ten = '1';
- break;
- case '2':
- ten = '2';
- break;
- case '3':
- ten = '3';
- break;
- case '4':
- ten = '4';
- break;
- case '5':
- ten = '5';
- break;
- case '6':
- ten = '6';
- break;
- case '7':
- ten = '7';
- break;
- case '8':
- ten = '8';
- break;
- case '9':
- ten = '9';
- break;
- case '-':
- ten = '-';
- break;
- default:
- cout << "Wrong character entered for tenth number, please try again" << endl;
- }
- switch (eleven)
- {
- case '0':
- eleven = '0';
- break;
- case '1':
- eleven = '1';
- break;
- case '2':
- eleven = '2';
- break;
- case '3':
- eleven = '3';
- break;
- case '4':
- eleven = '4';
- break;
- case '5':
- eleven = '5';
- break;
- case '6':
- eleven = '6';
- break;
- case '7':
- eleven = '7';
- break;
- case '8':
- eleven = '8';
- break;
- case '9':
- eleven = '9';
- break;
- case '-':
- eleven = '-';
- break;
- default:
- cout << "Wrong character entered for tenth number, please try again" << endl;
- }
- switch (eleven)
- {
- case '0':
- eleven = '0';
- break;
- case '1':
- eleven = '1';
- break;
- case '2':
- eleven = '2';
- break;
- case '3':
- eleven = '3';
- break;
- case '4':
- eleven = '4';
- break;
- case '5':
- eleven = '5';
- break;
- case '6':
- eleven = '6';
- break;
- case '7':
- eleven = '7';
- break;
- case '8':
- eleven = '8';
- break;
- case '9':
- eleven = '9';
- break;
- default:
- cout << "Wrong character entered for eleventh number, please try again" << endl;
- }
- switch (twelve)
- {
- case '-':
- twelve = '-';
- break;
- default:
- cout << "Wrong character entered for twelvth number, please try again" << endl;
- }
- switch (thirteen)
- {
- case '0':
- thirteen = '0';
- break;
- case '1':
- thirteen = '1';
- break;
- case '2':
- thirteen = '2';
- break;
- case '3':
- thirteen = '3';
- break;
- case '4':
- thirteen = '4';
- break;
- case '5':
- thirteen = '5';
- break;
- case '6':
- thirteen = '6';
- break;
- case '7':
- thirteen = '7';
- break;
- case '8':
- thirteen = '8';
- break;
- case '9':
- thirteen = '9';
- break;
- default:
- cout << "Wrong character entered for thirteenth number, please try again" << endl;
- } // corrects if invalid character is entered
- if(two != '-'){ // picks which equation to use
- if(three != '-'){
- if(four != '-'){
- if(five != '-'){
- if(six != '-'){
- if(seven != '-'){
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*seven + 8*nine + 9*eleven - 2160);}
- else if(nine != '-'){
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*eight + 8*ten + 9*eleven - 2160);
- }
- else if(eight != '-'){
- if(nine != '-'){
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);
- }
- else if(seven != '-'){
- if(eight != '-'){
- if(nine != '-'){
- sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*four + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
- }
- else if(six != '-'){
- if(seven != '-'){
- if(eight != '-'){
- if(nine != '-'){
- sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*three + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
- }
- else if(five != '-'){
- if(six != '-'){
- if(seven != '-'){
- if(eight != '-'){
- if(nine != '-'){
- sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*four + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*four + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*two + 3*four + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
- }
- else if(four != '-'){
- if(five != '-'){
- if(six != '-'){
- if(seven != '-'){
- if(eight != '-'){
- if(nine != '-'){
- sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*four + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*four + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*four + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
- else
- sum = (one + 2*three + 3*five + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
- remainder = (sum%11) + 48; // finds the remainder of the sum
- if(thirteen == remainder) // validates ISBN number by thirteenth character
- cout << endl << "The ISBN number, " << one << two << three << four << five << six << seven << eight << nine << ten << eleven <<twelve << thirteen << " is VALID." << endl << endl; // If ISBN number is valid
- else
- cout << endl << "The ISBN number, " << one << two << three << four << five << six << seven << eight << nine << ten << eleven << twelve << thirteen << " is INVALID. Check digit is invalid" << endl << endl; // if ISBN number is invalid
- return 0; // end program
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement