Skip to content

Instantly share code, notes, and snippets.

@privatehosting
Last active August 29, 2015 14:16
Show Gist options
  • Save privatehosting/21bcc61a36dc78edc7ac to your computer and use it in GitHub Desktop.
Save privatehosting/21bcc61a36dc78edc7ac to your computer and use it in GitHub Desktop.
/*
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