Zum Inhalt springen

lapi_k

Mitglieder
  • Gesamte Inhalte

    26
  • Benutzer seit

  • Letzter Besuch

  1. also ich weiß nich irgendwie versteh ich da was falsch .. ich hab die liste erstellt mit vorname,nachname,kto,passwort .. und dann zeige ich immer mit dem next zeiger drauf fprintf is doch nur zur ausgabe da oder?
  2. ... was heißt denn ich hangel mich durch? ziel=fopen("nutzer.txt","r"); das heißt doch das ich sie öffne um aus ihr zu lesen
  3. ja das ist die selbe aufgabe... leider das is jetzt aber auch nur ein ausschnitt von dem was ich bis jetzt geschrieben hab .. warum ist das unsinn?
  4. void main() //*write+Ausgabe { FILE *ziel; struct nutzer *zeiger; ziel=fopen("nutzer.txt","r"); if(NULL==ziel) { fprintf(stderr,"Datei nutzer.txt kann nicht geöffnet werden!\n"); exit (0); } zeiger=anfang; while(zeiger!=NULL) { printf ("Bitte geben Sie folgendes ein, um sich erfolgreich anzumelden!\n"); printf ("Vornamen:\n"); scanf("%s",strcmp vorname); printf ("Nachname:\n"); scanf("%s",strcmp nachname); printf("Kontonummer:\n"); scanf("%s",strcmp kontonummer); printf("Passwort:\n"); scanf("%s",strcmp passwort); if(strcmp(char vorname,char nachname,char kontonummer,char passwort)==0) { printf ("Sie haben sich erfolgreich eingeloggt\n"); } fprintf(ziel,"%s|%s|%s|%s\n", zeiger->vorname,zeiger->nachname,zeiger->kontonummer,zeiger->passwort); zeiger=zeiger->next; } fclose(ziel); } so?
  5. hallo und zwar hab ich mal ne frage zur c programmierung. Wie kann ich die Eingabe mit einer txt datei vergleichen. Es handelt sich hierbei um ein login in einer doppelt verketteten liste
  6. das heißt jetzt was für mich? und was is das problem mit den syntaxfehlern
  7. Guten tag allerseits ... ich habe mein programm folgendermaßen umgeschrieben: # include <stdio.h> # include <malloc.h> //*Speicherverwaltung # include <stdlib.h> # include <string.h> # include <math.h> struct nutzer { char vorname [30]; char nachname [40]; //* Datenteil char passwort [20]; char kontonummer [10]; struct nutzer *next, *previous; //* Zeiger auf das benachbartes Listenelement, next=Nachfolger, previous=Vorgänger }; struct nutzer *anfang=NULL; struct neuer_nutzer { char telefonnummer[15]; char email[30]; int plz[6]; char wohnort[40]; }; //*--------------------------------------------------------------------------*/ //* Code für erstes Element der Liste anfang=(struct nutzer*)malloc(sizeof(struct nutzer)); strcpy (anfang->vorname,vorname); strcpy (anfang->nachname,nachname); strcpy (anfang->passwort,passwort); strcpy (anfang->kontonummer,kontonummer); if ((anfang=(struct nutzer*)malloc(sizeof(struct nutzer)))==NULL) { printf ("Es ist kein Speicherplatz vorhanden\n"); return; } anfang->next=NULL; ende=anfang; ende->previous=NULL; } //*--------------------------------------------------------------------------*/ //* Code für weitere Elemente in der Liste else if (anfang!=NULL) { zeiger=anfang while(zeiger->next!=NULL) zeiger=zeiger->next; //*läuft bis ans Ende zeiger->next=(struct nutzer *)malloc(sizeof(struct nutzer)); zeiger=zeiger->next; //*Zeiger auf neuen Speicherplatz strcpy (zeiger->vorname,vorname); strcpy (zeiger->nachname,nachname); strcpy (zeiger->passwort,passwort); strcpy (zeiger->kontonummer,kontonummer); zeiger->next=NULL } //*--------------------------------------------------------------------------*/ void oeffnen (char *name) //* Unterprogramm { FILE *zeiger_datei_nutzer; struct nutzer *zeiger; //*int i=0; zeiger_datei_nutzer=(nutzer *)malloc(sizeof(nutzer)); zeiger_datei_nutzer=fopen("nutzer.txt","w+b"); if (zeiger_datei_nutzer==NULL) { printf ("Es gab ein Problem beim öffnen der Datei\n"); getch(); return (-1); } else(zeiger_datei_nutzer!=NULL); { puts ("Vorgang wird ausgeführt! Drücken Sie bitte eine Taste"); getchar(); fprintf(zeiger_datei_nutzer,"%s|%s|%s|%s\n",zeiger->vorname,zeiger->nachname,zeiger->passwort,zeiger->kontonummer); zeiger=zeiger->next; } fclose(zeiger_datei_nutzer); } nun möchte ich erstmal wissen .. ob die reihenfolge so in ordnung ist und ob es jetzt der aufg.stellung entspricht :hells: ich kriege immer wieder fehler die mit syntax zu tun haben z.b. in zeile 29 "Syntaxfehler:'->'" "Syntaxfehler:')'" ... kann mir da jemand helfen
  8. das war meine letzte antwort gestern .. seitdem hab ich nichts mehr geschrieben ... ich versteh das problem jetzt nicht ... ich will doch einfach nur wissen was ich besser machen kann
  9. ja du meinst wahrscheinlich deine frage ob ich bei den vorlesungen und übungen nicht war ... auch wenn man bei vl und übungen ist muss man nicht alles verstehn ... sonst würd ich ja nich nach hilfe fragen
  10. na ihr habt ja fleißig wissen ausgetauscht ... allerdings weiß ich jetzt immer noch nich weiter
  11. das heißt jetzt welchen teil muss ich jetzt rauslassen ... wie gesagt ich kenn mich mit den listen nicht aus ... hab das nur so aus büchern und dem internet erarbeitet
  12. # include <stdio.h> # include <malloc.h> //*Speicherverwaltung # include <stdlib.h> # include <string.h> # include <math.h> struct nutzer //* Definition eines Listenelements { char vorname [40]; char name [40]; //* Datenteil char passwort [20]; char kontonummer [10]; struct nutzer *next, *prev; //* Zeiger auf das benachbartes Listenelement }; struct neuer_nutzer { char telefonnummer[15]; char email[30]; int plz[6]; char stadt[30]; }; void main () { int datei_nutzer; FILE *zeiger_datei_nutzer; struct nutzer *start=NULL, *aktuell=NULL; //* Zeiger auf das Element mit dem aktuell gearbeitet wird aktuell = (struct nutzer *) malloc (sizeof(struct nutzer)); //* Anlegen v. neuenm Listenelement //* soviel Speicher wie nutzer braucht aktuell-> prev=NULL; //* erstes Element hat kein Vorgänger - Zeiger ins Leere while (gets(aktuell->name) != NULL) //* solange noch Daten in der Eingabe vorhanden sind, name wird eingelesen { scanf ("%s", &aktuell->passwort); //* Passwort wird eingelesen scanf ("%d", &aktuell->kontonummer); //* Kontonummer wird eingelesen getchar(); //* Enter von scanf abfangen aktuell->next = (struct nutzer *) //* neues Listenelement reservieren, Komponente next darauf zeigen lassen malloc(sizeof(struct nutzer)); aktuell->next->prev = aktuell; //* um den "Rückweg" zu sichern wird Vorgängerzeiger des nächsten Elements auf das aktuelle aktuell = aktuell->next; //* das nächste, noch leere Element wird das aktuelle, ab hier wird also das neue Element durch aktuell referenziert } aktuell->passwort; //* auch wenn das Ende der Daten erreicht ist, wird ein neues aktuell->kontonummer; //* Element angelegt = leere Werte aktuell->name; aktuell->next = NULL; printf ("-----------------Kontoführungsprogramm-----------------\n"); do { printf ("Name:\n", aktuell->name); printf ("Passwort:\n", aktuell->passwort); printf ("Kontonummer:\n", aktuell->kontonummer); fflush(stdin); zeiger_datei_nutzer = fopen(datei_nutzer,"r"); } while (datei_nutzer == 0); } das is das jetzige programm ... es treten keine fehler auf ... allerdings macht es auch nichts .. aber hab ja auch noch nich viel zum machen ... könnt ihr mir weiterhelfen ob der erste teil so geht oder ich was ändern muss
  13. na toll du machst mir ja mut ... ich bin grad dabei das programm zu überarbeiten
  14. na wunderbar ich mir schon die ganzen anderen tage .. komm aber nich weiter

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