Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ISBN Nummer ?

Empfohlene Antworten

Veröffentlicht

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

Original geschrieben von Mr.Kidney

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

kannst du einbiesien mehr dein Problem beschreiben ?!

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.");

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 (B).");

:marine

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.