Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

post-89055-14430449714994_thumb.jpg

Kann mir jemand bitte zu dieser Aufgabe seinen Lösungsweg aufschreiben, ich wäre seeeehr dankbar.

Geschrieben

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?

Geschrieben

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

Geschrieben

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 Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...