Last active
August 29, 2015 14:16
-
-
Save privatehosting/21bcc61a36dc78edc7ac to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Array LoL | |
der BIS20A vom 02 März 2015: Revision: A - Alpha | |
*/ | |
#include <stdio.h> // Präprozessor - Direktive für das einsetzen der Datei Stdio.h | |
// std = Standart, io = input/output, .h = Header-Datei | |
// noetig um die vorgefertigte funktion printf() zu benutzen | |
// = Kommentar bis Zeilenende | |
#include <stdlib.h> // Standart Bibliothek | |
#include <math.h> | |
#define numbers 16 | |
int main(void) | |
{ | |
int creditcardnumbers[numbers] = {2, 7, 1, 8, 2, 8, 1, 8, 2, 8, 4, 5, 8, 5, 6}; | |
float ergebnis = 0; | |
float zehner = 0; | |
int gerade = 0; | |
int ungerade = 0; | |
int calc = 0; | |
int temp = 1; // temp | |
char type = 'n'; | |
printf("Wollen sie eine eigene Kreditkarte eingabe durchführen? default: n (nein) / y = ya: "); | |
scanf("%s", &type); | |
if(type == 'y') | |
{ | |
for(int i = 0; i <= numbers; i++) | |
{ | |
if(creditcardnumbers[i]) | |
{ | |
printf("%2d> ",i+1); | |
scanf("%d", &creditcardnumbers[i]); | |
} | |
} | |
} | |
for(int i = 0; i <= numbers; i++) | |
{ | |
if(creditcardnumbers[i]) | |
{ | |
ergebnis = (((i) % 2) == 0); | |
if(ergebnis) | |
{ | |
if((creditcardnumbers[i] * 2) >= 10) | |
{ | |
calc = (1 + ((creditcardnumbers[i] * 2) - 10)); | |
gerade = gerade + calc; | |
} else { | |
calc = (creditcardnumbers[i] * 2); | |
gerade = gerade + calc; | |
} | |
printf("Pos. %i: / %i / %i = Gerade\n", i, creditcardnumbers[i], calc); | |
} else { | |
calc = creditcardnumbers[i]; | |
ungerade = ungerade + creditcardnumbers[i]; | |
printf("Pos. %i: / %i / %i = Ungerade\n", i, creditcardnumbers[i], calc); | |
} | |
} else continue; | |
} | |
ergebnis = gerade + ungerade; | |
printf("Gerade + Ungerade = Ergebnis = %i + %i = %.0f\n", gerade, ungerade, ergebnis); | |
zehner = ceil(ergebnis / 10) * 10; | |
printf("Differenz zum Nächsten Zehner: %.0f\n", zehner); | |
ergebnis = zehner - ergebnis; | |
printf("Prufziffer: %.1f\n", ergebnis); | |
printf("Kreditkartennummer: "); | |
for(int i = 0; i <= numbers; i++) | |
{ | |
if(creditcardnumbers[i]) | |
{ | |
printf("%i", creditcardnumbers[i]); | |
if(temp == 4) | |
{ | |
printf(" "); | |
temp = 0; | |
} | |
temp = temp + 1; | |
} | |
} printf("%.0f", ergebnis); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment