Guest User

HOLY SH*T

a guest
Apr 19th, 2010
1,636
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //File ISBN Validation System.cpp
  2. //Purpose:
  3. //  Program to identify and validate an ISBN number.
  4.  
  5. #include <iostream>
  6. #include <iomanip>
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     char one = 0; // variable that is always a number
  12.     char two = 0; // variable that can either be a variable or a hyphen
  13.     char three = 0; // variable that can either be a variable or a hyphen
  14.     char four = 0; // variable that can either be a variable or a hyphen
  15.     char five = 0; // variable that can either be a variable or a hyphen
  16.     char six = 0; // variable that can either be a variable or a hyphen
  17.     char seven = 0; // variable that can either be a variable or a hyphen
  18.     char eight = 0; // variable that can either be a variable or a hyphen
  19.     char nine = 0; // variable that can either be a variable or a hyphen
  20.     char ten = 0; // variable that can either be a variable or a hyphen
  21.     char eleven = 0; // variable that can either be a variable or a hyphen
  22.     char twelve = 0; // variable that is always a hyphen
  23.     char thirteen = 0; // variable that is always a number
  24.     int sum = 0; // sum of the first nine characters
  25.     int remainder = 0; // remainder variable used to check validation
  26.    
  27.     cout << "                 ISBN Validation System"<< endl << endl;
  28.     cout << "Enter ISBN number: "; // Where the ISBN number is entered
  29.     cin >> one >> two >> three >> four >> five >> six >> seven >> eight >> nine >> ten >> eleven >> twelve >> thirteen; // Where character variables will get their value
  30.  
  31.     switch (one) // corrects if invalid character is entered for each variable
  32.     {
  33.     case '0':
  34.         one = '0';
  35.         break;
  36.     case '1':
  37.         one = 1;
  38.         break;
  39.     case '2':
  40.         one = '2';
  41.         break;
  42.     case '3':
  43.         one = '3';
  44.         break;
  45.     case '4':
  46.         one = '4';
  47.         break;
  48.     case '5':
  49.         one = '5';
  50.         break;
  51.     case '6':
  52.         one = '6';
  53.         break;
  54.     case '7':
  55.         one = '7';
  56.         break;
  57.     case '8':
  58.         one = '8';
  59.         break;
  60.     case '9':
  61.         one = '9';
  62.         break;
  63.     default:
  64.         cout << "Wrong character entered for first number, please try again" << endl;
  65.     }
  66.     switch (two)
  67.     {
  68.     case '0':
  69.         two = '0';
  70.         break;
  71.     case '1':
  72.         two = '1';
  73.         break;
  74.     case '2':
  75.         two = '2';
  76.         break;
  77.     case '3':
  78.         two = '3';
  79.         break;
  80.     case '4':
  81.         two = '4';
  82.         break;
  83.     case '5':
  84.         two = '5';
  85.         break;
  86.     case '6':
  87.         two = '6';
  88.         break;
  89.     case '7':
  90.         two = '7';
  91.         break;
  92.     case '8':
  93.         two = '8';
  94.         break;
  95.     case '9':
  96.         two = '9';
  97.         break;
  98.     case '-':
  99.         two = '-';
  100.         break;
  101.     default:
  102.         cout << "Wrong character entered for second number, please try again" << endl;
  103.     }
  104.     switch (three)
  105.     {
  106.     case '0':
  107.         three = '0';
  108.         break;
  109.     case '1':
  110.         three = '1';
  111.         break;
  112.     case '2':
  113.         three = '2';
  114.         break;
  115.     case '3':
  116.         three = '3';
  117.         break;
  118.     case '4':
  119.         three = '4';
  120.         break;
  121.     case '5':
  122.         three = '5';
  123.         break;
  124.     case '6':
  125.         three = '6';
  126.         break;
  127.     case '7':
  128.         three = '7';
  129.         break;
  130.     case '8':
  131.         three = '8';
  132.         break;
  133.     case '9':
  134.         three = '9';
  135.         break;
  136.     case '-':
  137.         three = '-';
  138.         break;
  139.     default:
  140.         cout << "Wrong character entered for third number, please try again" << endl;
  141.     }
  142.     switch (four)
  143.     {
  144.     case '0':
  145.         four = '0';
  146.         break;
  147.     case '1':
  148.         four = '1';
  149.         break;
  150.     case '2':
  151.         four = '2';
  152.         break;
  153.     case '3':
  154.         four = '3';
  155.         break;
  156.     case '4':
  157.         four = '4';
  158.         break;
  159.     case '5':
  160.         four = '5';
  161.         break;
  162.     case '6':
  163.         four = '6';
  164.         break;
  165.     case '7':
  166.         four = '7';
  167.         break;
  168.     case '8':
  169.         four = '8';
  170.         break;
  171.     case '9':
  172.         four = '9';
  173.         break;
  174.     case '-':
  175.         four = '-';
  176.         break;
  177.     default:
  178.         cout << "Wrong character entered for fourth number, please try again" << endl;
  179.     }
  180.     switch (five)
  181.     {
  182.     case '0':
  183.         five = '0';
  184.         break;
  185.     case '1':
  186.         five = '1';
  187.         break;
  188.     case '2':
  189.         five = '2';
  190.         break;
  191.     case '3':
  192.         five = '3';
  193.         break;
  194.     case '4':
  195.         five = '4';
  196.         break;
  197.     case '5':
  198.         five = '5';
  199.         break;
  200.     case '6':
  201.         five = '6';
  202.         break;
  203.     case '7':
  204.         five = '7';
  205.         break;
  206.     case '8':
  207.         five = '8';
  208.         break;
  209.     case '9':
  210.         five = '9';
  211.         break;
  212.     case '-':
  213.         five = '-';
  214.         break;
  215.     default:
  216.         cout << "Wrong character entered for fifth number, please try again" << endl;
  217.     }
  218.     switch (six)
  219.     {
  220.     case '0':
  221.         six = '0';
  222.         break;
  223.     case '1':
  224.         six = '1';
  225.         break;
  226.     case '2':
  227.         six = '2';
  228.         break;
  229.     case '3':
  230.         six = '3';
  231.         break;
  232.     case '4':
  233.         six = '4';
  234.         break;
  235.     case '5':
  236.         six = '5';
  237.         break;
  238.     case '6':
  239.         six = '6';
  240.         break;
  241.     case '7':
  242.         six = '7';
  243.         break;
  244.     case '8':
  245.         six = '8';
  246.         break;
  247.     case '9':
  248.         six = '9';
  249.         break;
  250.     case '-':
  251.         six = '-';
  252.         break;
  253.     default:
  254.         cout << "Wrong character entered for sixth number, please try again" << endl;
  255.     }
  256.     switch (seven)
  257.     {
  258.     case '0':
  259.         seven = '0';
  260.         break;
  261.     case '1':
  262.         seven = '1';
  263.         break;
  264.     case '2':
  265.         seven = '2';
  266.         break;
  267.     case '3':
  268.         seven = '3';
  269.         break;
  270.     case '4':
  271.         seven = '4';
  272.         break;
  273.     case '5':
  274.         seven = '5';
  275.         break;
  276.     case '6':
  277.         seven = '6';
  278.         break;
  279.     case '7':
  280.         seven = '7';
  281.         break;
  282.     case '8':
  283.         seven = '8';
  284.         break;
  285.     case '9':
  286.         seven = '9';
  287.         break;
  288.     case '-':
  289.         seven = '-';
  290.         break;
  291.     default:
  292.         cout << "Wrong character entered for seventh number, please try again" << endl;
  293.     }
  294.     switch (eight)
  295.     {
  296.     case '0':
  297.         eight = '0';
  298.         break;
  299.     case '1':
  300.         eight = '1';
  301.         break;
  302.     case '2':
  303.         eight = '2';
  304.         break;
  305.     case '3':
  306.         eight = '3';
  307.         break;
  308.     case '4':
  309.         eight = '4';
  310.         break;
  311.     case '5':
  312.         eight = '5';
  313.         break;
  314.     case '6':
  315.         eight = '6';
  316.         break;
  317.     case '7':
  318.         eight = '7';
  319.         break;
  320.     case '8':
  321.         eight = '8';
  322.         break;
  323.     case '9':
  324.         eight = '9';
  325.         break;
  326.     case '-':
  327.         eight = '-';
  328.         break;
  329.     default:
  330.         cout << "Wrong character entered for eighth number, please try again" << endl;
  331.     }
  332.     switch (nine)
  333.     {
  334.     case '0':
  335.         nine = '0';
  336.         break;
  337.     case '1':
  338.         nine = '1';
  339.         break;
  340.     case '2':
  341.         nine = '2';
  342.         break;
  343.     case '3':
  344.         nine = '3';
  345.         break;
  346.     case '4':
  347.         nine = '4';
  348.         break;
  349.     case '5':
  350.         nine = '5';
  351.         break;
  352.     case '6':
  353.         nine = '6';
  354.         break;
  355.     case '7':
  356.         nine = '7';
  357.         break;
  358.     case '8':
  359.         nine = '8';
  360.         break;
  361.     case '9':
  362.         nine = '9';
  363.         break;
  364.     case '-':
  365.         nine = '-';
  366.         break;
  367.     default:
  368.         cout << "Wrong character entered for ninth number, please try again" << endl;
  369.     }
  370.     switch (ten)
  371.     {
  372.     case '0':
  373.         ten = '0';
  374.         break;
  375.     case '1':
  376.         ten = '1';
  377.         break;
  378.     case '2':
  379.         ten = '2';
  380.         break;
  381.     case '3':
  382.         ten = '3';
  383.         break;
  384.     case '4':
  385.         ten = '4';
  386.         break;
  387.     case '5':
  388.         ten = '5';
  389.         break;
  390.     case '6':
  391.         ten = '6';
  392.         break;
  393.     case '7':
  394.         ten = '7';
  395.         break;
  396.     case '8':
  397.         ten = '8';
  398.         break;
  399.     case '9':
  400.         ten = '9';
  401.         break;
  402.     case '-':
  403.         ten = '-';
  404.         break;
  405.     default:
  406.         cout << "Wrong character entered for tenth number, please try again" << endl;
  407.     }
  408.     switch (eleven)
  409.     {
  410.     case '0':
  411.         eleven = '0';
  412.         break;
  413.     case '1':
  414.         eleven = '1';
  415.         break;
  416.     case '2':
  417.         eleven = '2';
  418.         break;
  419.     case '3':
  420.         eleven = '3';
  421.         break;
  422.     case '4':
  423.         eleven = '4';
  424.         break;
  425.     case '5':
  426.         eleven = '5';
  427.         break;
  428.     case '6':
  429.         eleven = '6';
  430.         break;
  431.     case '7':
  432.         eleven = '7';
  433.         break;
  434.     case '8':
  435.         eleven = '8';
  436.         break;
  437.     case '9':
  438.         eleven = '9';
  439.         break;
  440.     case '-':
  441.         eleven = '-';
  442.         break;
  443.     default:
  444.         cout << "Wrong character entered for tenth number, please try again" << endl;
  445.     }
  446.     switch (eleven)
  447.     {
  448.     case '0':
  449.         eleven = '0';
  450.         break;
  451.     case '1':
  452.         eleven = '1';
  453.         break;
  454.     case '2':
  455.         eleven = '2';
  456.         break;
  457.     case '3':
  458.         eleven = '3';
  459.         break;
  460.     case '4':
  461.         eleven = '4';
  462.         break;
  463.     case '5':
  464.         eleven = '5';
  465.         break;
  466.     case '6':
  467.         eleven = '6';
  468.         break;
  469.     case '7':
  470.         eleven = '7';
  471.         break;
  472.     case '8':
  473.         eleven = '8';
  474.         break;
  475.     case '9':
  476.         eleven = '9';
  477.         break;
  478.     default:
  479.         cout << "Wrong character entered for eleventh number, please try again" << endl;
  480.     }
  481.     switch (twelve)
  482.     {
  483.     case '-':
  484.         twelve = '-';
  485.         break;
  486.     default:
  487.         cout << "Wrong character entered for twelvth number, please try again" << endl;
  488.     }
  489.     switch (thirteen)
  490.     {
  491.     case '0':
  492.         thirteen = '0';
  493.         break;
  494.     case '1':
  495.         thirteen = '1';
  496.         break;
  497.     case '2':
  498.         thirteen = '2';
  499.         break;
  500.     case '3':
  501.         thirteen = '3';
  502.         break;
  503.     case '4':
  504.         thirteen = '4';
  505.         break;
  506.     case '5':
  507.         thirteen = '5';
  508.         break;
  509.     case '6':
  510.         thirteen = '6';
  511.         break;
  512.     case '7':
  513.         thirteen = '7';
  514.         break;
  515.     case '8':
  516.         thirteen = '8';
  517.         break;
  518.     case '9':
  519.         thirteen = '9';
  520.         break;
  521.     default:
  522.         cout << "Wrong character entered for thirteenth number, please try again" << endl;
  523.     } // corrects if invalid character is entered
  524.     if(two != '-'){ // picks which equation to use
  525.         if(three != '-'){
  526.             if(four != '-'){
  527.                 if(five != '-'){
  528.                     if(six != '-'){
  529.                         if(seven != '-'){
  530.                             sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*seven + 8*nine + 9*eleven - 2160);}
  531.    
  532.                         else if(nine != '-'){
  533.                             sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*eight + 8*nine + 9*eleven - 2160);}
  534.                             else
  535.                                 sum = (one + 2*two + 3*three + 4*four + 5*five + 6*six + 7*eight + 8*ten + 9*eleven - 2160);
  536.                         }
  537.                     else if(eight != '-'){
  538.                             if(nine != '-'){
  539.                                 sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
  540.                             else
  541.                                 sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
  542.                         else
  543.                             sum = (one + 2*two + 3*three + 4*four + 5*five + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);
  544.                     }
  545.                 else if(seven != '-'){
  546.                         if(eight != '-'){
  547.                             if(nine != '-'){
  548.                                 sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
  549.                             else
  550.                                 sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
  551.                         else
  552.                             sum = (one + 2*two + 3*three + 4*four + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
  553.                     else
  554.                         sum = (one + 2*two + 3*three + 4*four + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
  555.                 }
  556.             else if(six != '-'){
  557.                     if(seven != '-'){
  558.                         if(eight != '-'){
  559.                             if(nine != '-'){
  560.                                 sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
  561.                             else
  562.                                 sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
  563.                         else
  564.                             sum = (one + 2*two + 3*three + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
  565.                     else
  566.                         sum = (one + 2*two + 3*three + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  567.                 else
  568.                     sum = (one + 2*two + 3*three + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
  569.             }
  570.         else if(five != '-'){
  571.                 if(six != '-'){
  572.                     if(seven != '-'){
  573.                         if(eight != '-'){
  574.                             if(nine != '-'){
  575.                                 sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
  576.                             else
  577.                                 sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
  578.                         else
  579.                             sum = (one + 2*two + 3*four + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
  580.                     else
  581.                         sum = (one + 2*two + 3*four + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  582.                 else
  583.                     sum = (one + 2*two + 3*four + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  584.             else
  585.                 sum = (one + 2*two + 3*four + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
  586.         }
  587.     else if(four != '-'){
  588.             if(five != '-'){
  589.                 if(six != '-'){
  590.                     if(seven != '-'){
  591.                         if(eight != '-'){
  592.                             if(nine != '-'){
  593.                                 sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*nine + 9*eleven - 2160);}
  594.                             else
  595.                                 sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*eight + 8*ten + 9*eleven - 2160);}
  596.                         else
  597.                             sum = (one + 2*three + 3*four + 4*five + 5*six + 6*seven + 7*nine + 8*ten + 9*eleven - 2160);}
  598.                     else
  599.                         sum = (one + 2*three + 3*four + 4*five + 5*six + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  600.                 else
  601.                     sum = (one + 2*three + 3*four + 4*five + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  602.             else
  603.                 sum = (one + 2*three + 3*four + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);}
  604.         else
  605.             sum = (one + 2*three + 3*five + 4*six + 5*seven + 6*eight + 7*nine + 8*ten + 9*eleven - 2160);
  606.    
  607.        
  608.     remainder = (sum%11) + 48; // finds the remainder of the sum
  609.  
  610.     if(thirteen == remainder) // validates ISBN number by thirteenth character
  611.         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
  612.     else
  613.         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
  614.    
  615. return 0; // end program
  616.  
  617. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×