Ausgabe
-
Kevin23 schrieb:
Ich wusste gar nicht das man bei Problemen bei Aufgaben hier bezahlen muss .
Kann mir nicht jemand wenigstens einen Ansatz geben.Niemand will hier Geld für Hilfe. Aber wenn du eine Hausarbeit, die auch für einen erfahrenen Programmierer allein wegen der Tippgeschwindigkeit eine ganze Weile brauchen würde, komplett gelöst haben willst, dann ist das keine Hilfestellung mehr, sondern jemand übernimmt diese Arbeit vollständig für dich. Und in unserer Gesellschaft lässt man sich normalerweise bezahlen, wenn man für jemand anderen die Arbeit macht. Der Unterschied zu einer Hilfestellung ist, dass du hinterher nicht in der Lage wärst, die Aufgabe selber zu lösen, aber trotzdem die Belohnung für die von anderen geschriebene Lösung kassierst.
Falls du wirklich nur eine Hilfestellung möchtest: Du weißt derzeit absolut gar nichts und hast vermutlich viele Stunden von deinem Kurs verpennt. Das weißt du auch sicher selber. Daher musst du auch wirklich ganz von vorne mit Hello World usw. anfangen. Es hat gar keinen Sinn, dir Funktionen oder Arrays zu zeigen, wenn dir die zum Verständnis nötigen Grundlagen fehlen. Wenn du so weit bist, dass du diese hast, dann kannst du gerne weitere Fragen dazu stellen und wirst feststellen, dass dir hier im Forum gerne und kompetent (wenn auch häufig in recht grober Sprache) geholfen wird.
-
...
-
Danke Swordfish für deine Hilfe.
Nur eine letzte frage wenn ich das Programm so ausführe wie du es stehen hast, zeigst das Programm bei mir paar errors an.
Kann es sein dass die Reihenfolge nicht genau stimmt?
-
Kevin23 schrieb:
Nur eine letzte frage
[...]
Kann es sein dass die Reihenfolge nicht genau stimmt?Letzte Antwort:
Nein.
-
Hallo!
Wir sind's!--- old/test.cc 2013-01-12 10:21:35.000000000 +0100 +++ new/test.cc 2013-01-12 10:21:20.000000000 +0100 @@ -53,7 +53,9 @@ event_t const *current = &first_event; print_event( *current ); - return current->next ? print_event_list( *current->next ) : 0; + if (current->next) + return print_event_list( *current->next ); + return; } /* eine Funktion void ausgabeListeAusverkauft( Event* start) @@ -69,7 +71,9 @@ print_event( *current ); } - return current->next ? print_event_list_sellout( *current->next ) : 0; + if(current->next) + return print_event_list_sellout( *current->next ); + return; } /* Testen Sie die Funktionen mittels eines geeigneten Treibers. Dabei kann eine Liste von
-
Die Patcher-Boys mit Go-Native?
-
Das scheint aber irgendwie trotzdem nicht zu funzen?
Irgendw ist da wohl ein Fehler drin?
Tut mi leid ,dass ich euch soviel arbeit mache obwohl ihr mir auch schon genug geholfen habt:
-
Hallo leute wo liegt der Fehler im Programm?
Kann mir jemand helfen?
-
-
Ersetze
return current->next ? print_event_list( *current->next ) : 0;durch
if (current->next) print_event_list( *current->next ); else return;Beim anderen genauso.
-
Mein code sieht jetzt so aus aber es funktioniert leider immer noch nicht .
Es werden immer noch Fehler angezeigt.
#include <string> #include <iostream> /* Dabei soll eine Veranstaltung mittels einer Struktur Event beschrieben werden und alle Veranstaltungen der Agentur als verkettete Liste von Events. Da sich ein zweites Projektteam mit dem Entwurf der Struktur Event befasst, müssen Sie für die Entwicklung zunächst einen einfachen Prototypen hierfür implementieren. Als Minimalanforderung sollte der Prototyp neben dem Zeiger auf das nächste Element - eine Bezeichnung des Events - die Anzahl der vorhandenen Sitzplätze - die Anzahl der noch nicht verkauften Sitzplätze enthalten. */ struct event_t { event_t( std::string const &title, unsigned const tickets, unsigned const tickets_available, event_t *next = nullptr) : title( title ), tickets( tickets ), tickets_available( tickets_available ), next( next ) {} bool is_sellout() const { return tickets_available == 0; } std::string title; unsigned tickets; unsigned tickets_available; event_t *next; }; std::ostream & operator<<( std::ostream & os, event_t const &event ) { os << "Event \"" << event.title << "\"\nTickets:\t" << event.tickets << "\nTickets available:\t" << event.tickets_available; return os; } /* eine Funktion void ausgabe(…) welche die Daten eines Events am Bildschirm anzeigt. Der Parameter kann geeignet gewählt werden */ void print_event( event_t const & event ) { std::cout << event << '\n'; } /* eine Funktion void ausgabeListe( Event* start) welche alle Events der Liste am Bildschirm anzeigt, wobei das erste Element als Parameter übergeben wird. */ void print_event_list( event_t const & first_event ) { event_t const *current = &first_event; print_event( *current ); if current->next ? print_event_list( *current->next ); else return; } /* eine Funktion void ausgabeListeAusverkauft( Event* start) welche alle Events der Liste am Bildschirm anzeigt,die ausverkauft sind. Das erste Element wird wieder als Parameter übergeben. */ void print_event_list_sellout( event_t const & first_event ) { event_t const *current = &first_event; if( current->is_sellout() ) { print_event( *current ); } if current->next ? print_event_list( *current->next ); else return; } /* Testen Sie die Funktionen mittels eines geeigneten Treibers. Dabei kann eine Liste von mindestens 4 verkettetten Events fest vorgegeben werden (muss nicht eingelesen werden). */ int main() { event_t event_four( "foobarbaz", 2000, 2000 ); event_t event_three( "foobar", 1000, 0, &event_four ); event_t event_two( "bar", 5000, 4500, &event_three ); event_t event_one( "foo", 10000, 0, &event_two ); std::cout << "event_two:\n"; print_event( event_two ); std::cout << "\nEvent list:\n"; print_event_list( event_one ); std::cout << "\nEvent list sellout:\n"; print_event_list_sellout( event_one ); }Wo sind denn noch die Fehler ?
Genau wie ihr auch sehe ich sie nicht.
Bitte hilft mir.
Irgendein schlauer programmierer müsste doch da sein .
-
Schaue dir einfach nochmal meinen Post an und vergleiche den Code Zeichen für Zeichen mit dem, was du geschrieben hast...
-
-
_matze schrieb:
SeppJ schrieb:
Hast du das mit Absicht überlesen?
Näh, er hat wohl draufgeklickt und nach zwei Sekunden unterbewusst mit tl;dr abgedankt.
-
Den letzten Satz von ihm könnte man doch als Beleidigung auffassen oder?
-
Ok leute jetzt sieht der code so aus:
#include <string> #include <iostream> /* Dabei soll eine Veranstaltung mittels einer Struktur Event beschrieben werden und alle Veranstaltungen der Agentur als verkettete Liste von Events. Da sich ein zweites Projektteam mit dem Entwurf der Struktur Event befasst, müssen Sie für die Entwicklung zunächst einen einfachen Prototypen hierfür implementieren. Als Minimalanforderung sollte der Prototyp neben dem Zeiger auf das nächste Element - eine Bezeichnung des Events - die Anzahl der vorhandenen Sitzplätze - die Anzahl der noch nicht verkauften Sitzplätze enthalten. */ struct event_t { event_t( std::string const &title, unsigned const tickets, unsigned const tickets_available, event_t *next = nullptr) : title( title ), tickets( tickets ), tickets_available( tickets_available ), next( next ) {} bool is_sellout() const { return tickets_available == 0; } std::string title; unsigned tickets; unsigned tickets_available; event_t *next; }; std::ostream & operator<<( std::ostream & os, event_t const &event ) { os << "Event \"" << event.title << "\"\nTickets:\t" << event.tickets << "\nTickets available:\t" << event.tickets_available; return os; } /* eine Funktion void ausgabe(…) welche die Daten eines Events am Bildschirm anzeigt. Der Parameter kann geeignet gewählt werden */ void print_event( event_t const & event ) { std::cout << event << '\n'; } /* eine Funktion void ausgabeListe( Event* start) welche alle Events der Liste am Bildschirm anzeigt, wobei das erste Element als Parameter übergeben wird. */ void print_event_list( event_t const & first_event ) { event_t const *current = &first_event; print_event( *current ); if (current->next) print_event_list( *current->next ); } /* eine Funktion void ausgabeListeAusverkauft( Event* start) welche alle Events der Liste am Bildschirm anzeigt,die ausverkauft sind. Das erste Element wird wieder als Parameter übergeben. */ void print_event_list_sellout( event_t const & first_event ) { event_t const *current = &first_event; if( current->is_sellout() ) { print_event( *current ); } if (current->next) print_event_list( *current->next ); } /* Testen Sie die Funktionen mittels eines geeigneten Treibers. Dabei kann eine Liste von mindestens 4 verkettetten Events fest vorgegeben werden (muss nicht eingelesen werden). */ int main() { event_t event_four( "foobarbaz", 2000, 2000 ); event_t event_three( "foobar", 1000, 0, &event_four ); event_t event_two( "bar", 5000, 4500, &event_three ); event_t event_one( "foo", 10000, 0, &event_two ); std::cout << "event_two:\n"; print_event( event_two ); std::cout << "\nEvent list:\n"; print_event_list( event_one ); std::cout << "\nEvent list sellout:\n"; print_event_list_sellout( event_one ); }Es werden aber immer noch errors angezeigt.
Mein programm zeigt mir immer noch error an an dieser Zeile:
event_t( std::string const &title, unsigned const tickets, unsigned const tickets_available, event_t *next = nullptr).
Und hier:
event_t event_four( "foobarbaz", 2000, 2000 );Was ist hier falsch?
-
Ohne zu wissen, was die Fehlermeldung genau besagt (
): ersetze nullptr durch NULL oder 0 oder sag deinem Compiler, dass du C++11 verwendest.
-
und was für ein fehler wird dir angezeigt? keine Ahnung wieso du die nicht postest, ist doch das naheliegenste
-
Ok leute ich poste euch jetzt mal die fehlermeldung.
C:\\12\main.cpp|16|error: 'null' was not declared in this scope|
C:\\12\main.cpp||In function 'int main()':|
C:\
\12\main.cpp|82|error: call to 'event_t::event_t(const string&, unsigned int, unsigned int, event_t*)' uses the default argument for parameter 4, which is not yet defined|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|Ich hab jetzt null eingesetzt aber das zeigt mir ja wie ihr eben sieht wieder Fehler an.
#include <string> #include <iostream> /* Dabei soll eine Veranstaltung mittels einer Struktur Event beschrieben werden und alle Veranstaltungen der Agentur als verkettete Liste von Events. Da sich ein zweites Projektteam mit dem Entwurf der Struktur Event befasst, müssen Sie für die Entwicklung zunächst einen einfachen Prototypen hierfür implementieren. Als Minimalanforderung sollte der Prototyp neben dem Zeiger auf das nächste Element - eine Bezeichnung des Events - die Anzahl der vorhandenen Sitzplätze - die Anzahl der noch nicht verkauften Sitzplätze enthalten. */ struct event_t { event_t( std::string const &title, unsigned const tickets, unsigned const tickets_available, event_t *next = null) : title( title ), tickets( tickets ), tickets_available( tickets_available ), next( next ) {} bool is_sellout() const { return tickets_available == 0; } std::string title; unsigned tickets; unsigned tickets_available; event_t *next; }; std::ostream & operator<<( std::ostream & os, event_t const &event ) { os << "Event \"" << event.title << "\"\nTickets:\t" << event.tickets << "\nTickets available:\t" << event.tickets_available; return os; } /* eine Funktion void ausgabe(…) welche die Daten eines Events am Bildschirm anzeigt. Der Parameter kann geeignet gewählt werden */ void print_event( event_t const & event ) { std::cout << event << '\n'; } /* eine Funktion void ausgabeListe( Event* start) welche alle Events der Liste am Bildschirm anzeigt, wobei das erste Element als Parameter übergeben wird. */ void print_event_list( event_t const & first_event ) { event_t const *current = &first_event; print_event( *current ); if (current->next) print_event_list( *current->next ); } /* eine Funktion void ausgabeListeAusverkauft( Event* start) welche alle Events der Liste am Bildschirm anzeigt,die ausverkauft sind. Das erste Element wird wieder als Parameter übergeben. */ void print_event_list_sellout( event_t const & first_event ) { event_t const *current = &first_event; if( current->is_sellout() ) { print_event( *current ); } if (current->next) print_event_list( *current->next ); } /* Testen Sie die Funktionen mittels eines geeigneten Treibers. Dabei kann eine Liste von mindestens 4 verkettetten Events fest vorgegeben werden (muss nicht eingelesen werden). */ int main() { event_t event_four( "foobarbaz", 2000, 2000 ); event_t event_three( "foobar", 1000, 0, &event_four ); event_t event_two( "bar", 5000, 4500, &event_three ); event_t event_one( "foo", 10000, 0, &event_two ); std::cout << "event_two:\n"; print_event( event_two ); std::cout << "\nEvent list:\n"; print_event_list( event_one ); std::cout << "\nEvent list sellout:\n"; print_event_list_sellout( event_one ); }Ich hoffe ihr könnt mir bei der beseitigung des Problems helfen.
Danke für eure Geduld und hilfe.
-
Was machst du eigentlich, wenn der Lehrer von dir erklärt haben will, wie das Programm funktioniert?