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