<?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[Wieso löscht sich mein letzer Student (tail) nicht?]]></title><description><![CDATA[<p>Hey ich bin am verzweifeln hat jemand ein tipp für mich?</p>
<p># include&lt;iostream&gt;<br />
#include&lt;string&gt;<br />
#include&lt;fstream&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;sstream&gt;</p>
<p>using namespace std;</p>
<p>int anzahlStudenten = 0;</p>
<p>struct Student<br />
{<br />
string firstname;<br />
string lastname;<br />
char sex;<br />
int matriculation_number = -1;<br />
double final_mark = -1;</p>
<p>Student *prev = NULL;<br />
Student *next = NULL;<br />
int wert;<br />
};</p>
<p>//Student students[maxAnzahlStudenten];</p>
<p>void importStudenten();<br />
void exportStudenten();</p>
<p>Student *head = NULL;<br />
Student *tail = NULL;</p>
<p>void print() {</p>
<p>Student *current = head;</p>
<p>if (head == NULL)<br />
cout &lt;&lt; &quot;Liste leer...&quot; &lt;&lt; endl;</p>
<p>while (current != NULL)<br />
{<br />
cout &lt;&lt; current-&gt;wert &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;sex &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;matriculation_number &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;final_mark &lt;&lt; endl;</p>
<p>current = current-&gt;next;<br />
}<br />
}</p>
<p>void insert_Student(Student *newStudent, string vorname, string nachname, char geschlecht, double matrNr, double note)<br />
{<br />
// Fall 1, die Liste bekommt ihr erstes Element<br />
if (head == NULL)<br />
{<br />
head = newStudent;<br />
tail = newStudent;<br />
}<br />
// Fall 2, die Liste bekommt weitere Elemente<br />
else<br />
{<br />
newStudent-&gt;next = head;<br />
head-&gt;prev = newStudent;<br />
head = newStudent;<br />
}</p>
<p>newStudent-&gt;firstname = vorname;</p>
<p>newStudent-&gt;lastname = nachname;</p>
<p>newStudent-&gt;sex = geschlecht;</p>
<p>newStudent-&gt;matriculation_number = matrNr;</p>
<p>newStudent-&gt;final_mark = note;</p>
<p>cout &lt;&lt; &quot;Student wurde angelegt.&quot; &lt;&lt; endl;</p>
<p>anzahlStudenten++;<br />
newStudent-&gt;wert = anzahlStudenten;<br />
}</p>
<p>void removeStudent(int searchvalue)<br />
{<br />
Student *current = head;</p>
<p>while (current!=0)<br />
{</p>
<p>if (current-&gt;matriculation_number== searchvalue)<br />
{</p>
<p>if (current == head)<br />
{</p>
<p>if (current == tail)<br />
{<br />
head = NULL;<br />
tail = NULL;<br />
}</p>
<p>head = head-&gt;next;<br />
head-&gt;prev = NULL;<br />
return;<br />
}</p>
<p>else if (current == tail)<br />
{<br />
if (current == head)</p>
<p>{<br />
head = NULL;<br />
tail = NULL;</p>
<p>}<br />
else<br />
{</p>
<p>tail = tail-&gt;prev;<br />
tail-&gt;next = NULL;</p>
<p>return;<br />
}</p>
<p>current-&gt;prev-&gt;next = current-&gt;next;<br />
current-&gt;next-&gt;prev = current-&gt;prev;<br />
current-&gt;next = NULL;<br />
current-&gt;prev = NULL;</p>
<p>}</p>
<p>cout &lt;&lt; &quot;Student gelöscht&quot;;<br />
break;</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>/<em>void removeStudent()<br />
{<br />
// Wenn Liste nicht leer<br />
if (head != NULL)<br />
{<br />
// Wenn Liste ein Element hat<br />
if (head == tail)<br />
{<br />
head = NULL;<br />
tail = NULL;<br />
}<br />
// Wenn Liste mehr wie ein Element hat<br />
else<br />
{<br />
head = head-&gt;next;<br />
head-&gt;prev = NULL;<br />
}<br />
}<br />
}</em>/</p>
<p>void importStudenten() {<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 5 gewaehlt&quot; &lt;&lt; endl;<br />
string vorname = &quot;&quot;;<br />
string nachname = &quot;&quot;;<br />
char geschlecht = '0';<br />
double MatrNr = 0;<br />
double note = 0;</p>
<p>ifstream csvread;<br />
csvread.open(&quot;data.csv&quot;, ios::in);</p>
<p>if (csvread)<br />
{<br />
string s = &quot;&quot;;<br />
int counter_field = 0;<br />
int counter_student = 0;</p>
<p>while (getline(csvread, s, ';'))<br />
{</p>
<p>if (counter_field == 0)<br />
vorname = s;</p>
<p>if (counter_field == 1)<br />
nachname = s;</p>
<p>if (counter_field == 2)<br />
geschlecht = <a href="http://s.at" rel="nofollow">s.at</a>(0);</p>
<p>if (counter_field == 3)<br />
MatrNr = atoi(s.c_str());</p>
<p>if (counter_field == 4)<br />
note = atof(s.c_str());</p>
<p>counter_field++;</p>
<p>if (counter_field &gt; 4)<br />
{<br />
insert_Student(new Student, vorname, nachname, geschlecht, MatrNr, note);<br />
counter_field = 0;<br />
counter_student++;<br />
}<br />
}</p>
<p>csvread.close();<br />
}<br />
else<br />
{<br />
cout &lt;&lt; &quot;Fehler beim Lesen!&quot; &lt;&lt; endl;<br />
}<br />
}</p>
<p>void exportStudenten()<br />
{</p>
<p>Student *current = head;</p>
<p>cout &lt;&lt; &quot;Sie haben Menuepunkt 6 gewaehlt&quot;;</p>
<p>// exportieren<br />
ofstream csvwrite;<br />
//ofstream streamforoutput;<br />
csvwrite.open(&quot;data.csv&quot;, ios::out);</p>
<p>while (current != NULL)<br />
{<br />
if (current-&gt;matriculation_number != -1)<br />
{<br />
csvwrite &lt;&lt; current-&gt;firstname &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;lastname &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;sex &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;matriculation_number &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;final_mark &lt;&lt; &quot;;&quot;;<br />
}</p>
<p>current = current-&gt;next;<br />
}</p>
<p>csvwrite.close();<br />
cout &lt;&lt; &quot;datei wurde exportiert&quot; &lt;&lt; endl;</p>
<p>//break;</p>
<p>}</p>
<p>void linearesuche(int searchvalue)<br />
{</p>
<p>Student *current = head;</p>
<p>while (current != NULL)</p>
<p>{</p>
<p>if (current-&gt;matriculation_number == searchvalue)<br />
{</p>
<p>cout &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; endl;<br />
return;</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>void bearbeiten (int searchvalue)<br />
{</p>
<p>Student *current = head;</p>
<p>while (current != NULL)</p>
<p>{</p>
<p>if (current-&gt;matriculation_number == searchvalue)<br />
{<br />
cout &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; &quot; &quot;&lt;&lt;current -&gt;sex&lt;&lt;endl;</p>
<p>cout &lt;&lt; &quot;1.Geben sie'1'ein um den studenten zu loeschen &quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;2.Geben sie '2' ein um den studenten zu bearbeiten &quot; &lt;&lt; endl;<br />
int input = 0;<br />
cin &gt;&gt; input;</p>
<p>if (input == 2)<br />
{<br />
int wert;<br />
int a = 1;<br />
int b = 2;<br />
cout &lt;&lt; &quot;geben sie a um studennten zu beahlten und b um es zu verändern&quot; &lt;&lt; endl;<br />
cin &gt;&gt; wert;<br />
cout &lt;&lt; &quot;Neue Daten eineben&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;Firstname :&quot;;<br />
cin &gt;&gt; current-&gt;firstname;<br />
cout &lt;&lt; &quot;lastname:&quot;;<br />
cin &gt;&gt; current-&gt;lastname;<br />
cout &lt;&lt; &quot;sex:&quot;;<br />
cin &gt;&gt; current-&gt;sex;<br />
/<em>cout &lt;&lt; &quot;mariculation number:&quot;;<br />
cin &gt;&gt; current-&gt;matriculation_number;</em>/<br />
cout &lt;&lt; &quot;Note:&quot;;<br />
cin &gt;&gt; current-&gt;final_mark;<br />
}</p>
<p>if (input == 1)<br />
{<br />
cout &lt;&lt; &quot;input 1&quot;;<br />
removeStudent(searchvalue);</p>
<p>}</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>int main()<br />
{</p>
<p>/<em>students[0].firstname = &quot;Daniel&quot;;<br />
students[0].lastname = &quot;Kreis&quot;;<br />
students[0].sex = 'm';<br />
students[0].matriculation_number = 12346;<br />
students[0].final_mark = 1.3;</em>/</p>
<p>while (true)</p>
<p>{<br />
int choice;<br />
string vorname = &quot;&quot;;<br />
string nachname = &quot;&quot;;<br />
char geschlecht = '0';<br />
double MatrNr = 0.0;<br />
double note = 0.0;<br />
int searchvalue = 0;</p>
<p>std::cout &lt;&lt; &quot;Studentenverwaltung V0.1&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;1)Student/in auflisten&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;2)Studen/in anlegen&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;3)Student/in suchen&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;4)Student/in bearbeiten&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;5)Studierende importieren&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;6)Studierende exportieren&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong>________________________________&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;7)Programmende&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;Wählen Sie ein Menuepunkt aus: &quot;;<br />
cin &gt;&gt; choice;</p>
<p>switch (choice)<br />
{<br />
case 1:<br />
cout &lt;&lt; &quot;sie heben menüpunkt 1 gwählt&quot; &lt;&lt; endl;<br />
print();<br />
break;<br />
case 2:<br />
cout &lt;&lt; &quot;sie haben Menüpunkt 2 gewählt&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Vorname: &quot;;<br />
cin &gt;&gt; vorname;<br />
cout &lt;&lt; &quot;Nachname: &quot;;<br />
cin &gt;&gt; nachname;<br />
cout &lt;&lt; &quot;Geschlecht: &quot;;<br />
cin &gt;&gt; geschlecht;<br />
cout &lt;&lt; &quot;Matrikelnr: &quot;;<br />
cin &gt;&gt; MatrNr;<br />
cout &lt;&lt; &quot;Abschluss Note: &quot;;<br />
cin &gt;&gt; note;</p>
<p>insert_Student(new Student, vorname, nachname, geschlecht, MatrNr, note);<br />
break;<br />
case 3:<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 3 gewaehlt&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;schreiben sie die Matrikelnummer des gesuchten Studenten&quot; &lt;&lt; endl;<br />
cin &gt;&gt; searchvalue;<br />
linearesuche(searchvalue);<br />
break;<br />
case 4:<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 4 gewaehlt&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;schreiben sie die Matrikelnummer des gesuchten Studenten&quot; &lt;&lt; endl;<br />
cin &gt;&gt; searchvalue;<br />
bearbeiten(searchvalue);<br />
break;<br />
case 5: importStudenten();<br />
break;<br />
case 6: exportStudenten();<br />
break;<br />
case 7:<br />
cout &lt;&lt; &quot;Das Programm wird beendet&quot; &lt;&lt; endl;<br />
return 0;<br />
break;</p>
<p>default:<br />
cout &lt;&lt; &quot;Das Programm ist zum Ende gekommen&quot; &lt;&lt; endl;<br />
break;</p>
<p>}</p>
<p>} while (true);</p>
<p>cout &lt;&lt; endl;<br />
system(&quot;pause&quot;);<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338318/wieso-löscht-sich-mein-letzer-student-tail-nicht</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 15:06:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338318.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Jun 2016 14:02:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieso löscht sich mein letzer Student (tail) nicht? on Wed, 08 Jun 2016 14:02:06 GMT]]></title><description><![CDATA[<p>Hey ich bin am verzweifeln hat jemand ein tipp für mich?</p>
<p># include&lt;iostream&gt;<br />
#include&lt;string&gt;<br />
#include&lt;fstream&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;sstream&gt;</p>
<p>using namespace std;</p>
<p>int anzahlStudenten = 0;</p>
<p>struct Student<br />
{<br />
string firstname;<br />
string lastname;<br />
char sex;<br />
int matriculation_number = -1;<br />
double final_mark = -1;</p>
<p>Student *prev = NULL;<br />
Student *next = NULL;<br />
int wert;<br />
};</p>
<p>//Student students[maxAnzahlStudenten];</p>
<p>void importStudenten();<br />
void exportStudenten();</p>
<p>Student *head = NULL;<br />
Student *tail = NULL;</p>
<p>void print() {</p>
<p>Student *current = head;</p>
<p>if (head == NULL)<br />
cout &lt;&lt; &quot;Liste leer...&quot; &lt;&lt; endl;</p>
<p>while (current != NULL)<br />
{<br />
cout &lt;&lt; current-&gt;wert &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;sex &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;matriculation_number &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;final_mark &lt;&lt; endl;</p>
<p>current = current-&gt;next;<br />
}<br />
}</p>
<p>void insert_Student(Student *newStudent, string vorname, string nachname, char geschlecht, double matrNr, double note)<br />
{<br />
// Fall 1, die Liste bekommt ihr erstes Element<br />
if (head == NULL)<br />
{<br />
head = newStudent;<br />
tail = newStudent;<br />
}<br />
// Fall 2, die Liste bekommt weitere Elemente<br />
else<br />
{<br />
newStudent-&gt;next = head;<br />
head-&gt;prev = newStudent;<br />
head = newStudent;<br />
}</p>
<p>newStudent-&gt;firstname = vorname;</p>
<p>newStudent-&gt;lastname = nachname;</p>
<p>newStudent-&gt;sex = geschlecht;</p>
<p>newStudent-&gt;matriculation_number = matrNr;</p>
<p>newStudent-&gt;final_mark = note;</p>
<p>cout &lt;&lt; &quot;Student wurde angelegt.&quot; &lt;&lt; endl;</p>
<p>anzahlStudenten++;<br />
newStudent-&gt;wert = anzahlStudenten;<br />
}</p>
<p>void removeStudent(int searchvalue)<br />
{<br />
Student *current = head;</p>
<p>while (current!=0)<br />
{</p>
<p>if (current-&gt;matriculation_number== searchvalue)<br />
{</p>
<p>if (current == head)<br />
{</p>
<p>if (current == tail)<br />
{<br />
head = NULL;<br />
tail = NULL;<br />
}</p>
<p>head = head-&gt;next;<br />
head-&gt;prev = NULL;<br />
return;<br />
}</p>
<p>else if (current == tail)<br />
{<br />
if (current == head)</p>
<p>{<br />
head = NULL;<br />
tail = NULL;</p>
<p>}<br />
else<br />
{</p>
<p>tail = tail-&gt;prev;<br />
tail-&gt;next = NULL;</p>
<p>return;<br />
}</p>
<p>current-&gt;prev-&gt;next = current-&gt;next;<br />
current-&gt;next-&gt;prev = current-&gt;prev;<br />
current-&gt;next = NULL;<br />
current-&gt;prev = NULL;</p>
<p>}</p>
<p>cout &lt;&lt; &quot;Student gelöscht&quot;;<br />
break;</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>/<em>void removeStudent()<br />
{<br />
// Wenn Liste nicht leer<br />
if (head != NULL)<br />
{<br />
// Wenn Liste ein Element hat<br />
if (head == tail)<br />
{<br />
head = NULL;<br />
tail = NULL;<br />
}<br />
// Wenn Liste mehr wie ein Element hat<br />
else<br />
{<br />
head = head-&gt;next;<br />
head-&gt;prev = NULL;<br />
}<br />
}<br />
}</em>/</p>
<p>void importStudenten() {<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 5 gewaehlt&quot; &lt;&lt; endl;<br />
string vorname = &quot;&quot;;<br />
string nachname = &quot;&quot;;<br />
char geschlecht = '0';<br />
double MatrNr = 0;<br />
double note = 0;</p>
<p>ifstream csvread;<br />
csvread.open(&quot;data.csv&quot;, ios::in);</p>
<p>if (csvread)<br />
{<br />
string s = &quot;&quot;;<br />
int counter_field = 0;<br />
int counter_student = 0;</p>
<p>while (getline(csvread, s, ';'))<br />
{</p>
<p>if (counter_field == 0)<br />
vorname = s;</p>
<p>if (counter_field == 1)<br />
nachname = s;</p>
<p>if (counter_field == 2)<br />
geschlecht = <a href="http://s.at" rel="nofollow">s.at</a>(0);</p>
<p>if (counter_field == 3)<br />
MatrNr = atoi(s.c_str());</p>
<p>if (counter_field == 4)<br />
note = atof(s.c_str());</p>
<p>counter_field++;</p>
<p>if (counter_field &gt; 4)<br />
{<br />
insert_Student(new Student, vorname, nachname, geschlecht, MatrNr, note);<br />
counter_field = 0;<br />
counter_student++;<br />
}<br />
}</p>
<p>csvread.close();<br />
}<br />
else<br />
{<br />
cout &lt;&lt; &quot;Fehler beim Lesen!&quot; &lt;&lt; endl;<br />
}<br />
}</p>
<p>void exportStudenten()<br />
{</p>
<p>Student *current = head;</p>
<p>cout &lt;&lt; &quot;Sie haben Menuepunkt 6 gewaehlt&quot;;</p>
<p>// exportieren<br />
ofstream csvwrite;<br />
//ofstream streamforoutput;<br />
csvwrite.open(&quot;data.csv&quot;, ios::out);</p>
<p>while (current != NULL)<br />
{<br />
if (current-&gt;matriculation_number != -1)<br />
{<br />
csvwrite &lt;&lt; current-&gt;firstname &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;lastname &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;sex &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;matriculation_number &lt;&lt; &quot;;&quot;;<br />
csvwrite &lt;&lt; current-&gt;final_mark &lt;&lt; &quot;;&quot;;<br />
}</p>
<p>current = current-&gt;next;<br />
}</p>
<p>csvwrite.close();<br />
cout &lt;&lt; &quot;datei wurde exportiert&quot; &lt;&lt; endl;</p>
<p>//break;</p>
<p>}</p>
<p>void linearesuche(int searchvalue)<br />
{</p>
<p>Student *current = head;</p>
<p>while (current != NULL)</p>
<p>{</p>
<p>if (current-&gt;matriculation_number == searchvalue)<br />
{</p>
<p>cout &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; endl;<br />
return;</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>void bearbeiten (int searchvalue)<br />
{</p>
<p>Student *current = head;</p>
<p>while (current != NULL)</p>
<p>{</p>
<p>if (current-&gt;matriculation_number == searchvalue)<br />
{<br />
cout &lt;&lt; current-&gt;firstname &lt;&lt; &quot; &quot; &lt;&lt; current-&gt;lastname &lt;&lt; &quot; &quot;&lt;&lt;current -&gt;sex&lt;&lt;endl;</p>
<p>cout &lt;&lt; &quot;1.Geben sie'1'ein um den studenten zu loeschen &quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;2.Geben sie '2' ein um den studenten zu bearbeiten &quot; &lt;&lt; endl;<br />
int input = 0;<br />
cin &gt;&gt; input;</p>
<p>if (input == 2)<br />
{<br />
int wert;<br />
int a = 1;<br />
int b = 2;<br />
cout &lt;&lt; &quot;geben sie a um studennten zu beahlten und b um es zu verändern&quot; &lt;&lt; endl;<br />
cin &gt;&gt; wert;<br />
cout &lt;&lt; &quot;Neue Daten eineben&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;Firstname :&quot;;<br />
cin &gt;&gt; current-&gt;firstname;<br />
cout &lt;&lt; &quot;lastname:&quot;;<br />
cin &gt;&gt; current-&gt;lastname;<br />
cout &lt;&lt; &quot;sex:&quot;;<br />
cin &gt;&gt; current-&gt;sex;<br />
/<em>cout &lt;&lt; &quot;mariculation number:&quot;;<br />
cin &gt;&gt; current-&gt;matriculation_number;</em>/<br />
cout &lt;&lt; &quot;Note:&quot;;<br />
cin &gt;&gt; current-&gt;final_mark;<br />
}</p>
<p>if (input == 1)<br />
{<br />
cout &lt;&lt; &quot;input 1&quot;;<br />
removeStudent(searchvalue);</p>
<p>}</p>
<p>}</p>
<p>current = current-&gt;next;</p>
<p>}</p>
<p>}</p>
<p>int main()<br />
{</p>
<p>/<em>students[0].firstname = &quot;Daniel&quot;;<br />
students[0].lastname = &quot;Kreis&quot;;<br />
students[0].sex = 'm';<br />
students[0].matriculation_number = 12346;<br />
students[0].final_mark = 1.3;</em>/</p>
<p>while (true)</p>
<p>{<br />
int choice;<br />
string vorname = &quot;&quot;;<br />
string nachname = &quot;&quot;;<br />
char geschlecht = '0';<br />
double MatrNr = 0.0;<br />
double note = 0.0;<br />
int searchvalue = 0;</p>
<p>std::cout &lt;&lt; &quot;Studentenverwaltung V0.1&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;1)Student/in auflisten&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;2)Studen/in anlegen&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;3)Student/in suchen&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;4)Student/in bearbeiten&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;5)Studierende importieren&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;6)Studierende exportieren&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;</strong></strong></strong>________________________________&quot; &lt;&lt; endl &lt;&lt; endl;<br />
cout &lt;&lt; &quot;7)Programmende&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;Wählen Sie ein Menuepunkt aus: &quot;;<br />
cin &gt;&gt; choice;</p>
<p>switch (choice)<br />
{<br />
case 1:<br />
cout &lt;&lt; &quot;sie heben menüpunkt 1 gwählt&quot; &lt;&lt; endl;<br />
print();<br />
break;<br />
case 2:<br />
cout &lt;&lt; &quot;sie haben Menüpunkt 2 gewählt&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;Vorname: &quot;;<br />
cin &gt;&gt; vorname;<br />
cout &lt;&lt; &quot;Nachname: &quot;;<br />
cin &gt;&gt; nachname;<br />
cout &lt;&lt; &quot;Geschlecht: &quot;;<br />
cin &gt;&gt; geschlecht;<br />
cout &lt;&lt; &quot;Matrikelnr: &quot;;<br />
cin &gt;&gt; MatrNr;<br />
cout &lt;&lt; &quot;Abschluss Note: &quot;;<br />
cin &gt;&gt; note;</p>
<p>insert_Student(new Student, vorname, nachname, geschlecht, MatrNr, note);<br />
break;<br />
case 3:<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 3 gewaehlt&quot; &lt;&lt; endl;</p>
<p>cout &lt;&lt; &quot;schreiben sie die Matrikelnummer des gesuchten Studenten&quot; &lt;&lt; endl;<br />
cin &gt;&gt; searchvalue;<br />
linearesuche(searchvalue);<br />
break;<br />
case 4:<br />
cout &lt;&lt; &quot;Sie haben Menuepunkt 4 gewaehlt&quot; &lt;&lt; endl;<br />
cout &lt;&lt; &quot;schreiben sie die Matrikelnummer des gesuchten Studenten&quot; &lt;&lt; endl;<br />
cin &gt;&gt; searchvalue;<br />
bearbeiten(searchvalue);<br />
break;<br />
case 5: importStudenten();<br />
break;<br />
case 6: exportStudenten();<br />
break;<br />
case 7:<br />
cout &lt;&lt; &quot;Das Programm wird beendet&quot; &lt;&lt; endl;<br />
return 0;<br />
break;</p>
<p>default:<br />
cout &lt;&lt; &quot;Das Programm ist zum Ende gekommen&quot; &lt;&lt; endl;<br />
break;</p>
<p>}</p>
<p>} while (true);</p>
<p>cout &lt;&lt; endl;<br />
system(&quot;pause&quot;);<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498159</guid><dc:creator><![CDATA[yomni96]]></dc:creator><pubDate>Wed, 08 Jun 2016 14:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso löscht sich mein letzer Student (tail) nicht? on Wed, 08 Jun 2016 14:22:11 GMT]]></title><description><![CDATA[<p>Debugger benutzten!<br />
Codetags benutzen (so sehe ich mir das nicht an).<br />
Problem nachvollziehbar beschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498160</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 08 Jun 2016 14:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso löscht sich mein letzer Student (tail) nicht? on Wed, 08 Jun 2016 14:30:12 GMT]]></title><description><![CDATA[<p>Bevor du irgendwas machst, formatiere deinen Code bitte ordentlich. (hier den &quot;C++&quot; Button benutzen) und reduziere den Code auf die <strong>relevanten</strong> Teile!</p>
<p>Dann: ich sehe überhaupt nicht, dass du irgendeinen Studenten löscht. Es befindet sich kein &quot;delete&quot; im Code.</p>
<p>Und dann schau mal in das removeStudent:</p>
<blockquote>
<pre><code>if (current == head) {

                if (current == tail) {
                    head = NULL;
                    tail = NULL;
                }

                head = head-&gt;next;
                head-&gt;prev = NULL;
                return;
            }
</code></pre>
</blockquote>
<p>Welchen Wert hat <code>head-&gt;next</code> , wenn vorher <code>current == tail</code> war? (Hint: nicht machen!)</p>
<p>Achso, und da das ja wohl C++ sein soll:<br />
- verwende nullptr statt NULL<br />
- verwende Smartpointer (oder denke an das delete beim entfernen)<br />
- gib deinem insert_Student nur den Studenten als Parameter, nicht noch irgendwelche Initialisierungen für Student selbst, die besser im Student-Konstruktor aufgehoben wären</p>
<p>bestimmt noch viel mehr...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2498161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2498161</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Wed, 08 Jun 2016 14:30:12 GMT</pubDate></item></channel></rss>