Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich habe von unserem Prof. den folgenden Quelltext erhalten:

Code:


#include  <stdio.h>																//header file für Ein-/Augabe

#include  <stdlib.h>															//header file für Standartbibliotheken

#include  <string.h>															//header file für Zeichenfolgen



struct person

{

	char *name;



	struct person *nachfolger;

};


typedef struct person person;


person * person_anlegen(char * data)

{

	person *tmp=(person *)malloc(sizeof(person));


	int laenge = strlen(data);

	tmp->name =(char *)malloc(laenge+1);

	strcpy(tmp->name, data);


	tmp->nachfolger = NULL;

	return tmp;

}


void element_einhaengen(person* element, person **listenlink)

{

	element->nachfolger = *listenlink;

	*listenlink = element;

}


void ausgabe(person *liste)

{

	person *zeiger = liste;


	while(zeiger != NULL)

	{

		printf("Name: %s ,\n", zeiger->name);

		zeiger=zeiger->nachfolger;

	}

	printf("Ende \n");

}


void ausgabe_file(person *liste, char * filename)

{

	FILE * file;

	person *zeiger = liste;

	file = fopen(filename, "w+");

	if(file != NULL)

	{

		while(zeiger != NULL)

		{

			fprintf(file, "Name: %s\n", zeiger->name);

			fprintf(file, "#\n");

			zeiger=zeiger->nachfolger;

		}

		fprintf(file,"## \n");

	}

	fclose(file);

}


void einlesen_file(person **listenlink, char * filename)

{

	FILE * file;

	char wort[100];

	file = fopen(filename, "r+");

	if(file != NULL)

	{

		while(fscanf(file, "%s", wort) && strcmp(wort, "##"))

		{

			if(strcmp(wort,"#"))

			element_einhaengen(person_anlegen(wort),listenlink);

		}

	}

	fclose(file);

}


void leeren_file(person **listenlink)

{

	person *zeiger = *listenlink;

	while(zeiger != NULL)

	{

		*listenlink = (*listenlink)->nachfolger;

		free(zeiger->name);

		free(zeiger);

		zeiger = *listenlink;

	}

	*listenlink = NULL;

}






main()

{		

	person *anfang = NULL;

	char wort[20];

	printf("Bitte Namen eingeben:");

	scanf("%20",wort);

	wort[19]=0;

	element_einhaengen(person_anlegen(wort),&anfang);


        //ausgabe();

	//ausgabe_file(,"nutzer.txt");

}

Meine Fragen dazu sind:

1. Kann man die Prozeduren problemlos im main() nutzen, oder ist der Quelltext unvollständig.

2. Welche Parameter muss ich den letzten beiden auskommentierten Funktionen übergeben, damit sie funktionieren? Ich hab schon alles ausprobiert was mir eingefallen ist.

Kann mir bitte jemand helfen?

Geschrieben

1. Kann man die Prozeduren problemlos im main() nutzen, oder ist der Quelltext unvollständig.

Hab ich gemacht:

g++ test.cpp  

=> kein Fehler => Syntaktisch richtig, also nutzbar

Ich hab schon alles ausprobiert was mir eingefallen ist.

Ja mein Prof sagte immer das man lieber Programmieren lernen sollte anstelle alles auszuprobieren.

Ich habe von unserem Prof. den folgenden Quelltext erhalten:

Aus deiner Fragestellung entnehme ich das du entweder so wenig Ahnung von C hast das du noch nicht mal ne ordentliche Frage dazu formolieren kannst, oder aber das du zu faul dazu bist.

Im ersten Fall würde ich dir raten, kein Fach im Studium zu belegen das mit Programmieren zu tun hat, weil in denen muss man immer Syntax lernen. (Ich hoffe du bist kein Informatiker)

im zweiten Falle würd ich sagen Pech gahabt.

Nur so aus interesse und die Frage mein ich ernst, was Studiierst du eigentlich? (Bachelor, Master)?

Geschrieben (bearbeitet)

Die genaue Frage lautet: Welchen Wert muss ich Ausgabe() übergeben, damit ich die aufgenommen Liste ausgeben kann. Das ist das einzige was ich nicht erfassen kann. Ich kann programmieren, sonst wär ich nicht im letzten Semester durch die Praktika gekommen. Nur haben wir uns einfach zu wenig mit Zeigern und Structs befasst.

Bearbeitet von Koenig13
Geschrieben
Die genaue Frage lautet: Welchen Wert muss ich Ausgabe() übergeben, damit ich die aufgenommen Liste ausgeben kann.
Naja, so viele Variablen mit passendem Typ gibt's in main nicht.
Geschrieben

Also bis ich die Aufgabe gleich in 2 Foren eingestellt hättte

(ähm auch mit dem gleichen Text), da hätt ichs dann schon selber nachgeschlagen.

Hilfe! Structs in C - Forum de Luxx

Ich bin bei sowas einfach nur Sprachlos,

was mich immer so entsetzt ist diese wie soll ich sagen, faulheit.

Ein Studium sollte zu selbstständigen und wisenschaftlichen Arbeiten befähigen. Gut du hast das Forum vermutlich selbst bedient, das muss man dir lassen, ich bin entsetzt.

Ach ja die rechtschreibfehler und tippfehler dürft ihr behalten.

Geschrieben

Was soll ich sagen. Wenns Faulheit wäre, hätte ich das schon vor 2 Wochen reingestellt. Jetzt ist das nur noch Verzweiflung. Ich hab schon Stunden mit Nachschlagen verbracht, nur find ich nirgendwo ne eindeutige Erklärung.

Geschrieben

Hallo,

mir kommen die Funktionen in dem Quelltext inzwischen sehr bekannt vor. Es scheint um das selbe Log-In Problem mit verketteter Liste zu gehen, dass wir schon an mehreren anderen Stellen hatten. Dazu passt, dass dort auch WirtschaftsInfo studiert wurde, nd die auch keine "Ahnung" vo Listen und Strukturen hatten.

Ich kann programmieren, sonst wär ich nicht im letzten Semester durch die Praktika gekommen. Nur haben wir uns einfach zu wenig mit Zeigern und Structs befasst.

Was soll denn bitte das Programm machen?

Bis jetzt liest es einen Text ein, speichert diesen im Speicher und gibt eine Datei aus. Beides hat nichts miteinander zu tun. Der Speicher wird nicht mal wieder freigegeben.

Wie schon jemand schrieb, da fehlen Grundlagen, denke ich.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...