<?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[char Zeichenkette von Funktion nach main!]]></title><description><![CDATA[<p>Hy.. probier schon einige Zeit rum, komm aber nicht drauf!<br />
Hänge dabei aus meiner Zweiten Funktion (notebester) ein char Array vorname[] nachname[] in die main Funktion zurückzugeben!<br />
Zuvor wird in einer for Schleife noch ein Vergleich bzgl. der besten Note durchgeführt.<br />
Die Ermittlung der besten Note erfolt in meiner ersten Funktion.</p>
<p>Beim übertragen der char symbole kommt aber lediglich immer nur der Fehler error C2440: '=': 'char [30]' kann nicht in 'char' konvertiert werden..</p>
<p>hat i-wer Rat??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; // cin, cout, printf(), scanf(), etc.
#include &lt;conio.h&gt;  // getch(), etc.
#include &lt;math.h&gt;   // Math. Funktionen: sin, cos, etc.

using namespace std;
const int MAX=10;
const int zeichen=30;

struct schuelerundnoten
{
	char vorname[zeichen];
	char nachname[zeichen];
	int noteinfo;
	int mathe;
	int physik;
};

int bestenote(schuelerundnoten[MAX], int);
void besterschueler(schuelerundnoten[MAX], int, char[], char[]);

void main()
{
	char auswahl=0;
	schuelerundnoten arr[MAX]={0};
	int ende=0;
	int durchlauf=0;

	for (int i=0; i&lt;MAX; i++)
	{
		cout &lt;&lt; &quot;Vorname: &quot;;
		cin &gt;&gt; arr[i].vorname;
		cout&lt;&lt;&quot;Nachname: &quot;;
		cin &gt;&gt; arr[i].nachname;
		cout&lt;&lt; &quot;Informatik Note: &quot;;
		cin&gt;&gt; arr[i].noteinfo;
		cout&lt;&lt; &quot;Mathematik Note: &quot;;
		cin&gt;&gt;arr[i].mathe;
		cout&lt;&lt;&quot;Physik Note: &quot;;
		cin&gt;&gt;arr[i].physik;
		cout&lt;&lt;&quot;\n&quot;;

		ende=i;

		cout &lt;&lt; &quot;Weiter? j/n&quot;;
		cin &gt;&gt; auswahl;
		if (auswahl == 'n')
			break;

	}
	for (int a=0; a&lt;=ende; a++)
	{
		cout &lt;&lt; &quot;Schueler &quot;&lt;&lt;arr[a].nachname&lt;&lt; &quot; &quot; &lt;&lt;arr[a].vorname&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; hat in Informatik &quot;&lt;&lt;arr[a].noteinfo&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; in Mathematik &quot;&lt;&lt;arr[a].mathe&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; in Physik &quot;&lt;&lt;arr[a].physik&lt;&lt; &quot;\n\n&quot;;
	}

	cout &lt;&lt; &quot;Die Beste Note in Informatik ist \n&quot;&lt;&lt;bestenote(arr, ende);

	char vorname[MAX]={0};
	char nachname[MAX]={0};
	besterschueler(arr, ende, nachname, vorname);

	cout &lt;&lt; &quot; und wurde erreicht von &quot;&lt;&lt;nachname&lt;&lt; &quot; &quot;&lt;&lt;vorname;

_getch();
}

int bestenote(schuelerundnoten arr[], int ende)
{
	int bester=0;
	int min=arr[0].noteinfo;

	for (int i=0; i&lt;=ende; i++)
	{
		if (arr[i].noteinfo&lt;=min)
		min=arr[i].noteinfo;
	}
	return min;
}
void besterschueler(schuelerundnoten arr[], int ende, char nachname[], char vorname[])
{	
	int g=0;
	int u=0;

	for(int i=0; i&lt;=ende; i++)
	{
		if (arr[i].noteinfo==bestenote(arr, ende))
			nachname[g++]=arr[i].nachname;
			vorname[u++]=arr[i].vorname;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/252238/char-zeichenkette-von-funktion-nach-main</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 20:26:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252238.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Oct 2009 16:19:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 16:19:43 GMT]]></title><description><![CDATA[<p>Hy.. probier schon einige Zeit rum, komm aber nicht drauf!<br />
Hänge dabei aus meiner Zweiten Funktion (notebester) ein char Array vorname[] nachname[] in die main Funktion zurückzugeben!<br />
Zuvor wird in einer for Schleife noch ein Vergleich bzgl. der besten Note durchgeführt.<br />
Die Ermittlung der besten Note erfolt in meiner ersten Funktion.</p>
<p>Beim übertragen der char symbole kommt aber lediglich immer nur der Fehler error C2440: '=': 'char [30]' kann nicht in 'char' konvertiert werden..</p>
<p>hat i-wer Rat??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; // cin, cout, printf(), scanf(), etc.
#include &lt;conio.h&gt;  // getch(), etc.
#include &lt;math.h&gt;   // Math. Funktionen: sin, cos, etc.

using namespace std;
const int MAX=10;
const int zeichen=30;

struct schuelerundnoten
{
	char vorname[zeichen];
	char nachname[zeichen];
	int noteinfo;
	int mathe;
	int physik;
};

int bestenote(schuelerundnoten[MAX], int);
void besterschueler(schuelerundnoten[MAX], int, char[], char[]);

void main()
{
	char auswahl=0;
	schuelerundnoten arr[MAX]={0};
	int ende=0;
	int durchlauf=0;

	for (int i=0; i&lt;MAX; i++)
	{
		cout &lt;&lt; &quot;Vorname: &quot;;
		cin &gt;&gt; arr[i].vorname;
		cout&lt;&lt;&quot;Nachname: &quot;;
		cin &gt;&gt; arr[i].nachname;
		cout&lt;&lt; &quot;Informatik Note: &quot;;
		cin&gt;&gt; arr[i].noteinfo;
		cout&lt;&lt; &quot;Mathematik Note: &quot;;
		cin&gt;&gt;arr[i].mathe;
		cout&lt;&lt;&quot;Physik Note: &quot;;
		cin&gt;&gt;arr[i].physik;
		cout&lt;&lt;&quot;\n&quot;;

		ende=i;

		cout &lt;&lt; &quot;Weiter? j/n&quot;;
		cin &gt;&gt; auswahl;
		if (auswahl == 'n')
			break;

	}
	for (int a=0; a&lt;=ende; a++)
	{
		cout &lt;&lt; &quot;Schueler &quot;&lt;&lt;arr[a].nachname&lt;&lt; &quot; &quot; &lt;&lt;arr[a].vorname&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; hat in Informatik &quot;&lt;&lt;arr[a].noteinfo&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; in Mathematik &quot;&lt;&lt;arr[a].mathe&lt;&lt; &quot;\n&quot;;
		cout &lt;&lt;&quot; in Physik &quot;&lt;&lt;arr[a].physik&lt;&lt; &quot;\n\n&quot;;
	}

	cout &lt;&lt; &quot;Die Beste Note in Informatik ist \n&quot;&lt;&lt;bestenote(arr, ende);

	char vorname[MAX]={0};
	char nachname[MAX]={0};
	besterschueler(arr, ende, nachname, vorname);

	cout &lt;&lt; &quot; und wurde erreicht von &quot;&lt;&lt;nachname&lt;&lt; &quot; &quot;&lt;&lt;vorname;

_getch();
}

int bestenote(schuelerundnoten arr[], int ende)
{
	int bester=0;
	int min=arr[0].noteinfo;

	for (int i=0; i&lt;=ende; i++)
	{
		if (arr[i].noteinfo&lt;=min)
		min=arr[i].noteinfo;
	}
	return min;
}
void besterschueler(schuelerundnoten arr[], int ende, char nachname[], char vorname[])
{	
	int g=0;
	int u=0;

	for(int i=0; i&lt;=ende; i++)
	{
		if (arr[i].noteinfo==bestenote(arr, ende))
			nachname[g++]=arr[i].nachname;
			vorname[u++]=arr[i].vorname;
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1793504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793504</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Fri, 16 Oct 2009 16:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 16:38:05 GMT]]></title><description><![CDATA[<p>naja - da sind nen paar schnitzer drin^^<br />
du kannst aber erst mal sagen, wieso du den char[]-weg gehst - ist dir std::string nicht bekannt oder willst/darfst du es nicht nutzen?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793518</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 16 Oct 2009 16:38:05 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 16:44:37 GMT]]></title><description><![CDATA[<p>String ist mir bekannt - wir sollen das aber mit arrays und chars lösen.<br />
Ist eine Schulaufgabe und der Lehrer besteht drauf!</p>
<p>Habs zwar schon geschaft das zumindest ein zeichen zurückgegen wird, allerdings war dies keines aus dem array, sondern nur eines das ich zum probiern mal eingebaut habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793522</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Fri, 16 Oct 2009 16:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 16:52:37 GMT]]></title><description><![CDATA[<p>besteschueler:</p>
<pre><code class="language-cpp">(...,char (&amp;nachname)[zeichen]), char (&amp;vorname)[zeichen])
{
//...
  strcpy(arr[i].vorname, vorname);
//...
}
</code></pre>
<p>sieht zwar extrem doof aus, aber so würde es gehen...<br />
allerdings reicht hier eigtl auch nen zeiger (bzw. eine referenz auf einen zeiger, weil der zeiger sonst nur in der fkt geändert werden würde, der übergebene Zeiger bleibt aber so, wie er ist):</p>
<pre><code class="language-cpp">(..., const char *&amp;nachname, const char *&amp;vorname)
{
//...
  vorname = arr[i].vorname;
//...
}
</code></pre>
<p>bei der variante wäre darüber hinaus die main-fkt auch noch abzuändern:</p>
<pre><code class="language-cpp">const char* nachname;
const char* vorname;
//fkt-aufruf
</code></pre>
<p>btw: Bei Prototypen muss man zwar die bezeichner nicht mitschreiben, aber es ist ne äußerst doofe idee...</p>
<p>außerdem muss es <code>int main()</code> heißen!<br />
und <code>#include &lt;math.h&gt;</code> ist kein gültiger C++ Header(cmath wäre richtig)! Du brauchst ihn aber nicht einmal...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793527</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 16 Oct 2009 16:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 17:13:46 GMT]]></title><description><![CDATA[<p>danke für deine tipps...!!</p>
<p>habs mal so ungeschrieben.. kommt aber der fehler:<br />
error C2664: 'besterschueler': Konvertierung des Parameters 3 von 'const char *' in 'char (&amp;)[30]' nicht möglich</p>
<p>und zwar in dieser zeile:</p>
<pre><code class="language-cpp">besterschueler(arr, ende, nNachname, nVorname);
</code></pre>
<p>bzgl. zeiger:<br />
diese kapitel haben wir noch gar nicht durchgemacht, sagt mir also nichts<br />
bzgl. header:<br />
das is ein template was wir von unserem prof. bekommen haben</p>
<p>wo soll ich</p>
<pre><code class="language-cpp">strcpy(arr[i].vorname, vorname);
</code></pre>
<p>einbauen?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793531</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Fri, 16 Oct 2009 17:13:46 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 17:24:56 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<p>danke für deine tipps...!!</p>
</blockquote>
<p>np^^</p>
<blockquote>
<p>habs mal so ungeschrieben.. kommt aber der fehler:<br />
error C2664: 'besterschueler': Konvertierung des Parameters 3 von 'const char *' in 'char (&amp;)[30]' nicht möglich</p>
</blockquote>
<p>zeig doch mal paar zeilen quelltext - wie hast du es denn jz? (aufruf + variablen-deklaration + funktion)</p>
<blockquote>
<p>und zwar in dieser zeile:</p>
<pre><code class="language-cpp">besterschueler(arr, ende, nNachname, nVorname);
</code></pre>
</blockquote>
<p>das ist wie gesagt ein bisschen wenig code...</p>
<blockquote>
<p>bzgl. zeiger:<br />
diese kapitel haben wir noch gar nicht durchgemacht, sagt mir also nichts<br />
bzgl. header:<br />
das is ein template was wir von unserem prof. bekommen haben</p>
</blockquote>
<p>dann fass vorname und nachname in nem struct zusammen und gib das zurück!?</p>
<blockquote>
<p>wo soll ich</p>
<pre><code class="language-cpp">strcpy(arr[i].vorname, vorname);
</code></pre>
<p>einbauen?</p>
</blockquote>
<p>eigtl in der fkt...<br />
aber wenn du noch keine zeiger hattest, dann versuch mal nen struct TName oder so anzulegen, wo vor- und nachname drin sind und was deine fkt dann einfach zurückgeben kann - weist du, wie ich das meine?!</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793533</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 16 Oct 2009 17:24:56 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 17:36:48 GMT]]></title><description><![CDATA[<p>das mit dem abspeichern in der struktur usw. klingt gut, so sollten wir das auch machen...<br />
wär super wenn wir diesen weg weiter verfolgen könnten.. das versteh ich dann auch eher</p>
<p>hmm...vielleicht so?</p>
<pre><code class="language-cpp">struct tname
{
	char vorname[zeichen];
	char nachname[zeichen];
};
</code></pre>
<p>nur wie baue ich das in die funktion ein, dass sie mir dann vorname und nachname auspuckt wenn arr[i].noteinfo==bestenote ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793538</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Fri, 16 Oct 2009 17:36:48 GMT</pubDate></item><item><title><![CDATA[Reply to char Zeichenkette von Funktion nach main! on Fri, 16 Oct 2009 17:54:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">const int max_strlen = 100;

struct name
{
  char vorname[max_strlen];
  char nachname[max_strlen];
};

struct schuelerundnoten 
{ 
    name schueler; 
    int info; 
    int mathe; 
    int physik; 
};

const name* beispiel_fkt(schuelerundnoten lhs, schuelerundnoten rhs)
{
  if(lhs.info &lt; rhs.info)
  {
    return &amp;lhs.schueler;
  }
}
</code></pre>
<p>das ist allerdings alles ein wenig suboptimal, besser wäre nen kopier-konstruktur bereitzustellen und ne kopie zurückzugeben - aber wenn du nicht sagst, was du in etwa schon kannst, kann ich dir auch nicht sagen, wie du es am besten angehen könntestn...<br />
das oben sollte allerdings erst mal als bsp. reichen, um zu verstehen, wie es gehen könnte...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1793543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1793543</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 16 Oct 2009 17:54:52 GMT</pubDate></item></channel></rss>