Matroids Matheplanet Forum Index
Moderiert von matph
Informatik » Programmieren » C: SV-Nummer 4. Stelle prüfen
Druckversion
Druckversion
Antworten
Antworten
Autor
Kein bestimmter Bereich C: SV-Nummer 4. Stelle prüfen
Reco57
Junior Letzter Besuch: im letzten Quartal
Dabei seit: 18.03.2020
Mitteilungen: 15
Aus: Köln, Deutschland
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-05-25


Hallo ich hätte ein Problem, ich weiß überhaupt nicht wie ich mit dieser Aufgabe anfangen soll

Das Programm muss prüfen, ob eine eingegebene Sozialversicherungsnummer korrekt ist. Dabei wird die Prüfziffer (4.Stelle) der zehnstelligen österreichischen Sozialversicherungsnummer nach folgendem Algorithmus berechnet:
Die Stellen 1-3 und 5-10 werden mit den Werten 3,7,9,5,8,4,2,1,6 multipliziert. Die Prüfziffer ist der Divisionsrest des Produkts bei Division durch 11.
Erstellen Sie für das Programm auch folgende Funktion


int get digit( unsigned long nummer, int n );



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 2275
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-05-25


Der Hinweis ist doch schon sehr zielführend.

Implementiere eine Hilfsfunktion, die die n-te Dezimalstelle einer Ganzzahl zurückgibt.

Mit dieser Hilfsfunktion, sollte sich auch das ursprüngliche PRoblem leicht lösen lassen.


-----------------
Why waste time learning when ignorance is instantaneous?
- Bill Watterson -



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 27366
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2020-05-25


Hi Reco57

Die vorgeschlagene Hilfsfunktion heißt bestimmt nicht
C
int get digit( unsigned long nummer, int n );
sondern
int get_digit( unsigned long nummer, int n );

Damit kannst du dann aus der SV jede Ziffer rausholen und mit den entsprechenden Werten multiplizieren bzw zum Schluß mit der Prüfziffer pz = get_digit(SV, 4) abgleichen.

Außerdem hast du den Algorithmus zur Berechnung der PZ falsch wiedergegeben🙁
Schau noch mal in deine Aufgabenstellung oder hier Wiki: Österreich/Berechnung

Und wie jetzt anfangen?
Nimm an, du hättest die Hilfsfunktion schon. Wie würde dann dein Rahmenprogramm aussehen?

Gruß vom ¼


-----------------
Bild



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
StrgAltEntf
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 19.01.2013
Mitteilungen: 5999
Aus: Milchstraße
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-05-25


2020-05-25 10:00 - viertel in Beitrag No. 2 schreibt:

Außerdem hast du den Algorithmus zur Berechnung der PZ falsch wiedergegeben🙁
Schau noch mal in deine Aufgabenstellung oder hier Wiki: Österreich/Berechnung

Stimmt. Statt "Divisionsrest des Produkts" muss es "Divisionsrest der Summe der Produkte" heißen. Der Rest 10 kann bei einer SV-Nummer nicht vorkommen.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Reco57 hat die Antworten auf ihre/seine Frage gesehen.
Reco57 wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]