C programmierung Konsolen Anwendung?
Hilfe zur C-Konsolenanwendung.
Ich komme nicht mehr weiter.. :(
Ich lerne C und habe Hausaufgaben. Die Aufgabe besteht darin, eine Konsolenanwendung zu erstellen.
Kreditkarten werden durch sechzehnstellige Nummern identifiziert. Die ersten fünfzehn Ziffern werden von der Bank vergeben, die letzte ist die Prüfziffer, die aus den anderen fünfzehn Ziffern berechnet wird. Sie wird in drei Schritten ermittelt. Wir gehen davon aus, dass die Kreditkartennummer ohne Prüfziffer 271 828 182 845 856 lautet.
Wir verdoppeln die Ziffern an den ungeraden Stellen und addieren sie zu Ziffern.
Die Ziffern in den geraden Ziffern werden addiert.
Aufgabe: Schreiben Sie ein Programm, das die Prüfziffer für die angegebene Anzahl von Ziffern ermittelt und die Kreditkartennummer in Viererblöcken ausgibt (wie im Beispiel). Tipps: Mit int x; sei eine ganzzahlige Variable deklariert. Durch Zuweisen von x = 13/4; die Variable x erhält den Wert 3, i. das Ergebnis der Teilung ohne Pause. Mit int x; sei eine ganzzahlige Variable deklariert. Durch Zuweisung von x = 13% 4; die Variable x erhält den Wert 1, i. der Rest in der Ganzzahldivision. Die Nummernfolge sollte in einem Array gespeichert werden. Verwenden Sie für den ersten Test die oben angegebene Ziffernfolge. Danach können Sie Zufallswerte bis zu 9 verwenden
Der Code, den ich schreibe, ist ..
int main ()
int i; int numbers [] = {2,7,1,8,2,8, 1,8,2,8, 4, 5, 8, 5, 6};
für (i = 0; i <15; i ++) printf ("% i", Zahlen [i]);
1 Antwort
Mit.dem Modulo Operator kannst du herausfinden, ob es sich um eine ganzheitliche Zahl handelt. Angenommen du hast 13%4 kommt dabei 1 raus. Also ist sie nicht gerade. Du sagst, du musst alle geraden Zahlen addieren. Dann solltest du noch eine Variable machen, die quasi alle ganzheitlichen Zahlen addiert. Das ganze gehört natürlich in die Schleife die ich weiter unten beschrieben habe.
Kleiner Tipp: Ich weiß nicht wie das in C ist. Aber du solltest die globale Variable summeAllerGanzZahlen mit 0 initialisieren. Ansonsten kann man nichts drauf addieren.
if(dieZahlNachTeilung ==0){
summeAllerGanzZahlen += dieZahlNachteilung;
}
Du überprüfst mit jedem Schleifendurchlauf mit dem Modulo Operator ob 0 herauskommt. Falls dem so ist, ist es eine ganzheitliche Zahl und speicherst diese in einem seperaten Array.
In jedem Schleifendurchlauf, solltest du auch eine if Bedingung einbauen. Das != bedeutet eine Verneinung. Das könnte so aussehen:
if(dieZahlNachTeilung != 0){
int zwischenSpeicher = dieZahlNachTeilung * 2;
}
Den Rest solltest du hinkriegen.
Das alles ist nur eine grobe Veranschaulichung.Ich hoffe ich konnte dir etwas helfen und dass du dir das so vorstellst.
Ah, ich lese gerade meinen Text. Er wirkt in meinen Augen etwas konfus. Bin noch nicht richtig wach.
Äh...wenn du noch Fragen hast, einfach fragen.