Hallo Leute. Ich habe ein GROßES Problem..... Ich habe eine Aufgabe bekommen die ich nicht gelöst bekomme. Habe den ersten Punkt der Aufgabe gelöst aber die anderen zwei bekomme ich einfach nicht hin. Das Problem ist, ich muss das Programm bis Donnerstag abgeben. Könnt ihr mir vieleicht weiter helfen???
BITTE!!!!
Aufgabe:
Entwickeln Sie ein interaktives C-Programm zur
Kontrolle der Vertragstreue von Lieferanten
Unter Nutzung der vorhandenen Datei VERTRAG.DAT sind wahlweise anzuzeigen:
1. die Namen aller Hauptlieferanten (Vertragsmenge im Bsp. > 500)
2. alle Angaben zu Verträgen mit einem Lieferanten, vom Nutzer aus einer
alphabetisch sortierten Liste aller Lieferanten zu wählen, geordnet nach Artikeln
und unter Auflistung der Gesamtvertragsmenge bei Mehrfachlieferung eines
Artikels,
3. die Namen aller Lieferanten bei denen bis zu einem, vom Nutzer einzugebenden
Termin keine Abweichungen zwischen Vertrags- und Liefermenge auftraten.
Hinweis:
Die Datei VERTRAG.DAT befindet sich auf dem Server (Unterverzeichnis
Aufgaben/Daten). Lesen Sie dazu auch die Datei Hinweise.doc / .pdf!
Die Datei hat dabei folgende Struktur:
struct Satz
{
char Vertragsnummer[7];
char Artikel[21];
char Lieferant[21];
short Vertragsmenge;
short Liefertermin[3];
short Liefermenge;
};
Und soweit bin ich bis jetzt. Und komme einfach mit Punkt 2 und 3 nicht zurecht.
#include <stdio.h>
struct vertrag //Einlesen der Struktur
{
char vertrnr[7];
char art[21];
char liiferant[21];
unsigned short vertagsmenge;
unsigned short liefertermin[3];
unsigned short liefermenge;
}__attribute__((packed))vertrag;
int main(int argc, char *argv[])
{
char Auswahl;
int i;
i=0;
FILE*Dateiptr;
char *datei_auswahl= "vertrag.dat";
printf("\n\t============\n");
printf("\t=== Aufgabe ===\n");
printf("\t=============\n\n");
if (!(Dateiptr = fopen(datei_auswahl,"rb")))
{
printf("Beim oeffnen der Datei %s ist ein Fehler aufgetreten.\n", datei_auswahl);
getch();
}
else
{
printf("Menue:\n");
printf("\tNamen aller Hauptlieferanten: (1)\n");
printf("\tBeenden: (4)\n");
printf("\tAuswahl:");
}
putch(Auswahl = getch());
switch (atoi(&Auswahl))
{
case 1:printf("\n\n\n\tName aller Hauptlieferanten:\n\n");
while (fread(&vertrag, sizeof(vertrag),1, Dateiptr) == 1)
{
if (vertrag.vertagsmenge>500)
{
i++;
printf("\t\t- %s\n",vertrag.liiferant);
}
}
break;
case 4:printf("\n\n\n\tBeliebige Taste druecken zum beenden!");
break;
}
getch();
return(0);
};