This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

HOLY SH*T

By: a guest on Apr 19th, 2010  |  syntax: C  |  size: 12.70 KB  |  views: 1,450  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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. }
clone this paste RAW Paste Data