fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace sinValidator
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. //Variables
  13. int numbers1, numbers2, numbers3, numbers4, numbers5, numbers6, numbers7, numbers8, numbers9;
  14. int sin;
  15. bool valid;
  16. int sum;
  17. int product;
  18. double test;
  19.  
  20. int numberOfValidation = 0;
  21. do{
  22. numberOfValidation++;
  23. Console.WriteLine( string.Format( "Validation #{0}", numberOfValidation ) );
  24. // Prompt for user input
  25. Console.WriteLine("\nEnter SIN: ");
  26. sin = Int32.Parse(Console.ReadLine());
  27.  
  28. // spliting the SIN into 9 seperate digits in different variables, and then printing them.
  29. Console.WriteLine("The first digit is {0}", numbers1 = (sin / 100000000));
  30. Console.WriteLine("The second digit is {0}", numbers2 = (sin % 100000000 / 10000000));
  31. Console.WriteLine("The third digit is {0}", numbers3 = (sin % 10000000 / 1000000));
  32. Console.WriteLine("The fifth digit is {0}", numbers4 = (sin % 1000000 / 100000));
  33. Console.WriteLine("The sixth digit is {0}", numbers5 = (sin % 100000 / 10000));
  34. Console.WriteLine("The seventh digit is {0}", numbers6 =(sin % 10000 / 1000));
  35. Console.WriteLine("The eighth digit is {0}", numbers7 = (sin % 1000 / 100));
  36. Console.WriteLine("The ninth digit is {0}", numbers8 =(sin % 100 / 10));
  37. Console.WriteLine("The tenth digit is {0}", numbers9 = (sin % 10));
  38.  
  39. // Beginning of validation
  40. //obtaining product of the sin using provided multipliers
  41.  
  42. product = ((numbers1 * 1) + (numbers2 * 2) + (numbers3 * 1) + (numbers4 * 2) + (numbers5 * 1) + (numbers6 * 2) + (numbers7 * 1) + (numbers8 * 2));
  43. Console.WriteLine("The product {0}", product);
  44.  
  45. // using div and mod to get numbers for the sum of digits
  46. sum = (((numbers1 * 1)+ (numbers2 * 2) % 10) +((numbers2 * 2) / 10) + (numbers3 * 1) + ((numbers4 * 2)%10) + ((numbers4 * 2)/10) + (numbers5 * 1) + ((numbers6 * 2)%10)+((numbers6 * 2)/10) + (numbers7 * 1) + ((numbers8 * 2)%10) + ((numbers8 * 2)/10));
  47.  
  48. //Test to see if sum % 10 subtracted by 10 will give final digit
  49. test = (10 -(sum % 10));
  50.  
  51. valid = false;
  52. if (test > numbers9)
  53. {
  54. if (test == numbers9)
  55. valid = true;
  56. }
  57.  
  58. Console.WriteLine("{0}", valid);
  59.  
  60. valid = false;
  61. if (numbers9 > test && test < numbers9)
  62. {
  63. valid = true;
  64. }
  65.  
  66. Console.WriteLine("{0}", valid);
  67. }while( !valid && numberOfValidation <= 2 );
  68. }
  69. }
  70. }
Success #stdin #stdout 0.04s 33896KB
stdin
123123123
123456789
stdout
Validation #1

Enter SIN: 
The first digit is 1
The second digit is 2
The third digit is 3
The fifth digit is 1
The sixth digit is 2
The seventh digit is 3
The eighth digit is 1
The ninth digit is 2
The tenth digit is 3
The product 23
False
False
Validation #2

Enter SIN: 
The first digit is 1
The second digit is 2
The third digit is 3
The fifth digit is 4
The sixth digit is 5
The seventh digit is 6
The eighth digit is 7
The ninth digit is 8
The tenth digit is 9
The product 56
False
True