bekomme programm nicht fertig zugverbindung.cpp
-
Hallo alle miteinander,
ich soll ein kleines programm in c fertigstellen nur leider komme ich jetzt nicht mehr weiter. denn jetzt geht es um Zeiger/pointer, da rall ich nichts!
hier mal das, was ich bis jetzt gemacht habe:/*Alle Bibliotheken*/ #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #include <math.h> #include <string.h> #include <iostream.h> // Struktur Bahnhof struct bahnhof { char bname[25]; struct bahnhof *z_sued; struct bahnhof *z_nord; }; // Fuktionsprototypen char *z_ortsname (int i); void strecke (); void zeige_Fahrstrecke (int i_start); // Variablen struct bahnhof *z_p, *z_q, *z_r, *z_station; /*// Mainfunktion int main () { int i; int start = 0; z_p = NULL; for (i = 12; i >= 1; i--) { z_q = z_p; z_p = (bahnhof*)malloc(sizeof(bahnhof)); strcpy (z_p->bname, z_ortsname(i)); z_p->z_sued = z_q; } strecke (); printf ("\n\nBitte Nummer Startbahnhof eingeben: "); scanf ("%i", &start); zeige_Fahrstrecke(start); getch (); return 0; } */ // Funktion z_ortsname char *z_ortsname (int i) { char *z_ort[]= { "", "Muenchen", "Augsburg", "Ulm", "Stuttgart", "Heidelberg", "Mannheim", "Frankfurt", "Fulda", "Bebra", "Goettingen", "Hannover", "Hamburg" }; return z_ort[i]; } // Fuktion strecke void strecke () { int i=1; z_station = (bahnhof*)malloc(sizeof(bahnhof)); printf ("Streckenfuehrung:\n\n"); for ( z_station = z_p; z_station != NULL; z_station = z_station->z_sued) { printf("%i: %s\n",i, z_station->bname); i++; } } // Funktion zeige_Fahrstrecke void zeige_Fahrstrecke(int i_start) { int i, j = 1; for (i = i_start; i <= 12; i++) { z_station->z_sued; printf ("%i: %s\n",j, z_station -> bname); j++; } } //Funktion Zielbahnhof int zielbahnhof() { int zielauswahl=0; strecke; printf("\nBitte geben sie die Nummer ihres gewuenschten Zielbahnhofes an: "); scanf("%i",&zielauswahl); printf("\n Ihr Zielbahnhof lautet %i\n\n", zielauswahl); } //Funktion Umsteigen int umsteigen() { int umauswahl=0; printf("\nWie oft moechten sie Umsteigen?\n Bitte geben sie eine Zahl an: "); scanf ("%i", &umauswahl); } //Funktion Ticket int ticket() { int ticketanzahl=0; printf("\nBitte geben sie ihre gewuenschte Anzahl an Tickets an: "); scanf("%i", &ticketanzahl); return 0; } //Funktion Preis int preis() { int preisauswahl=0; printf("\nIn welcher Preisklasse befinden sich ihre Tickets?\n"); printf("Erwachsene (1)\n"); printf("Kind (2)\n"); printf("Bahncard 25 (3)\n"); printf("Bahncard 50 (4)\n"); printf("Abbruch (9)\n"); scanf("%i", &preisauswahl); switch(preisauswahl) { case 1: printf("Ihre Tickets werden fuer Erwachsene gebucht!\n"); break; case 2: printf("Ihre Tickets werden fuer Kinder gebucht!\n"); break; case 3: printf("Ihre Tickets werden fuer die Bahncard 25 gebucht!\n"); break; case 4: printf("Ihre Tickets werden fuer die Bahncard 50 gebucht!\n"); break; case 9: return 0; } return 0; } //Funktion Hauptmenu int hauptmenue() { int hauptauswahl=0; printf("\nBitte treffen Sie eine Auswahl!\n"); printf("Zielbahnhof eingeben (1)\n"); printf("Umsteigen (2)\n"); printf("Ticketanzahl aendern (3)\n"); printf("Preisklasse (4)\n"); printf("Bahnhoefe anzeigen (5)\n"); printf("Abbruch (9)\n\n"); scanf("%i",&hauptauswahl); switch(hauptauswahl) { case 1: zielbahnhof(); break; case 2: umsteigen(); break; case 3: ticket(); break; case 4: preis(); break; case 5: strecke(); break; case 9: return 0; } return 0; } //Die Mainfunktion int main() { while (true) { hauptmenue(); } return 0; }
Aufgabe ist es ein Infosystem der Bahn nachzuamen!
Im menu soll man die einzelnen punkte abarbeiten und dann soll zum schluss alles was der benutzer eingegeben hat in einer datei gespeichert werden, die man dann drucken könnte oder so.
-
und? wo zickt es? fehlermeldungen? abstürze?
-
also,
erstmal zeigt er mir den streckenverlauf nicht an! die funktion zeige_fahrstrecke()und dann weiß ich nicht wie ich die einzelenn Angaben wie zb tickets usw außerhalb der funktion speichern kann
-
äh, fang das Programm doch mal von vorne an. Schreib immer einen kleinen Teil und teste ob dieser funktioniert. Wenn der Teil funktioniert, dann mach mit dem nächsten Teil weiter. Einen riesen Klotz zu schreiben und dann da versuchen die Fehler zu finden ist doch sinnlos (ganz zu schweigen davon, das wohl kaum jemand in einem Forum einen derart langen Code für dich debuggen wird).
Ach ja und versuch bitte konkrete Fragen zu stellen und bei Problemen eine konkrete Fehlerbeschreibung zu geben...
-
versuch doch einfach selber mal zu debuggen
-
Lass dir an diversen Stellen die Inhalte der Variablen anzeigen.
-
Warte mal bis proggingmania kommt, der debbugt dir das ratz fatz
-
hier mal alles was mir so aufgefallen is:
die funktionen zielbahnhof und umsteigen geben keinen wert zurück
funktionsaufrufe brauchen ein () (siehe strecke;)
was hast du mit der iostream.h vor?
eine stringarray solltest du mit NULL/0 abschließen.
wäre gut die möglichen bahnhöfe zu kenne bevor man sich ein ticket kauft
das programm wird nicht korrekt beendet: ein return 0; in hauptmenue verläßt nur diese funktion, nicht aber die main() (exit(0) musste machen)
to be continued ...
Na Warte schrieb:
Warte mal bis proggingmania kommt, der debbugt dir das ratz fatz
lol
-
-
Na Warte schrieb:
Warte mal bis proggingmania kommt, der debbugt dir das ratz fatz
Hö ?
Ähm, wer hat dir denn den Floh ins Ohr gesetzt, wie kommstn auf das schmale Brett ?
-
sind deine fahrstrecken durhc verkettet Listen aneinander gebunden??
weil:
// Struktur Bahnhof struct bahnhof { char bname[25]; struct bahnhof *z_sued; struct bahnhof *z_nord; };
weil deine struktur wohl auf zwei bahnhöfe zeigt...
Hast du da verstanden mit verketten listen?