Hallo,
ich muss ein programm schreiben, dass innerhalb der main Funktion überprüft
1. bei dem eine Kreditkartennummer mit 13-16 Ziffern eingegeben werden kann
2. Die Kreditkartennummer muss mit 34, 37, 51, 52, 53, 54, 55 oder 4 starten, ist dies nicht der Fall muss mit printf ausgegeben werden, dass die Kreditkartennummer falsch ist
3. Startet die Kreditkartennummer mit 34 or 37, so darf sie nur 15 Ziffern haben; mit Beginn 51, 52, 53, 54, oder 55 16 Ziffern; und bei Beginn mit 4 darf sie 13- 16 Ziffern haben.
4. Nun die Überprüfung: Multiplizieren Sie jede zweite Ziffer mit 2, beginnend mit der vorletzten Ziffer, und addieren Sie dann Ergebnisse zusammen.
Addieren sie nun die Summe der Ziffern, die sie nicht mit 2 multipliziert haben.
Sie erhalten erneut eine Summe.
Wenn bei dieser Summe die letzte Ziffer eine 0 ist, dann ist die Nummer gültig!
Man muss für den Userinput long long benutzen, weil int laut aufgabenstellung nich so viele Ziffern haben kann.
bei main kommt immer 0 raus
Im header gibt es folgende Spezifikation:
Ich verstehe es leider nicht.
Wer kann mir helfen?
Ich waere wirklich sehr dankbar, da es sehr wichtig für mich ist! Wird benotet!
Ich habe es mit arrays versucht, verstehe aber nicht wie ich es dann einlese genau!
ich muss ein programm schreiben, dass innerhalb der main Funktion überprüft
1. bei dem eine Kreditkartennummer mit 13-16 Ziffern eingegeben werden kann
2. Die Kreditkartennummer muss mit 34, 37, 51, 52, 53, 54, 55 oder 4 starten, ist dies nicht der Fall muss mit printf ausgegeben werden, dass die Kreditkartennummer falsch ist
3. Startet die Kreditkartennummer mit 34 or 37, so darf sie nur 15 Ziffern haben; mit Beginn 51, 52, 53, 54, oder 55 16 Ziffern; und bei Beginn mit 4 darf sie 13- 16 Ziffern haben.
4. Nun die Überprüfung: Multiplizieren Sie jede zweite Ziffer mit 2, beginnend mit der vorletzten Ziffer, und addieren Sie dann Ergebnisse zusammen.
Addieren sie nun die Summe der Ziffern, die sie nicht mit 2 multipliziert haben.
Sie erhalten erneut eine Summe.
Wenn bei dieser Summe die letzte Ziffer eine 0 ist, dann ist die Nummer gültig!
Man muss für den Userinput long long benutzen, weil int laut aufgabenstellung nich so viele Ziffern haben kann.
bei main kommt immer 0 raus
Im header gibt es folgende Spezifikation:
C:
GetLongLong (void);
/ *
* Liest eine Textzeile aus der Standardeingabe und gibt es als ein
* String (char *), sans Newline Charakter. (Ergo, wenn
* Benutzereingaben nur "\ n", gibt "" nicht NULL.) Gibt NULL
* Auf Fehler oder keine Eingabe immer (dh nur EOF). führend
* Und nachfolgende Leerzeichen nicht ignoriert. Stores Zeichenfolge auf Heap
* (Via malloc), Speicher muss Anrufer Leck vermeiden befreit werden.
* /
Wer kann mir helfen?
Ich waere wirklich sehr dankbar, da es sehr wichtig für mich ist! Wird benotet!
Ich habe es mit arrays versucht, verstehe aber nicht wie ich es dann einlese genau!