freeak2305
Grünschnabel
Okay, danke schonmal, dass die Stackkorruption weg ist.
Allerdings scheint immernoch ein Fehler im Programm zu sein, den ich nciht finde.
Ich habe zB eine Kreditkartennummer, die definitv gültig sein muss, weil sie aus der Aufgabenstellung kommt
4509472140549006
Gebe ich diese ein kommt raus, dass es KEINE gütlige ist..... Ich bin verzweifelt.........
Hier der aktuelloe Code:
Allerdings scheint immernoch ein Fehler im Programm zu sein, den ich nciht finde.
Ich habe zB eine Kreditkartennummer, die definitv gültig sein muss, weil sie aus der Aufgabenstellung kommt
4509472140549006
Gebe ich diese ein kommt raus, dass es KEINE gütlige ist..... Ich bin verzweifelt.........
Hier der aktuelloe Code:
Code:
// Kreditkarte.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
char Feld[17];
int zahl = 15;
cout << "Bitte Kreditkartennummer eingeben:" << endl;
cout << endl;
cin >> Feld;
cout << endl;
int zw1 = 0, zw2 = 0, zw3 = 0, zwges = 0;
int pruefziffer, rest, einer, zehner;
for(int i = 0; i <= zahl; i++)
{
if ((i == 0) || (i == 2) || (i == 4) || (i == 6) || (i == 8) || (i == 10) || (i == 12) || (i == 14))
{
zw3 = Feld[i] * 2;
if(zw3 >= 10)
{
zehner = zw3 / 10;
einer = zw3 % 10;
zw3 = zehner + einer;
zw1 = zw1 + zw3;
}
else
{
zw1 = zw1 + zw3;
}
}
else
{
zw2 = zw2 + Feld[i];
}
}
zwges = zw1 + zw2;
rest = zwges % 10;
pruefziffer = 10 - rest;
if(Feld[15]==pruefziffer)
{
cout << "Dies ist eine moegliche Kreditkartennummer" << endl;
}
else
{
cout << "Dies ist keine moegliche Kreditkartennummer!" << endl;
}
cin.ignore();
getchar();
return 0;
}