Zum Inhalt springen

Koenig13

Mitglieder
  • Gesamte Inhalte

    12
  • Benutzer seit

  • Letzter Besuch

  1. Danke, das werd ich mir zu Herzen nehmen und sehe dieses Thema als abgeschlossen.
  2. Oder kennt ihr gute Quellen, ich will meinen guten Willen zeigen.
  3. 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.
  4. Ich habs: bei scanf stand nur %20. Da fehlte nur das ein s->%20s
  5. das dacht ich auch, nur kommt dann folgende Ausgabe: ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
  6. ... studier ich Wi-Info und hab mein Abitur in Informatik abgelegt.
  7. 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.
  8. Es geht mir nur um das Verständniss. :new
  9. 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?
  10. Danke für die schnelle Antwort, du hast mir sehr geholfen. Hätte nicht gedacht das das so funktionieren würde, danke.
  11. Hallo, ich hab mal ein paar Fragen und hoffe auf hilfreiche Antworten. Ich möchte ein Prozedur schreiben, welche "beliebig viele" Dateien verschiebt und nach mehrfachem Aufruf dieser Prozedur eine Anfrage stellt. Das Grundgerüst hab ich schon, nur kann ich jetzt nur eine Datei mit mv verschieben. Wie bekomm mehrere Dateien verschoben? Die Dateien sollten hintereinander eingeben werden. Die 2.Frage von mir ist folgende: Kann man feststellen wie oft eine Prozedur benutzt wurde, um nach einer bestimmte Aufrufanzahl eine Abfrage zu stellen. Es ist im Grunde eine Prozedur, wie in Windows der Papierkorb. So soll wenn z.B. dreimal Dateien in meinen sogenannten Papierkorb verschoben wurden nachgefragt werden, ob die Dateien im Papierkorb endgültig gelöscht werden. Und hier noch mein bisheriger Code, ich hoffe man kann mir helfen. echo "Diese Prozedur loescht Dateien und verschiebt sie in das Verzeichnis muell!" echo "Welche Datei/en moechten sie loeschen?" read DATEI mv -i $DATEI ~/beleg/muell echo "Wollen sie die geloeschten Datein engueltig loeschen?(j/n)" read antwort case $antwort in j) echo "Dateien wurden endgültig gelöscht!" rm -r ~/beleg/muell/*; break;; n) echo "Dateien wurden nicht endgültig geloescht und liegen im Verzeich nis muell!"; break;; *) echo "falsche Eingabe"; continue;; esac Danke im Voraus.

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...