Zum Inhalt springen

Mr.Kidney

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Mr.Kidney

  1. Mr.Kidney

    ISBN Nummer ?

    Danke Euch. Ich habs rausgefunden: int main() { int a,b,c,d,e,f,g,h,i,j,y,z; char knrc; int knri; cin>>a>>b>>c>>d>>e>>f>>g>>h>>i; cin>>knrc; a*=10; b*=9; c*=8; d*=7; e*=6; f*=5; g*=4; h*=3; i*=2; z=a+b+c+d+e+f+g+h+i; j=z; for (;j%11!=0 ; ) { j=++j; } y=j-z; printf("\nSumme ist: %3d ",z); printf("\nDie durch 11 teilbare Zahl ist: %3d ",j); printf("\nErrechnete Kontrollnummer ist: %3d ",y); printf("\nEingegebene Kontrollnummer ist: %c \n",knrc); if ((knrc == 'X') || (knrc == 'x')) knri = 10; else knri = knrc-48; if(y == knri) printf("\n\nISBN ist korrekt (a)."); else printf("\n\nISBN ist nicht korrekt (."); :marine
  2. Mr.Kidney

    ISBN Nummer ?

    Das Problem besteht darin, dass die letzte Stelle auch ein "X" sein kann. Wenn ich das "X" als "char-Variable" deklariere, rechnet er nicht mehr, sondern zeigt Fehler, dass ich "char" nicht mit "int" verbinden kann. Wie bekomme ich das Programm dazu, dass er das "X" in die Zahl "10" umwandelt? Mein Programm sieht inzwischen so aus: int a,b,c,d,e,f,g,h,i,j,y,z; int knr; cin>>a>>b>>c>>d>>e>>f>>g>>h>>i; cin>>knr; //knr ist das letzte Zeichen a*=10;b*=9;c*=8;d*=7;e*=6;f*=5;g*=4;h*=3;i*=2; z=a+b+c+d+e+f+g+h+i; j=z; for (;j%11!=0;) { j=++j; } y=j-z; printf("\nSumme ist: %3d ",z); printf("\nDie durch 11 teilbare Zahl ist: %3d ",j); printf("\nKontrollnummer ist: %3d ",y); if (knr==y) printf("\n\nISBN ist korrekt."); else printf("\n\nISBN ist nicht korrekt.");
  3. Der vierte Teil der ISBN ist immer einstellig und überprüft die Richtigkeit der anderen Nummern. Weiß jemand zufällig, wie man das angehen könnte? Mein Ansatz: cin>>isbn[1]>>isbn[2]>>isbn[3]>>isbn[4]>>isbn[5]; cin>>isbn[6]>>isbn[7]>>isbn[8]>>isbn[9]>>isbn[10]; a=isbn[1]*10; b=isbn[2]*9; c=isbn[3]*8; d=isbn[4]*7; e=isbn[5]*6; f=isbn[6]*5; g=isbn[7]*4; h=isbn[8]*3; i=isbn[9]*2; j /*Die Summe wird auf nächsthöhere durch 11 teilbare Zahl ergänzt und die Differenz der beiden Zahlen ist die Prüfziffer.*/ z=a+b+c+d+e+f+g+h+i; if (j== "?") { printf("ISBN ist korrekt.");} else { printf("ISBN ist nicht korrekt.");}:confused: Danke...

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