kostenloser Webspace werbefrei: lima-city


C nur einen Wert ausgeben

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    Hallo,

    ich habe in Informatik die Aufgabe bekommen eine Datenbank zu schreiben. Diese soll einlesen, ausgeben... können. Ich habe also eine Binärdatei erstellt und lese dort Werte ein und geb sie wieder aus.
    Ich bin schon die ganze zeit kurz vorm aufgeben, denn dieses Projekt ist echt sehr hart...
    Aber ich werde ja eine Note dafür bekommen. Also frage ich euch nach Ideen. Ich habe mehrere Klassennamen von den Schülern (11BG1, 11BG2, 11BG3. Diese möchte ich jetzt so ändern, dass diese Klassennamen nur 1 mal angezeigt werden. Also nicht so, wie sie noch in der Tabelle stehen (z.B. 11BG3, 11BG2, 11BG3...)
    Die werte der kompletten Klassennamen stehen hier drin:
    schueler.klasse

    wie kann ich jetzt abfragen, dass die Daten nur 1 mal ausgegeben werden. Mein Problem ist, dass die Klassen sich von den 3 genannten Klassen bis zu 50 Klassen ausweiten können...

    Da wohl manche meine Frage noch nicht ganz verstanden haben hier noch etwas code:

    struct datenbank
    {
    char vorname[25];
    char nachname[20];
    char klasse[20];
    int punkte;
    }schueler[30]; //initialisieren der anzahl der Schüler in die Struktur

    FILE * datenbank;
    if((datenbank = fopen(\"datenbank.datb\",\"rb\")) == NULL)
    {
    fprintf(stderr, \"FEHLER: Datei konnte nicht geöffnet werden\\n\");
    exit(1);
    }
    for(int i=0;i<50;i++)
    {
    fseek(datenbank,i*sizeof(struct datenbank),SEEK_SET);
    if(fread(&schueler,sizeof(struct datenbank),1,datenbank) == NULL)
    {
    break;
    }
    }
    nun möchte ich die schueler.klasse ausgegeben haben. Jedoch jeden Datensatz, den ich besitze nur 1 mal. Wenn ich einfach
    printf(\"%s \\n\",schueler.klasse);
    ausgebe kann es sein, dass z.B. 11BG3 2 mal ausgegeben wird. Es soll aber nur 1 mal ausgegeben werden


    Beitrag geändert: 24.5.2008 21:47:36 von raubritta
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Bin mir nicht sicher ob ich dich richtig verstanden habe, aber meinst du sowas: http://ubuntuusers.de/paste/225477/

    Am Ende werden alle gefundenen Klassen ausgeben, aber jede nur einmal.
    In anderen Sprachen wäre es wohl ein Einzeiler ;)
  4. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    DANKE, DANKE, DANKE kochmarkus: du hast mir echt meine Note gerettet :D
    es klappt!

    Warum kann man hier nur einmal ein +1 Karma geben. Du hättest ein plus
    100 verdient!

    EINE WEITERE FRAGE HÄTTE ICH NOCH:
    wie kann ich die Funktionen in VC++ 6.0 einklappen. Bei 1000 Zeilen Code ist das so schon sehr unübersichtlich!

    Danke im vorraus

    Beitrag geändert: 25.5.2008 16:21:57 von raubritta
  5. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Von meinem Code sind ja gerade mal 10 Zeilen wirklich inetressant ;)
    Außerdem muss ich eh meine C Kenntnisse ein bisschen auffrischen.
  6. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    Och, sie entsprach ungefähr meinen Kenntnissen. Also perfekt.

    EINE WEITERE FRAGE HÄTTE ICH NOCH:
    wie kann ich die Funktionen in VC++ 6.0 einklappen. Bei 1000 Zeilen Code ist das so schon sehr unübersichtlich!

    <- möchte ich nochmal fragen, da du es in den 3 sekunden wohl nicht mehr gesehen hast.
  7. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.


    Och, sie entsprach ungefähr meinen Kenntnissen. Also perfekt.

    EINE WEITERE FRAGE HÄTTE ICH NOCH:
    wie kann ich die Funktionen in VC++ 6.0 einklappen. Bei 1000 Zeilen Code ist das so schon sehr unübersichtlich!

    <- möchte ich nochmal fragen, da du es in den 3 sekunden wohl nicht mehr gesehen hast.

    Da ich kein VC++ verwende kann ich dir da leider nicht weiterhelfen.
    Aber wenn das funktioniert, dann weiß google bestimmt wie :blah:
  8. Autor dieses Themas

    raubritta

    Kostenloser Webspace von raubritta

    raubritta hat kostenlosen Webspace.

    Google konnte mir dort leider nicht helfen (vielleicht such ich nach dem Falschen Wort oder es geht mit dem Compiler wirkilich nciht)

    Naja, mir wird dann morgen hoffentlich in der Schule geholfen.

  9. wie kann ich die Funktionen in VC++ 6.0 einklappen. Bei 1000 Zeilen Code ist das so schon sehr unübersichtlich!

    Die Funktion die du suchst heißt Code-Folding. Keine Ahnung ob und wie VC das kann, aber da haste zumindest mal ein Stichwort für die Suche ;)
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!