<?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[problem beim programmieren in c++ mit struct und anderem]]></title><description><![CDATA[<p>Tag zusammen,</p>
<p>Ich hoffe ich bin hier richtig. Muss ein Programm in c++ mit visualstudio schreiben, aber der compiler scheint mich zu hassen, soll heißen ich kriegs nicht gebacken.<br />
Ich hab schon mal ein stümperhaftes Programm angefangen, das eigentlich hauptsächlich aus unterprogrammen besteht.<br />
Es soll im Idealfall mal folgendes können:<br />
Daten in eine Struktur einlesen (max 12 strukturen)<br />
die daten in ner datei speichern<br />
die daten aus der datei wieder hochladen<br />
ein bestimmtes element suchen und anzeigen<br />
und die daten (strukturen) sortieren nach dem ersten element alphabetisch</p>
<p>Habe meine sehr dürftigen kenntnisse bereits ausgereizt, und steck jetzt irgendwie fest.<br />
hab schon so ziemlich alles was annähernd brauchbar aussah versucht (vor allem aus dem internet, teils wohl auch hier), aber das ding tut nicht das was ich will.<br />
Vielleicht ist das ja nur n Anfängerfehler und in n paar minuten erledigt, wer weiß.<br />
wäre froh wenn mir jemand n kleinen tipp geben könnte. Und seid bitte nicht so fies zu mir, ich weiß dass ichs nicht kann, sonst müsst ich euch nicht um hilfe bitten:)<br />
Primärproblem: Er liest die Daten nicht in die Struktur. Wem sonst noch was aufffällt, nur immer raus damit, bin für jede hilfe dankbar, da ich schon fast verzweifet bin.<br />
Hier mal der Quellcode:</p>
<pre><code class="language-cpp">#include &quot;stdio.h&quot;
#include &quot;goto_clrscr.h&quot;
#include &lt;iostream.h&gt; 
#include &lt;vector&gt; 
#include &lt;algorithm&gt; 
#include &lt;list&gt; 
#include &lt;stdlib.h&gt;

#define N 12
#define NULL 0
#define BOOL int

FILE *fpt;
int i=0;

//Struktur definieren
typedef struct {
					char *name;
					unsigned long matrikelnummer;
					char fachrichtung;
					float note;
					} datensatz;
datensatz student[12];
datensatz *studentptr = 0;

datensatz *new_elem (char * ,unsigned long *, char * , float) ;

//Unterfunktionen deklarieren
int Datensatz_anlegen(void);
int Daten_suchen (void);
int Daten_sortieren (void);
int Daten_speichern (void);
int Daten_laden (void);

int main(void)
{

int auswahl1;

// 
printf(&quot;\n\t*** Willkommen zum Programm ***&quot;);

	Anfang:;

//Auswahlmenü
	printf(&quot;\n\n\nWas moechten Sie tun?\n\n\n1.Datensatz anlegen\n2.Datensatz suchen\n3.Daten speichern\n4.Daten laden\n5.Daten alphabetisch ordnen\n6.Beenden\n\nAuswahl durch Eingabe der Nummer und bestaetigen mit Eingabe-Taste\n\n\nIhre Auswahl:\t&quot;);

		//Leeren des Tastaturpuffers//
		fflush (stdin);

			//Einlesen der Auswahl//
		scanf (&quot;%d&quot;,&amp;auswahl1);

			//Überprüfen welche Funktion gewählt wurde//
	switch (auswahl1)
	{
		//Fall 1: Datensatz anlegen//
		case 1:

			//Bildschirm leeren//
			{clrscr();

			//Unterfunktionaufruf
			Datensatz_anlegen();
			}

			break;

			//Fall 2:Datensatz suchen//
		case 2:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_suchen();
			}

			break;

			//Fall 3: Daten in Datei speichern
		case 3:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_speichern();
			}

			break;

			//Fall 4: Daten aus Datei laden
		case 4:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_laden();
			}

			break;

			//Fall 5: Sortieren//
		case 5:
			{clrscr();

			//Unterfunktionaufruf
			Daten_sortieren();

			}

			break;

			//Fall 6: Programm beenden//
		case 6:
			{clrscr();

			//Ausgabe der Verabschiedung
			printf(&quot;\nUnd Tschuess\n\n&quot;);

			//Sprung zum Ende des Programms
			goto Ende;
			}

	}	

	clrscr ();

	// Sprung zum Anfang des Programms
	goto Anfang;

	//Sprungmarke goto Funktion
Ende:;

return 0;
}

//---------------------------------------------------------

		//Erstes Unterprogramm: Datensatz anlegen//

		int Datensatz_anlegen (void)
		{

		unsigned long matr=0;

		datensatz *studentptr = (datensatz *) malloc (sizeof (datensatz)) ;

		 if (studentptr == NULL)
			{
			printf (&quot;Fehler beim Allokieren von Speicherplatz&quot;) ;
			system(&quot;pause&quot;);
			return 1 ;
			}

			datensatz *speichern(datensatz tabelle[], unsigned long matrikelnummer);

			datensatz student[12];

			student[i].matrikelnummer = matr;

			printf(&quot;Geben Sie die Daten ein\n\nName:\t&quot;);

			scanf(&quot;%s&quot;,&amp;(student[i].name));

			printf(&quot;\nMatrikelnummer:\t&quot;);
			do	{
				scanf(&quot;%ul&quot;,&amp;(student)-&gt;matrikelnummer);
				}while(getchar()!='\n' );

			scanf(&quot;%ul&quot;,&amp;matr);

			printf(&quot;\nFachrichtung:\t&quot;);

			scanf(&quot;%s&quot;,&amp;(student[i].fachrichtung));

			printf(&quot;\nNote:\t&quot;);

			scanf(&quot;%f&quot;,&amp;(student[i].note),i++);

			system (&quot;pause&quot;);

			return 0;

			}

//----------------------------------------------------------------------------	

// Zweites Unterprogramm: Suchen von Einträgen//
	int Daten_suchen (void)
	{
	datensatz student[N];

	long matrikelnummer;
	datensatz *pt;

	datensatz *suchen(datensatz tabelle[], long matrikelnummer);

	printf(&quot;Sie moechten einen Eintrag suchen?\n\n&quot;);

	//Einsprungspunkt für goto Funktion//
	Anfang:;

	//Eingabeaufforderung//
	printf(&quot;Geben Sie die zu suchende Matrikelnummer ein, \n0 um ins Hauptmenue zurueckzukehren\n\nIhre Suche:\t&quot;);

	///Einlesen der Eingabe//
	scanf(&quot;%ld&quot;, &amp;matrikelnummer);

	//While-Schleife wenn eine richtige Matrikelnummer eingegeben wurde//
	while(matrikelnummer !=0) 
			{

			pt = suchen(student, matrikelnummer);

			//If-Schleife ob Eintrag vorhanden oder nicht//
			if(pt != NULL) {
							printf(&quot;\nName: %s\n&quot;, pt-&gt;name);
							printf(&quot;\nMatrikel-Nummer: %d\n&quot;, pt-&gt;matrikelnummer);
							printf(&quot;\nFachbereich: %c\n&quot;, pt-&gt;fachrichtung);
							printf(&quot;\nNote: %f\n&quot;, pt-&gt;note);
							}
			else
			printf(&quot;\nEintrag nicht vorhanden, Sie koennen zurueck ins Hauptmenue navigieren \nund den Eintrag erstellen\n\n&quot;);
			system (&quot;pause&quot;);
			clrscr();
			goto Anfang;

			}

	return 0;
	} 

datensatz *suchen(datensatz tabelle[N], long matrikelnummer) 
	{

	int count;

	for(count=0; count&lt;N; ++count) 
		{

		if(tabelle[count].matrikelnummer == matrikelnummer)
		return (&amp;tabelle[count]);
		}
	return (NULL);

	}

//------------------------------------------------------------------

//3.Unterfunktion: Daten in Datei schreiben//
int Daten_speichern (void)
{
	//Datei öffnen
	if ((fpt = fopen(&quot;daten.txt&quot;, &quot;wb&quot;)) == NULL)

		printf(&quot;Fehler&quot;);
		else

		//Daten in Datei schreiben
		fwrite(&amp;student, sizeof(datensatz), 12, fpt);
		student;
		fclose(fpt);
		clrscr();
		printf(&quot;Daten wurden gespeichert\n\n&quot;);
		system (&quot;pause&quot;);
		return 0;
}

//-------------------------------------------------------------------

//4.Unterfunktion: Daten aus Datei laden//

int Daten_laden (void)
{
	//Datei öffnen
	if ((fpt = fopen(&quot;daten.txt&quot;, &quot;wb&quot;)) == NULL)

		printf(&quot;Fehler&quot;);
		else

		//Daten aus Datei lesen
		fread(&amp;student, sizeof(datensatz), 12, fpt);
		student;
		fclose(fpt);
		clrscr();
		printf(&quot;Datei wurde geoeffnet und Daten stehen nun zur Verfuegung\n\n&quot;);
		system (&quot;pause&quot;);

		return 0;
}

//-------------------------------------------------

//5. Unterfunktion: Einträge sortieren//

using namespace std;

		int Daten_sortieren (void)
		{

		printf(&quot;Moechten Sie die Daten jetzt sortieren?\n\nBestaetigen Sie mit Eingabe um die Sortierung zu starten\n\n&quot;);

		system (&quot;pause&quot;);

return 0;
		}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> macht mich nicht zu sehr runter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
:xmas2:<br />
Teile sind manche überflüssig, hab mich aber nicht getraut die zu löschen, könnte sie ja mal noch brauchen.<br />
Ich hoffe jemand kann mir n paar tipps geben, falls nicht auch ok, schonmal Vielen Dank im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200204/problem-beim-programmieren-in-c-mit-struct-und-anderem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Apr 2026 05:47:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200204.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Dec 2007 20:32:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 07:12:46 GMT]]></title><description><![CDATA[<p>Tag zusammen,</p>
<p>Ich hoffe ich bin hier richtig. Muss ein Programm in c++ mit visualstudio schreiben, aber der compiler scheint mich zu hassen, soll heißen ich kriegs nicht gebacken.<br />
Ich hab schon mal ein stümperhaftes Programm angefangen, das eigentlich hauptsächlich aus unterprogrammen besteht.<br />
Es soll im Idealfall mal folgendes können:<br />
Daten in eine Struktur einlesen (max 12 strukturen)<br />
die daten in ner datei speichern<br />
die daten aus der datei wieder hochladen<br />
ein bestimmtes element suchen und anzeigen<br />
und die daten (strukturen) sortieren nach dem ersten element alphabetisch</p>
<p>Habe meine sehr dürftigen kenntnisse bereits ausgereizt, und steck jetzt irgendwie fest.<br />
hab schon so ziemlich alles was annähernd brauchbar aussah versucht (vor allem aus dem internet, teils wohl auch hier), aber das ding tut nicht das was ich will.<br />
Vielleicht ist das ja nur n Anfängerfehler und in n paar minuten erledigt, wer weiß.<br />
wäre froh wenn mir jemand n kleinen tipp geben könnte. Und seid bitte nicht so fies zu mir, ich weiß dass ichs nicht kann, sonst müsst ich euch nicht um hilfe bitten:)<br />
Primärproblem: Er liest die Daten nicht in die Struktur. Wem sonst noch was aufffällt, nur immer raus damit, bin für jede hilfe dankbar, da ich schon fast verzweifet bin.<br />
Hier mal der Quellcode:</p>
<pre><code class="language-cpp">#include &quot;stdio.h&quot;
#include &quot;goto_clrscr.h&quot;
#include &lt;iostream.h&gt; 
#include &lt;vector&gt; 
#include &lt;algorithm&gt; 
#include &lt;list&gt; 
#include &lt;stdlib.h&gt;

#define N 12
#define NULL 0
#define BOOL int

FILE *fpt;
int i=0;

//Struktur definieren
typedef struct {
					char *name;
					unsigned long matrikelnummer;
					char fachrichtung;
					float note;
					} datensatz;
datensatz student[12];
datensatz *studentptr = 0;

datensatz *new_elem (char * ,unsigned long *, char * , float) ;

//Unterfunktionen deklarieren
int Datensatz_anlegen(void);
int Daten_suchen (void);
int Daten_sortieren (void);
int Daten_speichern (void);
int Daten_laden (void);

int main(void)
{

int auswahl1;

// 
printf(&quot;\n\t*** Willkommen zum Programm ***&quot;);

	Anfang:;

//Auswahlmenü
	printf(&quot;\n\n\nWas moechten Sie tun?\n\n\n1.Datensatz anlegen\n2.Datensatz suchen\n3.Daten speichern\n4.Daten laden\n5.Daten alphabetisch ordnen\n6.Beenden\n\nAuswahl durch Eingabe der Nummer und bestaetigen mit Eingabe-Taste\n\n\nIhre Auswahl:\t&quot;);

		//Leeren des Tastaturpuffers//
		fflush (stdin);

			//Einlesen der Auswahl//
		scanf (&quot;%d&quot;,&amp;auswahl1);

			//Überprüfen welche Funktion gewählt wurde//
	switch (auswahl1)
	{
		//Fall 1: Datensatz anlegen//
		case 1:

			//Bildschirm leeren//
			{clrscr();

			//Unterfunktionaufruf
			Datensatz_anlegen();
			}

			break;

			//Fall 2:Datensatz suchen//
		case 2:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_suchen();
			}

			break;

			//Fall 3: Daten in Datei speichern
		case 3:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_speichern();
			}

			break;

			//Fall 4: Daten aus Datei laden
		case 4:	

			{clrscr();

			//Unterfunktionaufruf
			Daten_laden();
			}

			break;

			//Fall 5: Sortieren//
		case 5:
			{clrscr();

			//Unterfunktionaufruf
			Daten_sortieren();

			}

			break;

			//Fall 6: Programm beenden//
		case 6:
			{clrscr();

			//Ausgabe der Verabschiedung
			printf(&quot;\nUnd Tschuess\n\n&quot;);

			//Sprung zum Ende des Programms
			goto Ende;
			}

	}	

	clrscr ();

	// Sprung zum Anfang des Programms
	goto Anfang;

	//Sprungmarke goto Funktion
Ende:;

return 0;
}

//---------------------------------------------------------

		//Erstes Unterprogramm: Datensatz anlegen//

		int Datensatz_anlegen (void)
		{

		unsigned long matr=0;

		datensatz *studentptr = (datensatz *) malloc (sizeof (datensatz)) ;

		 if (studentptr == NULL)
			{
			printf (&quot;Fehler beim Allokieren von Speicherplatz&quot;) ;
			system(&quot;pause&quot;);
			return 1 ;
			}

			datensatz *speichern(datensatz tabelle[], unsigned long matrikelnummer);

			datensatz student[12];

			student[i].matrikelnummer = matr;

			printf(&quot;Geben Sie die Daten ein\n\nName:\t&quot;);

			scanf(&quot;%s&quot;,&amp;(student[i].name));

			printf(&quot;\nMatrikelnummer:\t&quot;);
			do	{
				scanf(&quot;%ul&quot;,&amp;(student)-&gt;matrikelnummer);
				}while(getchar()!='\n' );

			scanf(&quot;%ul&quot;,&amp;matr);

			printf(&quot;\nFachrichtung:\t&quot;);

			scanf(&quot;%s&quot;,&amp;(student[i].fachrichtung));

			printf(&quot;\nNote:\t&quot;);

			scanf(&quot;%f&quot;,&amp;(student[i].note),i++);

			system (&quot;pause&quot;);

			return 0;

			}

//----------------------------------------------------------------------------	

// Zweites Unterprogramm: Suchen von Einträgen//
	int Daten_suchen (void)
	{
	datensatz student[N];

	long matrikelnummer;
	datensatz *pt;

	datensatz *suchen(datensatz tabelle[], long matrikelnummer);

	printf(&quot;Sie moechten einen Eintrag suchen?\n\n&quot;);

	//Einsprungspunkt für goto Funktion//
	Anfang:;

	//Eingabeaufforderung//
	printf(&quot;Geben Sie die zu suchende Matrikelnummer ein, \n0 um ins Hauptmenue zurueckzukehren\n\nIhre Suche:\t&quot;);

	///Einlesen der Eingabe//
	scanf(&quot;%ld&quot;, &amp;matrikelnummer);

	//While-Schleife wenn eine richtige Matrikelnummer eingegeben wurde//
	while(matrikelnummer !=0) 
			{

			pt = suchen(student, matrikelnummer);

			//If-Schleife ob Eintrag vorhanden oder nicht//
			if(pt != NULL) {
							printf(&quot;\nName: %s\n&quot;, pt-&gt;name);
							printf(&quot;\nMatrikel-Nummer: %d\n&quot;, pt-&gt;matrikelnummer);
							printf(&quot;\nFachbereich: %c\n&quot;, pt-&gt;fachrichtung);
							printf(&quot;\nNote: %f\n&quot;, pt-&gt;note);
							}
			else
			printf(&quot;\nEintrag nicht vorhanden, Sie koennen zurueck ins Hauptmenue navigieren \nund den Eintrag erstellen\n\n&quot;);
			system (&quot;pause&quot;);
			clrscr();
			goto Anfang;

			}

	return 0;
	} 

datensatz *suchen(datensatz tabelle[N], long matrikelnummer) 
	{

	int count;

	for(count=0; count&lt;N; ++count) 
		{

		if(tabelle[count].matrikelnummer == matrikelnummer)
		return (&amp;tabelle[count]);
		}
	return (NULL);

	}

//------------------------------------------------------------------

//3.Unterfunktion: Daten in Datei schreiben//
int Daten_speichern (void)
{
	//Datei öffnen
	if ((fpt = fopen(&quot;daten.txt&quot;, &quot;wb&quot;)) == NULL)

		printf(&quot;Fehler&quot;);
		else

		//Daten in Datei schreiben
		fwrite(&amp;student, sizeof(datensatz), 12, fpt);
		student;
		fclose(fpt);
		clrscr();
		printf(&quot;Daten wurden gespeichert\n\n&quot;);
		system (&quot;pause&quot;);
		return 0;
}

//-------------------------------------------------------------------

//4.Unterfunktion: Daten aus Datei laden//

int Daten_laden (void)
{
	//Datei öffnen
	if ((fpt = fopen(&quot;daten.txt&quot;, &quot;wb&quot;)) == NULL)

		printf(&quot;Fehler&quot;);
		else

		//Daten aus Datei lesen
		fread(&amp;student, sizeof(datensatz), 12, fpt);
		student;
		fclose(fpt);
		clrscr();
		printf(&quot;Datei wurde geoeffnet und Daten stehen nun zur Verfuegung\n\n&quot;);
		system (&quot;pause&quot;);

		return 0;
}

//-------------------------------------------------

//5. Unterfunktion: Einträge sortieren//

using namespace std;

		int Daten_sortieren (void)
		{

		printf(&quot;Moechten Sie die Daten jetzt sortieren?\n\nBestaetigen Sie mit Eingabe um die Sortierung zu starten\n\n&quot;);

		system (&quot;pause&quot;);

return 0;
		}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> macht mich nicht zu sehr runter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
:xmas2:<br />
Teile sind manche überflüssig, hab mich aber nicht getraut die zu löschen, könnte sie ja mal noch brauchen.<br />
Ich hoffe jemand kann mir n paar tipps geben, falls nicht auch ok, schonmal Vielen Dank im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419038</guid><dc:creator><![CDATA[c_fan??]]></dc:creator><pubDate>Wed, 12 Dec 2007 07:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 07:20:18 GMT]]></title><description><![CDATA[<p>Du hast einmal die globalen Variablen student und studentptr, die normalerweise für alle Funktionen sichtbar sind - und auf der anderen Seite in jeder Funktion lokale Variablen mit den selben Namen. Letztere (a) verdecken die globalen Variablen und (b) werden am Ende der jeweiligen Funktion wieder aufgeräumt.</p>
<p>Außerdem solltest du dich mal entscheiden, ob du mit einem Array fester Länge arbeiten willst oder mit einem dynamischen Array (in letzterem Fall ist ein std::vector&lt;&gt; einfacher zu handhaben als ein nackter Pointer).</p>
<p>PS: &lt;iostream.h&gt; ist Prä-Ansi (korrekt ist &lt;iostream&gt;) und &lt;stdlib.h&gt; ist aus C geerbt (besser ist &lt;cstdlib&gt;) - und anstelle von printf()/scanf() solltest du lieber die IO-Streams verwenden.</p>
<p>PPS: Nur für die Zukunft - sfds <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419145</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 12 Dec 2007 07:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 11:25:12 GMT]]></title><description><![CDATA[<p>danke für die bisherigen antworten von dir und entschuldigt bitte das mit dem stupiden reinkopieren in das forum, kommt nicht mehr vor.<br />
das einlesen der daten scheint nun zu funktioniere.<br />
Das mit dem scanf und printf ist so ne sache, leider ist mir das so vorgeschrieben worden, cin und cout darf ich nicht nehmen.<br />
Hab das Prgramm entsprechend deinen anregungen geändert, wie erwartet hab ich jetzt natürlich neue probleme.<br />
daten einlesen klappt nun, schreiben auch.<br />
Aber suchen kann ich nichts (Programm bleibt bei ner vorhandenen nummer hängen)<br />
Außerdem wenn ich die Datei öffne also die daten mit dem programm lade, wird der inhalt gelöscht.<br />
Ich hoffe da sind es auch nur so kleinigkeiten, danke schonmal für eure bemühungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419250</guid><dc:creator><![CDATA[kein_c_fan]]></dc:creator><pubDate>Wed, 12 Dec 2007 11:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 12:17:46 GMT]]></title><description><![CDATA[<p>kein_c_fan schrieb:</p>
<blockquote>
<p>Das mit dem scanf und printf ist so ne sache, leider ist mir das so vorgeschrieben worden, cin und cout darf ich nicht nehmen.</p>
</blockquote>
<p>warum nicht? soll das c oder c++ werden? kennst du den unterschied? kennt der aufgabensteller den unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419291</guid><dc:creator><![CDATA[der mob]]></dc:creator><pubDate>Wed, 12 Dec 2007 12:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 12:29:55 GMT]]></title><description><![CDATA[<p>kein_c_fan schrieb:</p>
<blockquote>
<p>Das mit dem scanf und printf ist so ne sache, leider ist mir das so vorgeschrieben worden, cin und cout darf ich nicht nehmen.</p>
</blockquote>
<p>Wer verbietet dir das?</p>
<blockquote>
<p>Aber suchen kann ich nichts (Programm bleibt bei ner vorhandenen nummer hängen)</p>
</blockquote>
<p>Dann zeig mal die Suchfunktion - und wie du sie aufrufst (btw, ich würde noch die Größe des Datenfeldes mitgeben).</p>
<blockquote>
<p>Außerdem wenn ich die Datei öffne also die daten mit dem programm lade, wird der inhalt gelöscht.</p>
</blockquote>
<p>Vielleicht solltest du die Datei auch im Lese-Modus öffnen - &quot;wb&quot; öffnet zum Schreiben und zerstört den alten Dateiinhalt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419302</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 12 Dec 2007 12:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Wed, 12 Dec 2007 17:46:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int Daten_suchen (void)
	{
	datensatz student[N];

	long matrikelnummer;
	datensatz *pt;

	datensatz *suchen(datensatz tabelle[], long matrikelnummer);

	printf(&quot;Sie moechten einen Eintrag suchen?\n\n&quot;);

	//Einsprungspunkt für goto Funktion//
	Anfang:;

	//Eingabeaufforderung//
	printf(&quot;Geben Sie die zu suchende Matrikelnummer ein, \n0 um ins Hauptmenue zurueckzukehren\n\nIhre Suche:\t&quot;);

	///Einlesen der Eingabe//
	scanf(&quot;%ld&quot;, &amp;matrikelnummer);

	//While-Schleife wenn eine richtige Matrikelnummer eingegeben wurde//
	while(matrikelnummer !=0) 
			{

			pt = suchen(student, matrikelnummer);

			//If-Schleife ob Eintrag vorhanden oder nicht//
			if(pt != NULL) {
							printf(&quot;\nName: %s\n&quot;, pt-&gt;name);
							printf(&quot;\nMatrikel-Nummer: %d\n&quot;, pt-&gt;matrikelnummer);
							printf(&quot;\nFachbereich: %c\n&quot;, pt-&gt;fachrichtung);
							printf(&quot;\nNote: %f\n&quot;, pt-&gt;note);
							}
			else
			printf(&quot;\nEintrag nicht vorhanden, Sie koennen zurueck ins Hauptmenue navigieren \nund den Eintrag erstellen\n\n&quot;);
			system (&quot;pause&quot;);
			clrscr();
			goto Anfang;

			}

	return 0;
	} 

datensatz *suchen(datensatz tabelle[N], long matrikelnummer) 
	{

	int count;

	for(count=0; count&lt;N; ++count) 
		{

		if(tabelle[count].matrikelnummer == matrikelnummer)
		return (&amp;tabelle[count]);
		}
	return (NULL);

	}
</code></pre>
<p>hier die suchfunktion.<br />
wie öffne ich denn die datei lesend so dass ich trotzdem was speichern kann?<br />
keine ahnung ob c oder c++ , ich weiß nur cin und cout ist nicht erlaubt.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419532</guid><dc:creator><![CDATA[cfan??]]></dc:creator><pubDate>Wed, 12 Dec 2007 17:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Thu, 13 Dec 2007 07:00:42 GMT]]></title><description><![CDATA[<p>Erstmal arbeitest du schon wieder/immer noch mit einem lokalen Array.</p>
<p>Zweitens: goto solltest du besser vermeiden - nimm stattdessen eine vernünftige Schleifenkonstruktion:</p>
<pre><code class="language-cpp">do
{
  printf(&quot;gesuchte Matrikelnummer:\n&quot;);
  scanf(&quot;%d&quot;,&amp;matnr);

  if(matnr!=0)
  {
    pt = suchen(student,matnr);
    ...
  }
}
while(matnr!=0);
</code></pre>
<p>Drittens: Es gibt weder eine &quot;goto-Funktion&quot; (goto ist eine Anweisung) noch eine &quot;<a href="http://www.if-schleife.de/" rel="nofollow">if-Schleife</a>&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419747</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 13 Dec 2007 07:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Thu, 13 Dec 2007 10:55:55 GMT]]></title><description><![CDATA[<p>cfan?? schrieb:</p>
<blockquote>
<p>keine ahnung ob c oder c++ , ich weiß nur cin und cout ist nicht erlaubt.</p>
</blockquote>
<p>ich weiß nicht ob man dir vernünftig helfen kann, wenn du nicht mal weißt in welcher sprache du programmierst bzw. programmieren sollst. vielleicht solltest du das erst mal klären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419853</guid><dc:creator><![CDATA[der mob]]></dc:creator><pubDate>Thu, 13 Dec 2007 10:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim programmieren in c++ mit struct und anderem on Thu, 13 Dec 2007 14:31:39 GMT]]></title><description><![CDATA[<p>also folgendes: programmiert wird in c, jedoch mit dem MS Visual Studio 6.8 c++<br />
warum kann ich euch aber auch nicht sagen. die programmfragmente die ich mir aus deminternet zusammengehamstert habe stammen glaube ich aber größtenteils aus c++ übungen, beispielen, etc..<br />
wo der unterschied zwischen c und c++ liegt hab ich eh keine ahnung, ich weiß nur dass c älter ist und wohl n bisschen weniger befehle kennt, d.h. komplizierter, näheres ist mir aber nicht bekannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419980</guid><dc:creator><![CDATA[kein_c_fan]]></dc:creator><pubDate>Thu, 13 Dec 2007 14:31:39 GMT</pubDate></item></channel></rss>