Zum Inhalt springen

Userlösung 4. Handlungsschritt Abschlussprüfung


Empfohlene Beiträge

Na genauso wie's da steht, würd ich sagen :D


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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :((

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...