<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Berechnung einer ISBN Nummer (substr?!?)]]></title><description><![CDATA[<p>Hallo Gemeinde.<br />
Ich muss ein Programm zur Berechnung einer ISBN Nummer schreiben. In PHP ist das kein Problem, das sind 5 Minuten. Ich bin aber in C++ nicht so fit.<br />
Ich weiß wie ich es machen muss, aber mir fehlen Befehle und die Erfahrung.</p>
<p><strong>Zur Aufgabe:</strong><br />
Es soll eine ISBN überprüft werden ob diese existiert. Dies soll mit 2 Funktionen geschehen. Die Funktion gew_quersumme() berechnet die Quersumme der der Einzelnen Stelle und wichtet diese von 1 bis 9.<br />
Die 2. Funktion schaut ob die letzte Stelle der ISBN Nummer ein X ist und addiert diese zur Quersumme der ersten Funktion. Dann wird dieser Wert mit Modulo 11 berechnet, wenn 0 raus kommt stimmt die Nummer.</p>
<p>Das Problem ist, dass ich mit der Funktion substr() bei C++ nicht zurecht komme. Das Programm soll auch mit den beiden Funktionen geschrieben werden und auch nicht OOP.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int gew_quersumme(int zahl[]){
    int i,tmp[0];
	for(i=0 ; i &lt;= 8 ; i++){
		tmp[0] = tmp[0] + ( zahl[i] * ( i + 1) );
	}
	return tmp[0];
}
bool test_isbn(int zahl[], char letzte){

    int tmp[0],ergebnis;
    tmp[0] = gew_quersumme(zahl);

	if(letzte == 'x' || letzte == 'X'){
		letzte = '10';
	}
	tmp[0] = tmp[0] + ( letzte * 10 );
	ergebnis = tmp[0] % 11;

	if(ergebnis == '0'){
		return true;
	}else{
		return false;
	}
}
int main(){
    char isbn;

    cout &lt;&lt; &quot;ISBN Nummer: &quot;;
    cin &gt;&gt; isbn;

}
</code></pre>
<p>Ich bräuchte erstmal zum Verständnis einen Teilstring von &quot;isbn&quot;. &quot;isbn&quot; ist 10 Zeichen lang. Ich brauche einen String der bei 0 beginnt und 9 Zeichen lang ist und einen zweiten String, der das letzte Zeichen enthält.<br />
Ich hab auch das Problem das immer die Fehlermeldung &quot;invalid conversion from char to char&quot; kam. Deswegen hab ich so viel mit Arrays gemacht.</p>
<p>Hier der Link de Aufgabenstellung: <a href="http://www.tu-chemnitz.de/informatik/friz/Grundl-Inf/Beleg/texte/beleg206.html" rel="nofollow">http://www.tu-chemnitz.de/informatik/friz/Grundl-Inf/Beleg/texte/beleg206.html</a></p>
<p>Ich danke euch schon mal.</p>
<p>Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/171209/berechnung-einer-isbn-nummer-substr</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 08:12:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/171209.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Jan 2007 14:15:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Berechnung einer ISBN Nummer (substr?!?) on Tue, 23 Jan 2007 14:35:54 GMT]]></title><description><![CDATA[<p>Hallo Gemeinde.<br />
Ich muss ein Programm zur Berechnung einer ISBN Nummer schreiben. In PHP ist das kein Problem, das sind 5 Minuten. Ich bin aber in C++ nicht so fit.<br />
Ich weiß wie ich es machen muss, aber mir fehlen Befehle und die Erfahrung.</p>
<p><strong>Zur Aufgabe:</strong><br />
Es soll eine ISBN überprüft werden ob diese existiert. Dies soll mit 2 Funktionen geschehen. Die Funktion gew_quersumme() berechnet die Quersumme der der Einzelnen Stelle und wichtet diese von 1 bis 9.<br />
Die 2. Funktion schaut ob die letzte Stelle der ISBN Nummer ein X ist und addiert diese zur Quersumme der ersten Funktion. Dann wird dieser Wert mit Modulo 11 berechnet, wenn 0 raus kommt stimmt die Nummer.</p>
<p>Das Problem ist, dass ich mit der Funktion substr() bei C++ nicht zurecht komme. Das Programm soll auch mit den beiden Funktionen geschrieben werden und auch nicht OOP.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int gew_quersumme(int zahl[]){
    int i,tmp[0];
	for(i=0 ; i &lt;= 8 ; i++){
		tmp[0] = tmp[0] + ( zahl[i] * ( i + 1) );
	}
	return tmp[0];
}
bool test_isbn(int zahl[], char letzte){

    int tmp[0],ergebnis;
    tmp[0] = gew_quersumme(zahl);

	if(letzte == 'x' || letzte == 'X'){
		letzte = '10';
	}
	tmp[0] = tmp[0] + ( letzte * 10 );
	ergebnis = tmp[0] % 11;

	if(ergebnis == '0'){
		return true;
	}else{
		return false;
	}
}
int main(){
    char isbn;

    cout &lt;&lt; &quot;ISBN Nummer: &quot;;
    cin &gt;&gt; isbn;

}
</code></pre>
<p>Ich bräuchte erstmal zum Verständnis einen Teilstring von &quot;isbn&quot;. &quot;isbn&quot; ist 10 Zeichen lang. Ich brauche einen String der bei 0 beginnt und 9 Zeichen lang ist und einen zweiten String, der das letzte Zeichen enthält.<br />
Ich hab auch das Problem das immer die Fehlermeldung &quot;invalid conversion from char to char&quot; kam. Deswegen hab ich so viel mit Arrays gemacht.</p>
<p>Hier der Link de Aufgabenstellung: <a href="http://www.tu-chemnitz.de/informatik/friz/Grundl-Inf/Beleg/texte/beleg206.html" rel="nofollow">http://www.tu-chemnitz.de/informatik/friz/Grundl-Inf/Beleg/texte/beleg206.html</a></p>
<p>Ich danke euch schon mal.</p>
<p>Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1215259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1215259</guid><dc:creator><![CDATA[RideAndDestroy]]></dc:creator><pubDate>Tue, 23 Jan 2007 14:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to Berechnung einer ISBN Nummer (substr?!?) on Tue, 23 Jan 2007 15:20:24 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>hilft <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-169343-and-highlight-is-isbn.html" rel="nofollow">der Thread</a> vielleicht weiter ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1215321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1215321</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 23 Jan 2007 15:20:24 GMT</pubDate></item></channel></rss>