, поэтому я должен сделать программу, которая останавливается, когда пользователь использует «FIN» в консольном приложении, иначе программа продолжится.Проблема в том, что я не могу преобразовать число, указанное в целое число после.Вот код
[https://pastebin.com/USTia33i]
Алгоритм Cet, идентификация числовых значений для проверки достоверности данных.Выделите все, что вам нужно, чтобы узнать, как работает ABCDEF GH IJKL MNOP, что делает его тип карт, алгоритм преобразования и нумерации документов.
using System;
using static System.Console;
using static System.Convert;
using static System.Math;
namespace Partie_2_Cartes_de_crédit
{
class Program
{
static void Main()
{
// Numéro de carte de crédit séparé blocs
Write("Entrez les 6 premiers chiffres de votre carte (ABCDEF) ou (FIN) pour arreter : ");
sting abcdef = ReadLine();
for (; ; )
{
/***/
if (abcdef == "FIN") break;
/***/
{
// Numéro de carte de crédit séparé blocs
Write("Entrez les 2 chiffres suivants de votre carte (GH) : ");
int gh = ToInt32(ReadLine());
Write("Entrez les 4 chiffres suivants de votre carte (IJKL) : ");
int ijkl = ToInt32(ReadLine());
Write("Entrez les 4 chiffres suivants de votre carte (MNOP) : ");
int mnop = ToInt32(ReadLine());
// Vérification pour une carte American Express
if (abcdef / 10000 == 34 || abcdef / 10000 == 37)
{
int abcde = abcdef / 10; // Numéro de carte de crédit séparé blocs
int fghijk = abcdef % 10 * 100000 + gh * 1000 + ijkl / 10;
int lmnop = ijkl % 10 * 10000 + mnop;
WriteLine("Le numéro " + abcde + " " + fghijk + " " + lmnop +
" indique une carte American Express, à valider en ligne.");
}
else
{
// Vérification pour une carte Visa
int abcd = abcdef / 100; // Numéro de carte de crédit séparé blocs
int efgh = abcdef % 100 * 100 + gh;
if (abcd / 1000 == 4)
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte Visa à valider en ligne.");
}
// Vérification pour une carte MasterCard
else if (abcd / 100 >= 51 && abcd / 100 <= 55)
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte MasterCard à valider en ligne.");
}
// Vérification pour une carte Sears
else if (abcd / 10 == 628 && abcd % 10 != 0 && efgh / 1000 != 0 && efgh / 100 % 10 != 0)
{
// Formule de Luhn
int i = ijkl / 1000; // Numéro de carte de crédit séparé en chiffre
int j = ijkl / 100 % 10;
int k = ijkl / 10 % 10;
int l = ijkl % 10;
int m = mnop / 1000;
int n = mnop / 100 % 10;
int o = mnop / 10 % 10;
int p = mnop % 10;
i *= 2;
k *= 2;
m *= 2;
p *= 2;
if (i >= 10)
{
i -= 9;
}
if (k >= 10)
{
k -= 9;
}
if (m >= 10)
{
m -= 9;
}
if (p >= 10)
{
p -= 9;
}
if (i + j + k + l + m + n + o + p % 10 == 0)
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte Sears valide.");
}
else
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte Sears invalide.");
}
}
// Vérification pour une carte Zellers
else if (abcd / 10 == 700)
{
// Formule de Luhn
int i = ijkl / 1000; // Numéro de carte de crédit séparé en chiffre
int j = ijkl / 100 % 10;
int k = ijkl / 10 % 10;
int l = ijkl % 10;
int m = mnop / 1000;
int n = mnop / 100 % 10;
int o = mnop / 10 % 10;
int p = mnop % 10;
i *= 2;
k *= 2;
m *= 2;
p *= 2;
if (i >= 10)
{
i -= 9;
}
if (k >= 10)
{
k -= 9;
}
if (m >= 10)
{
m -= 9;
}
if (p >= 10)
{
p -= 9;
}
if (i + j + k + l + m + n + o + p % 10 == 0)
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte Zellers valide.");
}
else
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte Zellers invalide.");
}
}
else
{
WriteLine("Le numéro " + abcd + " " + efgh + " " + ijkl + " " + mnop +
" indique une carte inconne.");
}
}
}
}
}
}
}