Veröffentlicht 4. November 201311 j Hallo ITler, ich bin gerade dabei für meine Abschlussprüfung 2014 zu lernen und gehe gerade ein paar Aufgaben durch und benötige dringend eure Hilfe !!!! Kann mir jemand bitte zu dieser Aufgabe seinen Lösungsweg aufschreiben, ich wäre seeeehr dankbar.
11. November 201311 j Na genauso wie's da steht, würd ich sagen boolean isvalid(string knum) { int sum = 0; int qsum = 0; for (int i=0; i < knum.length() - 1; i++) { // -1, da die letzte ziffer PZ ist int zahl = knum[i]; // das parsen kann man sich im pseudocode imho sparen if (i % 2 == 0) { qsum += quersumme(zahl*3); } else { sum += zahl } } int sumsum = sum+qsum; int pz = 10-(sumsum%10) // alternativ per rundeauf-methode return pz == knum[knum.length() - 1]; } Keine Garantie auf Korrektheit, nicht wahr?
12. November 201311 j Autor Hall ein Bob. vielen Dank für deine Lösung. Jetzt wollte ich das ganze mal ein wenig in abgeänderter Version umsetzen. Dafür nutze ich Visual Studio C#. Mein CODE. static void Main(string[] args) { String knum = "9342571866601997"; int sum = 0; int qsum = 0; Console.WriteLine("Bitte geben Sie Ihre Kreditkartennummer ein"); Console.WriteLine(knum); for (int i = 0; i < knum.Length - 1; i++) // -1, da die letzte ziffer PZ ist { int zahl = knum; // das parsen kann man sich im pseudocode imho sparen if (i % 2 == 0) { qsum += zahl * 3; // Schritt 1: Multiplikation aller Zahlen an GERADER Stelle mit 3 Console.WriteLine("Quersumme" + " " + qsum); } else { sum += zahl; // Schritt 3: Addition aller Ziffern an ungerader Stelle Console.WriteLine("Summe" + " " + sum); } } int sumsum = sum + qsum; // Schritt 4: Addition der Egebnisse aus den Schritten 2 und 3 int pz = 10 - (sumsum % 10); // alternativ per rundeauf-methode // Schritt 5 if (pz == knum[knum.Length - 1]) { Console.WriteLine("True"); } else { Console.WriteLine("False"); } Console.ReadLine(); } int quersumme(int zahl) { Doch irgendwie funktioniert das ganze noch nicht (
12. November 201311 j Du hast die Methode "quersumme" rausgenommen. Ich bezweifel auch, dass c# das konvertieren eines chars zum int so macht wie du dir das vorstellst, vermutlich muss der char eben geparset werden. Generell ist "funktioniert nicht" allerdings keine gültige Fehlerbeschreibung. Und denk dran, dass du keinen lauffähigen cvode schreiben musst in der Klausur. Du sollst zeigen, dass du in der Lage bist, anhand einer Problemstellung ein programm zu entwickeln. nicht umsonst wird unter anderem ein Struktogramm angeboten.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.