[Playlisten] [Impressum und Datenschutzerklärung]

08B.1 struct für Buch; ISBN-Nummer prüfen


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

einBeispiel zu Datenstrukturenvon Simon an eineDatenstruktureines Traktzu bauenmit folgendenEigenschaftensie soll heißenBuches?? eine der erstenIdeenwas möchte ich speichern ich möchte speichern den Namendes ersten Autorsich möchte speichern den Titelich möchte speichern die ISBNJobs ?? ISBNdreizehndie neuere ISBNich möchte das Erscheinungsjahrspeichernmöchte dieSeitenzahlspeichernschon zumal eines Traktaus irgend wie geht es hiermit taktlosDatenverbundin dem diese Daten stehen das hätte ich gerne den Namendes ersten Autorsden Titeldes dreizehntesJahr und die Seitenzahldie sie das dann offiziell in C ausso weit so gut wie's aussiehtals wenn ich von außen anfangedas zu schreiben soweit es üblicherweisefür Leertaste den Rahmen schreiben es ist eines Traktsoll heißen Buch also der neue Typden ich einführensowas wie Kind und Scharund long und shortund bool das mir schon bestehende Typen wir bauen jetzt einen neuen Typeinender ein Verbund aus anderen Typen istwas C sagt Benz das ist der Name des neuen Typs jetzt Buchdann in Schweifklammerwas denn drinsteckt soll und dies heißen sollund was blöd ist historischerseitsdein Mann Semikolon kannmandas sehen Sie in vielen neueren Sprachen dann nicht mehr der Grund für Semikolon ich denke verwirrtwerden alten Videos ist das sicher jetzt sofort noch ?? Variable anlegen kannam Endewas ihr komischeshat sich dann herausgestellt?? auch so eine Idee eine der Ideen von der man danach ?? gemerkt hat dass es bei Doniso prickeln warnicht desto trotz müssen wir den C und C plus plus mit Semikolonam Ende leben was ziemlich schräg aussiehtwannund wo ich gerade bei den historischen Geschichten bin in C müssen auch damit lebendass dieser neue Typ die man da gebaut hat?? Danstraktbuchheißt und nicht Buch heißt in allen modernen Sprachen würde nur Buch heißenund nichts Traktbuchheißendeshalb diese eine Zeile noch damit sagen Siebitte lieber CompilerDarmstadttraktbuchdarf ich auch Buch schreiben gernedas ist diese eine Zeilean das ist das ganze so das es bisschen mehr aussieht wie moderner Sprachen insbesondere C++ macht das schon so ?? C++ brauchen diese Zeilenkann sofort sagen der neue Typ heißtBuch und nicht sagt Buchso denke in besondersweit auch bei allen dannsoweit klaranich fange ?? ich fang mich mit dem ?? mit dem Jahr an das bessere Produkt sind jadass es leichterins Seitenzahl?? ich hätte gerne eineeinen Memberein Element ein Datenelementin dieser Struktur namens Jahrdas ganze Zahlen speichern ich hätte gerne ein Datenelementnahm Seitenzahlist das Element auch ganze Zahlen speichertdie Aussagen jaJahre bis zwei ?? dreißig tausend von minus zwanzig tausend bis plus zwei dreißig tausend ist Beistrich so geschickt man ?? nicht Insel machen wiran Saint insnegative Jahres Beistrich so spannend und Seitenzahlenwarenverdammt nur kurze Broschüren in die nie die über die nie über zwo hundert fünfzig Seiten gehenandas weiß ich aus der native erstmals insKomma gar nichts weiß ?? typischerweise verdient indes IC das was der Rechnerselbst am liebsten hat auf dieser Maschine eben sechzehn Bitsodie Namen hierein Schar offensichtlichein Charakterein Byte heißt das ja in Caberdas wäre jetzt ja wirklich nur ein einziges Byte was ich an einigen Stellen gesehen habe ?? die so schreibenwie das hier eine ganze Zahl ist es das hier ein einziges Beistrichdass wir zu wenig es muss ein RE seindamit zur Zeichenkette jetztund schlimmer nochEllen zehnnimmt ihnen das nicht so anziehen muss zum Schluss wissen wie viele bereits so einBuch im Speicher belegtmich das Ersuchen schreibe weiß sie nicht wie viel Bytes das sindmüssen sie sogar die Größe vorgebenfür sie sagen diese Zeichenkettefür diese Zeichenkettereservieren?? ich sagen wireherzweiunddreißigBytes auch immer Hauptsache irgendwasdasselbe passiert bei dem Titel sie müssen tatsächlich Platz reservierenNCdasam einfachstenwirklichzu behalten man sich überlegt das Zieldumme Sprache ist die von allen Sachen wissen muss wie groß sie sindwenn sie hier nicht sagen wie viele Zeichen gespeichert werden sollen weiß sie nicht ?? Platzes brauchtfür so eine Instanz von dem BuchsodannISBN dreizehn ?? schreibt man Beispiel hinwies und ?? ISBN dreizehn aussieht?? neun sieben acht Bindestrichnull Bindestrichdrei zwei eins Bindestricheins so sieht ?? ISBN dreizehn auswas wäre insofernein sinnvollerDatentypfür diese ISBN Nummereine Zeichenkette ja einenSalatsscharüberlegen Auslassungszeichenda rein gehören aber warum Zeichenkette erstmalswenn es zu einennackte Zahl wäre naja okay es ist aber kein Propellerist aber keine nackte Zahl sondern es gibt Bindestricheda drin bin kann ich natürlich nicht in dieser nackten Zahl speicherndann wäre ein ins viel zu klein ?? selbst ohne die Bindestrichewird sich ordentlich gehen weil es ihm viel zu klein wäre ich ?? mich jetzt mit lang und Langklang und alle möglichen Spielereiendennoch versuchenraus zu rettendannein weiterer Ärger den ich mit den normalen Zahlen vermarkten hätte wenn ich die nehmen würde ?? nicht hinnehmen würde ist was mache ich mitZahlenISBN Nummer die mit null anfangen wenn es welche gibt was ich gar nicht aus weniger Fläche gibt und man sich von ISBN Nummer fängt mit Nullen an sie wüsste nicht ob die mit drei null null zwei nullangefangen hat ?? müssen sich rückwärts ?? über die Länge erschließenwie viele Nullen es hätten sein sollenKomma sind Ärger mit Kontonummer nenne ich michalsoganz viele Gründe es es sich so zu machen sollte Zeichenkettewerdendann ISBN dreizehn wie der Name sagt hat dreizehn Ziffernund vier minusminus ?? sei jetzt schon ist der keine minus sechzehn Bindestrich ?? andreizehn hat dreizehn Ziffern und vier Bindestrichewie viel Platz brauche ichkorrektsind diedreizehnfür die Ziffern es sind die vier für die ?? Bindestrich und eins für die null am Endeder abschließende null?? soll einer mal sagen der abschließenden nulldiese wird nachher das Symbol nur das Zeichen null auf dem Bildschirmdessen Nummer ist nicht nur definitivganz ans Ende setzt sie dann ein eine null ein Pseudosymbolmit der Nummer null es kann diese null von der Null am Ende wunderbar auseinanderhaltendieser nur hier drinkönnte auch sonst was auf dem Bildschirm seinirgend ein Symbol mit irgendeiner NummerLeerzeichen auf dem welche mit irgendeiner Nummer und die Nummer ist nicht neu von der null sondernnachguckenwar ich Leerzeichen Tabellezumir nehme dass die Nummer des Zeichensnull ist hexadezimaldrei nulles geht in der Tabelle sowieso erst ?? hexadezimalzwei einzelloshier stehtnoch nicht die abschließende Note abschließen und es wirklich das Zeichen mit der Nummer null was anderes alsdiedie sind wohl das Zeichen für dieZiffer null die dann auf dem Bildschirm angezeigt wirdso ?? Klammer zu Punkt Daten vom Bund stets welchen Variable mal anlegenund über das Ihnen das malschreiben Sie meine Variable von dieser Sorte und initialisierensie mit zwei Büchern als irgendwie Variablevom Typbuchund die möchte ich gerne initialisierenauf zwei Bücher mit irgendwelchen Fantasiedatenmal vorgegeben machen Sie das malwirklich so ?? Variableeingerichtetundmit Werten gefülltich mach das mal so wie die meisten von ihnen tatsächlich in der Mailfunktiondrin wenn ich das hier machen würdeer sicher was globalangelegt eine variabel global angelegt ist ja nicht so hübsch deshalbaus Beistrich jeder drinnenalso vom Typ buche ich gerne was einvor was vom Typ in eine variable Art soll zweiundvierzig sein Sohn hätte dich gerne was von Typ bucht es selbst definiertsie sehen das die EntwicklungsumgebungirgendwieBuch nicht geltendin kennt sie ?? Buch kennt sie nicht dass ich davon nichtwir haben ein Typbuch angelegter Esserbeziehungsweise ihr Mathebuch angelegter christliche SchreibenstraktbuchBjetzt ein neues Buchder Typ der Name der Variablen gleichund nun womit sie initialisiertwerden sollund das in Schweifklammersehen das ist das Service konsistentin den Schweifklammer definiere ich was in Subtyp allgemein drinstehen solles wird sich die Schweifklammernicht um anzugeben was für Typen die Elemente haben soll und was vernahm sie haben sollensondern was denn konkret sein sollihrBeispiel aufgeschrieben nehme Knustderart aufComputerprogrammeinClubskapitalisierthieran da die Anführungszeichennicht vergessen?? nebenbei bemerkt wenn sie das ohne AnführungszeichenschreibenPunkt ob der Compiler sie meint eine Variable namensloseKamera keine Variable mit dem Namenwas wir wollen ist die Zeichenketteübrig auch kein einzelnes Zeichen an der Stelle des Gitter sowiesonichtdie einfachen Anführungszeichennehme mir immer nur ein einziges Zeichenals auch die doppelten Anführungszeichenmacht eine Zeichenkette draußennebenbeiZeichenkettemit fünf echten Zeichen und der Null am Endeund der Rest bleibt frei schlicht und ergreifendgenau dasselbe hier spannend wird wenn sie irgendwas Hamas mehr als ein dreißig Zeichen hat in der Wasser nicht mehr rein das auf mich der Compiler an meckernjetzt kommt die ISBN Nummer die habe ich oben schon Plugin geschriebenund dann wollte ich haben ?? in welcher Reihenfolge das Jahr und die Seitenzahlletzte Ausgabezu der ISBN Nummer zwanzig elfund die Seitenzahlsechszweisoeinmalmuss das anKomma gar die Optimierung aus wie üblichdamit diese Variable wirklich angelegt wirdauchhier ?? Semikolon vergessennach der ISBNdanngucken wir mal in dielocalbisher noch keinesojetzt hat er das Buch angelegthat ist das normal interessant alsodie die eingebautenTypen gibt's in SchottlandWohlschardannan sein Kind und so weitergibt's jetzt eben einen benutzerdefiniertenTyp ich habe selbst einen neuen Typ angelegt in Czu einen komplizierterenTyp Namensbuchund wie Sie sehen weiß die Entwicklungsumgebungdas tatsächlich auch damit eine Variable von diesem Typ es ganze Zahlen sondern es ist einBuch trennenkönnen rein guckenwas das Ding System gemerkt hat am?? die zum Beispiel bei dem Gnus jetzt dieersten fünf Zeichen sind belegtund der Restist einer mit Nullen gefülltals ich muss nicht alle Zeichen angeben was ich nicht angebe wird mit Nullen gefülltallgemeinesPrinzip bei Cwenn sie initialisierenund was weglassen wird das was sie weglassen mit Nullen gefüllt automatisch das gilt auch für Zeichenkettenüber die ihrerArt auf Computerprogrammmengenwarsicherlich gar nicht ausgerichtetes?? kommt gerade hinPunktdas war knapp es kommt gerade hin mit Jahrescomputerprogrammenaneine ISBN muss es ja auch gerade hinkommeneins und am Ende die abschließende null sie sehenwie das aufgeschrieben wird und dassdie die dargestellteZiffer null das Zeichen was auf dem Bildschirm als null erscheintin einzelnenAnführungsstriche untennullund die Null am Ende das Zeichen mit der Nummer null Backslash nullsowie teleunterschied klargemachtund ja und Seitenzahl so weit scheint es zu funktioniereneinigewollten schon ein RE anlegensollte ich nämlich auch als nächstes tuneine Reihe von Büchernso muss das ja aussehen wenn sich vorstellen was ein Rave vonganzen Zahlen istaber das war Klammer zu Vergleicheine Reihe von ganzen Zahlen wäre ja soganze Zahlen das äh heißt C oder soll ich meine Ray seindie eckigen Klammernunterschreibe ich die ganzen Zahlen hinterdiesen werden sollender Compiler weist dann automatisch Punkt das sindvier Zahlenda muss ich nicht hinschreiben mich hier bei dembei der Strackda muss sich die Größe hinschreiben was der Compilerirritiert ist der muss wissen wie groß ist Tag später wirddann hier muss ich sie hinschreiben bei der Compiler ist dann doch Schaftaus der Größe hier von denbei der Initialisierung zu schließen und es müssen vier seines errichteten Buch Veranstalter ein Rave von Büchernschon Senat Datenbankaußen stehen SchweifklammerStätten Semikolonjetzt kommt in die Schweifklammerdie Einträgerein also in diese Schweifklammernicht schaffe mal richtig Platzzwischen diese beiden Schweifklammerkommen jetzt die Einträgerein mehrere Bücher zwischen diese beiden Schweifklammerzum Beispiel die hier noch mal nehmenV Bindestrich normal eintippenden können wir dazwischen packen Kommaund noch ein?? und dann haben wir ein RE aus zwei Büchernhatte ich nochvor dem ?? den ersten Auto angebenwegenineinigenund Richiesie Programmen Languagesoein paar Beispiele haben wir wieder mit zu basteln und jetzt auch als Zeichenkettedoppelte Anführungszeichendie ISBN dreizehn dazunicht schonnach zwei hundert und dreisechsnullund dann wollte ich dieErscheinungsdatender letzten Ausgaben derzwotenneun undvierdamit habe ich jetztso zwei Bücheralsowenn dies einer verstanden haben diese ganzen Zahlen geht sollte das für diese komplizierterenDatentypennicht so ein Drama seinDatentypVariablennamegleichInitialisierungdasselbe machen bei diesem Buch dannTypvariablennamegleich Initialisierungund Initialisierungin Schweifklammerbei dem RE hat sie das gesehen für ganze Zahlen in Schweifklammerdie Elemente angeben mit Kommata getrenntwenn jetzt eine Reihe von Büchern haben willdann eben in SchweifklammerBücher angebenauch das denke ich sollte man noch mal sehennundann sohier haben wir jetzt also ein Rave von zwei Büchernals dieälteste in der ersten Ebene aufschlagesich den Eintrag null und den Eintrag einszu zwei Einträgeund beide Einträge sind Bücherkann ich wieder nachguckensorichtig spannend für uns geradedas kann ich hier nachguckenwas denn die Werte warenTitel ISBN dreizehn und so weiter für den mit der Nummer null und für denmit der Nummer einssoweitdie Initialisierungso warum in der A Gleichzeichen vierzig nur als BeispielLWS mit in Variablen aussiehtKomma merken Sie sicham besten eben wie dieseFormenallgemeinenAussehen in Cdas euch damit klarmachenTypName gleich Initialisierungdesselben ?? Buch Typ Name gleich Initialisierungund beimTyp wobei des Rädern auch ?? zum Typ gehörtName gleich Initialisierungund der selben Liste von Büchern braucheist es immer derselbe Simondie Sprache ist nicht so fürchterlich kreativwas das ja auch für alle Beteiligten leichter ??am Sohn dann kann man noch die Frage was passiert wenn ich jetzt einen Titel habe der zu lang istHängehängerden ?? oben noch ein X drander Compiler frisst esauchdannins großes Bangucken?? selber hierden Titel habender Titel endet mit dem X und es fehlt die abschließendenull eine Zeichenketteohne die abschließende null das heißt diese Funktion die man typischerweise verwendetdie laufenin die irreweil keine Null am Ende findendas ist eher rustikaldass uns dieser Compiler das nicht mehr mitteiltokay vor zwei ZeichenX Y?? Project Mac nur kombinierenoder Chipsatz entweder nettbeivierunddreißig meckerte dann allmählich sehr interessant also dreiunddreißig Risse noch bei vierundachtzigsojetztimmer folgendes jetzt nehmen Sie dieses Ratingnamensideeund bestimmen mal die Summealler Seitenzahlenwie viele Seiten sind in meiner Bibliothekund auch Preise addieren oderim wahren Leben Messwerte addieren aber ich glaube es am einfachsten ?? mit solchenProfansachen wie Büchern anzufangenwie können Sie die auf Sohn Jan gerne mit einer for-Schleifedurch dieses FA durchgehenund feststellenhat meine Bibliothek zusammen danndrei Millionen Seitenoder wie vielbraune Assmann Variablein der das Ergebnis nach auch stehen sollich kann in C das Ray nicht nach seiner Länge fragenanderswo geht das später in C geht es nicht ich muss mit den Engeln vorgemerkt habenPunkt es gibt diesen Heckmit Zeiss aufdie Länge des Raysdurch die Länge eines Eintragsam ?? finde ich aber nicht hübschund dessen Nutzen ist auch eher eingeschränktkommt nicht drum hin die später zu merken wie groß sie selber es sind immer ?? angelegt hatsoum??und jetzt muss ich irgendwie zugreifenauf die Seitenzahljetzt hier und da dieuniverselle Seitenzahl SeitenzahlD ist der Name des Atheismus raus und was nicht geht ?? Ahnung was nicht geht ist dieses hiersie können nicht das Gerät nach der Seitenzahl Fragen des Gerätenist eine Listevon diversen Geschichten was kriegen Sie wenn Siedie gesamte Liste nach der SeitenzahlFragenSie können ein Buch nach der Seitenzahl fragen BB Seitenzahldas wäre okay dann kriegen sie die Seitenzahlvon diesem einenBuch zurückaber die ist kein Buch sie können nicht sagen?? die SeitenzahlD ist ein REwie holen Sie die Seitenzahlvon den soundsovielBuchwas ist der nächste Jobnichtkreativ sein sondern ganz streng nachdenkenwie denndas zum Beispiel mit ganzen Zahlen funktionierenwürdedann das musskonsistent sein das passiert nichts großartigesneues ich hätte gerne aus diesem Gerätdie Nummer ID in eckigen Klammerndie?? das ist der Eintragmit der Nummer I aus diesem Array dieses Ding ist also ein BuchvonD als solches ist eine Reihe von Büchern die von nieein Eintragaus einem Array von Büchernalso ein Buchund ein Buch kann ich nach der Seitenzahl Fragengesehen oder komfortabel hierein Buch kann ich nach der Seitenzahl fragen als wenn Sie hier Punkt machen Sie sichso ganz dumm ist Entwicklungsumgebungnicht die hatten festgestellt dass es sich im Buchhandelkann ich tatsächlich hierauswählen was ich aus dem Buch habendie Seitenzahlund ihr direkt natürliches auf Summe der Seiten draufdasKost am Anfang Überwindung ?? ich weiß ähm aus wie streng streng logisch ?? überhaupt nicht kreativsondern suchte nach den dümmsten möglichen Lösung genau das ist die Lösung die zehn Zweifelsfall machteine Rayaus dem Ray gibt mir die Nummer jeden habe ich ein Buch mit ?? PunktName greifen sie auf die Elementeeiner Strack zu?? dass das auch wirklich was tut ?? Schwachsinn rauskommenneun hundert noch wassechs am Endesodurch die dividiert durchneun hundert noch was mit einer sechs am Ende das jedoch schlecht ausokayan das immer so außer zu fordern aber was zum Üben hortenwenn ich diesesBGHaberwas wird hier passierendie PunktAutorin eckigen Klammernvonvierwas ist dasB Autorvon vierViertel der fünfte Buchstabe vom Auto ?? nach dem immer nummeriert also K das große Kreisnummer null?? daseines Nummer eins des US Nummer zwei Nummer drei Nummer vier also das ist ein kleines Hinsbesondere im ein Buchstabeein Schah ich könnte das hier in eineneine char Variable abspeichernund es ist klar dass wir das kleine HaseBuchstabemit der Nummer viervom Autorin diesem Buch das ist jetzt andersrumzu über ?? noch malhier habe ich ein Buchdas ist so ein Verbund da kann ich direkt mit Punktund Elementnamesagen was ich haben willdieses Element ist aber jetzt ein FA der Autor ist eine Rave Und-Zeicheneine Zeichenketteund davon hole ich jetzt das mit der Nummer vier ?? es andersrumerst der Zugriff auf ein Datenelementdas Datenelement ist eine drei hundert und was aus dem Datenelement rausist es umgekehrtdie Variable ist eine Rehich hol erst mal ein Eintrag aus dem Gerätunser Eintrag in das FAist ein Verbund und aus dem Verbund und kann die Seitenzahldas geht in beliebigen Kombinationsie kann sich vorstellen sie könnten auch erst hierdas wäre wirklich perverssie könnten ja das aus dem lieben ElementdenAutorennamenholender Autorennameist ein FA von Zeichen und aus diesem Rave von Zeichen könnten Sie das bitte holenauch das gehtVariablennamenimmer das so das wäreunsinnigund zweckfrei ??syntaktisch korrektaus Semikolon die Nummer Idas ist ein Verbundvom Typbuchda hol den Autor rausist eine Zeichenkette aus der Zeichenkette gibt mir die Nummer dreiziemlich unsinnig aber für den Compiler gewecktund ich sollte noch sagen das geht natürlich auch rückwärts hier lese ichich kann genauso auch schreibendass ich sage ?? vierte Buchstabe vom Autor soll bitte einX seinKomma sind wir gerade noch mal anwieder das übliche was steht rechts vom Leid Leerzeichen Beistrich links und ?? Leerzeichenso ein Ausdruck darf auch links vom Gleichheitszeichenstehenund dann ändern sie eben das was in der Struktur drin stehtsominder lese ich noch rausH muss mir schonund jetzt möchte ich B sehenden Autordie Nummer vierdass er sich jetzt aufdie Nummerdes ZeichensXihr die Nummer vier das Haar wird's hoffentlich jetzt zumX werdenda ist es zunächst gewordenals in die Richtung geht das auchdieseSchreibweisemit dem ?? Punkt Element Name dass es nachher auch was Java und C Sharpohne Javascriptbenutzenalso die modernen Sprachen insofern lohnt sich das sich diese Schreibweise wirklichsehr zu Gemüte zu führendie meisten Erfolg waren sie basierend darauf dass man diesedatenverbündeverallgemeinertaus Struts werden nach ?? Klassenund ähnliches insofernelementaresdann weitergehtamEier unter die andere Geschichte was ist wenn ich mir Bücher haben wir aber ich beiße mich vorher sie können natürlich sagen jetzt schon sagenes sinddreizehn Zeichen zum Ende maximalsetze alle die ich nicht angegeben habe auf nulldas würden sie so sagenpersönlich jetztangeben des reha dreizehn Einträge aber nur vier vorgebendasselbe können Sie hier macheneines Platz dafür dreizehn Bücheraber sind nur die ersten beiden mit Werten gefüllt die anderen können sie es eben durch Zuweisungenauch noch mit Werten fürandas Zeichen ?? tatsächlich malwie das dann aussieht sollten wirim Prinzip Platz für dreizehn Bücher angelegtzusammenklappenjasosind sie Platz für dreizehn Bücher von null bis zwölfeinziges Gefühl nicht der Sinn der kernigenund so weiter und so weiter nur Nummer eins ist gefüllt die Nummer zweibesteht aus lauter Nullendie Zeichenkette für Autorennen sofort bei null anfängt und so weiter der Rest ist dann einfach mit null gefüllt das geht auchsie können Platz reservierenund erst mal nicht nutzendas aller einfachste wäre dass sienicht nur ein Buch reinschreibenwenn sie nicht mal eins wissen?? dazu reserviertamjetztpasst man aus denen Zeichenketten ich hätte gerne eine Funktiondie die ISBN Nummer überprüftISBN Nummern auch die alten Zehnernummern sind ja so gebaut dass die letzte Ziffer eine Prüfzifferistdie Ziffern der Vorhaben wirklichen Bedeutung und die letzte Ziffer ist die Prüfzifferum festzustellenobvon den Ziffern vorher irgendwasschief gegangen ist oder auch die Prüfziffer selbst irgendwie schief gegangen istanbeschreibende kleine Routinemit der man das testen kanntesteBuch auf korrekteEierei soll ich sagen korrekt auf unverdächtige?? soll ich sagendannISBNwenn die Prüfziffer stimmt heißt das nicht dass die Nummer richtig ist aber die Chancen stehen aber schon sehr gut dass sie nur richtig istPunkt ichdenke es werdendafür Funktion schreiben wir tatsächlich mal was in Funktion machen sollan diese Funktion soll zurückgeben ja Neinwar die ISBN plausibel oder nicht die Funktion sollen neben ein Buchunser Test geht so bei den ISP Enzmannhat diese dreizehnZifferVersagenbei den ISBN dreizehndie alten ISBN Zehner die Gen etwas andersaber gleicher Gedanke bei denfünfeins null vier einsan das das Verfahren ist so man ignoriertalle Bindestrichedie müssen nämlich nicht immer zwangsläufig an denselben Stellen stehenund dann nimmt man die erste Stelleso wie sie istdie zweite Stelle nimmt man mal dreidie dritte nimmt man so wie sie es die vierte Stelle nimmt man mal drei diefünfte nimmt man so wie sie ist die nächste wieder mal drei und so weiter bis zu Ende durchjede zweite mal dreidas ganze auf summierendas ganze auf zu mirund dann muss das Ergebnis durch zehn teilbar seindann ist dessen plausibleISBN Nummerdas heißtdiese Prüfzifferhier hintenwird so gewähltdass wenn sie das Rechnerndas gesamte Ding durch zehn teilbar ist das danach Adelige für die Prüfzifferbilliger zu prüfen ist einfacherSumme bildenjede Ziffernehmenjede zweite Ziffer mal drei nehmendie Bindestriche ignorierenund dann muss die Summe durch zehn teilbar sein??versuchen Sie das mal zu bauen mit dem was über Zeichenkettenwissen eine Funktion die das macht die Funktion nimmt ein Buchprüft die ISBNNummerund liefert mir wahr oder falsch zurückwarendie ISBN Nummer plausibelistund falsch wenn das hierder Prüfprozesseben eine Zahl gibt die nicht durch zehn teilbar istja das ist wiedernichts kreativeses kommt ein guter Wert zurück sagen in C brauche ich erst malCloudHaaram?? geben dann mehr oder minder sinnvollen Namenähmund er soll jetzt ein Buch kriegenund sich X nennen sondern B nennenweil mir das die Chance gibt Komma zu sagen das ich hierund das Pedal sind zwei paar Schuhedieses B hier ist nur in der Mailfunktionsichtbardieses Bild hier obenist nur ins Attest ISBN Funktion sichtbarB für ein Buch völlig hübsch als X für ein Buch X eine Variable mit Zahlen drin kann ich mir vorstellen aber verbuchtoder Fleisch sogardas Buchkönnte man auch aber warum so vieldie bearbeitenden was Beesobezogen sie aus den Bdie ISBN Nummer rausholendie Bindestrich ignorierenwährend sie alle Zeichen durchgehend von ESPNund die dann irgendwie aufzukläreneine for-Schleifedie Frage istwann höre ich auf mit der for-Schleifeähmweil jene Zeichenkettehaben könnte ich im Prinzip auf die null am Ende guckenam?? ist aber doch bekanntermaßenunsichere Sachedeshalb guck ich lieberaufdreizehn plus vier Zeichenan dieser Stelle weiß ich ja wie lang die Zeichenkette sein muss nebenbeifür mich eben gar nicht gesagtweil ich weiß wie lang die Zeichenkette sein muss könnte ich im Prinzip ja auch sagenbrauch ich auch keine die Null am Ende und könnte hier eine Stelle einsparenEnde der Fußnotesodas es meine for-Schleifejetzthohle ich aus dem Buchdie ISBNNummerund darausdas Idezeichenwie schreiben Sie das hinjadas B ist Sonnenverbundeines Traktda kann ich jetztmuss ich direkt nach der ISBN dreizehn Fragen in der Reihenfolgeaus dem Buch gibt mir ein Elementaus diesem Buch gibt nur ein Element und aus diesem Element hätte ich jetzt gernedie Nummer diedas ist das Zeichen was ich mir angucken willdasmuss weiter Kommaso witzig kann so hässlich aus ?? damit sie weitermachenund ich hole das Zeichen mit der Nummer I aus der ISBN Nummer des Buchs das mir hierübergeben worden ist und schreibe das ICC reinund jetzt müssen wir weitermachenist das einBindestrichoder ist das eine ZifferBindestrichist ignoriere ich es besser Ziffer istmuss ich esgegebenenfalls mal drei nehmenund auf so mehreres irgendwas kommt jetzt die Mitgift auf jeden Fall undauch diese Unterscheidung ist es jetztdie Nummer zwei die Nummer vierdie Nummer sechs großes I Nummer eins Nummer drei die fünfAmis mal drei oder nicht diese Unterscheidung ?? auch neue ?? berücksichtigendass solche Aussagen wirklich jetzt erstmals Zeichen raus aus der ZeichenketteZeichen rausich hab hier noch nicht sofort die richtigen Zahlen sondernwenn in derISBN Nummer eine null stets kriege ich hierhexadezimaldrei null Wende in der ISBN Nummer ?? acht stehtich hierfür Chexadezimaldrei achtjegliche erst die Nummern der Symboledie Nummern der Zeichenich hab noch nicht wirklich Zahlen mit den ich rechnen kann aber hoffentlich ist glaube ich der Steuer auf Zahlen kommen mit dem ich rechnen kann die null wird hexadezimaldrei null die drei wird zur hexadezimalfrei drei und so weiterich nicht so ganz so schwierigund stellees Minuszeichen erster Minuszeichen ist ?? Bindestrich ist am?? steht bei hexadezimalzwei D ist eine einfach mit dieser Nummer vergleichen mit der Nummer vom Bindestrich Vergleichen festzustellendessen ?? Bindestrichdas wäre die erste Geschichte habe ich da geradeeinBindestrich was schreibe ich C gleich gleichnur zwei Möglichkeiten sie könnten hier die Nummer des Zeichens nehmenzwei D hexadezimalsie könnten hier mitnull X zwei D vergleichenwäre eine Möglichkeitmüsse kein Mensch was Rolex zwei DS auswendigund andere Möglichkeit ist das sie den Compiler einfach sagen ?? war die Nummer für das ??Bindestrich Minus offiziell ist es eine ?? Bindestrich ?? Komma die Nummer für den Bindestrich?? in der Form so wenn's ein Bindestrich istwahrscheinlichgar nichtrichtig der Vergleich sollte also sein ist es kein ?? Bindestrichwenn es kein Bindestrich istbesser wäre sogar noch zu prüfen ob es der Ziffer ist wenn ich jemandin irgendein Scherzbold hierin die ISBNeherZeichen reingeschrieben hatte da gar nicht reingehörenSWR noch unsinnigeralso statt zu prüfen ob Bindestrich ist für dich lieber prüfen ob Ziffer istwie können Sie das tungenaufeststellen ob es denn ein Zeichen dies wäre eineMöglichkeit das es die gradlinige Gruppen ist es das Zeichen null ?? ich dienicht der Wert null ist es das Zeichen nulloder ist es das Zeichen einsoder ist es und so weiter das dauert Ewigkeitenraffinierter wäre zu sagenliegt die Nummer des Symbolszwischender Nummer des Symbols nullund der Nummer des Symbolsneundu könntest auch sagenlediglich zwischen diesen beidenSymbol Nummerdann sind Sie an der richtigen Stelle in der Tabelle die sind ja alle schön auf frischaufgereihtwieeine Perlschnur die Zifferngute Frage warum mache ich das überhauptdannwennein Zeichen vorkommt das nicht ein Ziffer ist und kein Bindestrich ist dann was sie sofort ?? sollte falsch zurückgeben das kann nicht seininsofernverbogen man das geschickt formuliertwenn ich eine Ziffer habe arbeite ich mit der Ziffer weiterVereinPalisadenelswenn es einenBindestrichistes das auch okaykönnte sogar ?? mitzählt ob es genau vier Bindestriche sind aber man muss reichlich übertreibenwenn es ein Bindestrichistist es auch okayaber wenn es kein Bindestrich istwas mache ich dann was mache ich in diesenEls Fgenau dieses ist damit genau das Return fortich gehe die Zeichen durchwenndas Zeichen sich mir da gerade angucke ein Ziffer Esso geht aber Settings rechnen damitwenn es keine Ziffer ist Elsund auch keinBindestrich istjetzt Els rein wenn es keine Ziffer ist und jetzt guck ich hier aus auch kein Bindestrich ist ein Ziffer kein Bindestrichdann weiß ich das Fragezeichenwennschon Fordsnatürliche oben auf summierensich als Mann richtige Variablebauender ganz billige Trick um jetzt von diesenNummern derZeichenauf Zahlen zu kommen echte Zahlenist folgenderhatte ich glaub ich in den alten Videos vorgeführt?? das sieht schon schmerzhaft ausamdashier ist die Nummer des Zeichens für die Ziffern nullsehen wenn sie die null habenein Linkminus sich selbst gibt es null die eins steht ein zweiter diese Differenz gibt eins und so weiter und so weiter das geht jetzt also tatsächlich Zahlenvon null bis neunvier ab wo die null stehtwenn ich die null Kriegedie Position der nullminusihre Positionkleines Z gleich nulldie eins steht ein zweiter diese Differenz wird eins und so weiter so habe ich es umgerechnethabe richtige Zahlenbisschen spuken hier geradedanndie Summe soll ich mir natürlich merkenerstens einmal ein Zweitsammeldrei und so weiter die Summe soll ich mir irgendwie merkenich sollte zum Schluss prüfenob die Summe durch zehn teilbar es aber hier muss ich jetzt noch dafür sorgen das auf die Summe was drauf addiert wirdein bisschen vorsichtig seineinmal das normale einfacheund einmal muss drauf addiert werden das dreifachePunkt das muss ?? auseinanderkriegendieses Mal eins mal drei soll dafür sorgen dass ich ?? zwei Ziffer nie nebeneinanderstehenverdrehen kann wenn sie das tunhabennicht mehr dasselbe raus wie vorher das ist diesesdeshalb diese Unterscheidung mal eins mal drei Zahlendreherauszuschließenam Mittwoch in irgend eine Bedingung die mir sagt wann ichZahlennackt addieremal einsoder war nicht die Zahlenwar nicht die Zahlmal drei nehmen muss?? das kann ich jetzt nicht aus dem I ablesenkönnen nicht dieses ihn nehmenwegen der unsäglichen Bindestrichedie vor uns mehr das ich muss jetzt mitzählendiese Buchstaben schonerledigt habe ?? sich gar nicht mitzählt ich muss mir nur merkenob ich mich gerade mit als Modifizierung oder mit drei modifizierendas ist was ich mir merken musseinsnehmen so eineWunschvariablebräuchte ich die mir sagt ob ich jetzt dran bin mit mal eins oder mal drei?? in den ersten muss ich mit dieser Seite mit der Nummer null muss ich mal eins nimmt es Gänsefüßchen aufwarsowenn Sie was ich nur mit dieser Variable veranstalten muss dass dass sie wirklich funktionierenja in der Tat sickerten hierwenn der Drew ist hinter diese Summe plus leicht selbst schreiben mal eins dem gleichfallsund hier unten hinter schreiben mal eins nehmen ist gleich tunes geht lustigerweiseauch mit einer einzigen Zeiledie Zeit ist zu überraschend mal eins nehmen ist nichtmal eins nehmengibt es einfach von einmal zum nächsten den Wert ich fange mit Juanbei der ersten Zifferintermaleins das ganzeund danachmal eins nehmen nicht wird Freuds mal ein Semester nach Ford bei der nächsten Ziffer dir findet in der mal dreiund dann macht der vormals das Gegenteil davon wird sich wieder auftrug und so weiterso und dann zum SchlussKomma dass zum Schluss wurde in die for-Schleifemir dasganz zum Schluss drucke ich mir anob was ich hier ausgerechnet habe die Summe durchzehn teilbar istwenn der wenn der Restnicht die Summe durch zehn Teile wenn das nur dann kommt hier warzurückdie Prüfsummewar richtigwenn der Restnachteilendurchziehen nicht null istwird es falsch werden dieser Vergleich gleich gleich mit falsch werdenBeistrich gerade einmal Nummer vor ?? hoffe das sicher wichtig ISBN Nummern eingegeben habe ?? amPoolsind wir jetztdie von mir aus ist gleichmit Testamentes genanntschlechtes Gedächtnis gehasst istdasdestilliertKomma testetees die dennvon meinem dreiD nehme mal die Nummer nullKomma Nummer war mehrvon der Trockenmasse Nummer eins andie sollte noch einen haben uns falsch macheich nehme mal Bdas Buch was oben hattenund nach um eine falsche ISBN Nummer die Chancebesser das erkennt ist janeun zu zehnzehnten Mal statt dreizehn null reinund hoffe das er das dann noch erkennt die Wahrscheinlichkeit spricht dafürdie SIS bin hatte schon getestet war trugdie nächste testenauch Thron des Test sich die dich kaputt gemacht habegibt Ford sieht soweit richtig ausdieseist ein guter Wertwenndie Summe Modulo zehn gleich gleich null ist wenn der vergleichbarist kommt hier war Zurückritterntrugwenn dieser Vergleich falsch ist falsch zurückwas da rauskommt dass ich ausreichend Anführungszeichen ist ein guter Wert