Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 50
- void kundeAnlegen();
- void kundeAusgeben();
- void nachNameSortieren();
- void nachNummerSortieren();
- void nachNameDurchsuchen();
- void nachNummerDurchsuchen();
- typedef struct _kunDB {
- int num;
- char *name;
- int plz;
- char *ort;
- } kunDB_t;
- kunDB_t feld[MAX];
- int count = 0;
- int main()
- {
- int n;
- while (1)
- {
- n = abfrage();
- if (n == 0) break;
- else if (n == 1) kundeAnlegen(); // funktioniert
- else if (n == 2) kundeAusgeben(); // funktioniert
- else if (n == 3) nachNameSortieren(); // geht nicht
- else if (n == 4) nachNummerSortieren(); // geht nicht
- else if (n == 5) nachNameDurchsuchen(); // funktioniert
- else if (n == 6) nachNummerDurchsuchen(); // funktioniert
- }
- getchar();
- return 0;
- }
- int abfrage()
- {
- int ak;
- printf("1 Neuen Kunden anlegen und Daten eingeben\n");
- printf("2 Feld der Kundendaten ausgeben\n");
- printf("3 Feld der Kundendaten nach Namen sortieren\n");
- printf("4 Feld der Kundendaten nach Kundennummer sortieren\n");
- printf("5 Feld der Kundendaten nach Namen durchsuchen\n");
- printf("6 Feld der Kundendaten nach Kundennummer durchsuchen\n");
- printf("0 Programm beenden\n\n");
- printf("Eingabe : ");
- scanf("%d", &ak);
- printf("\n");
- return ak;
- }
- void kundeAnlegen()
- {
- char n_ptr[50];
- char o_ptr[20];
- int k_nummer = 0;
- int k_plz = 0;
- kunDB_t *ptr = (kunDB_t*)malloc(sizeof(kunDB_t));
- printf("Kundendaten in folgendem Format eingeben\n");
- printf("Kundennummer Name Postleitzahl Wohnort\n");
- scanf("%d %s %d %s", &k_nummer, n_ptr, &k_plz, o_ptr); fflush(stdin);
- printf("\n");
- ptr->num = k_nummer;
- ptr->name = _strdup(n_ptr);
- ptr->plz = k_plz;
- ptr->ort = _strdup(o_ptr);
- feld[count] = *ptr;
- count++;
- free(ptr);
- }
- void kundeAusgeben()
- {
- int i;
- for (i = 0; i < count; i++)
- {
- printf("\n\n");
- printf("%d K_Num: %d\n", i, feld[i].num);
- printf("%d K_Name: %s\n", i, feld[i].name);
- printf("%d K_PLZ: %d\n", i, feld[i].plz);
- printf("%d K_Ort: %s\n\n", i, feld[i].ort);
- }
- }
- void nachNameSortieren()
- {
- }
- void nachNummerSortieren()
- {
- int n = count;
- int i;
- while (n--)
- {
- for (i = 0; i < n; i++)
- {
- if (feld[i].num > feld[i + 1].num)
- {
- kunDB_t *satz = (kunDB_t*)malloc(sizeof(kunDB_t));
- satz->name = feld[i].name;
- satz->num = feld[i].num;
- satz->plz = feld[i].plz;
- satz->ort = feld[i].ort;
- feld[i].name = feld[i + 1].name;
- feld[i].num = feld[i + 1].num;
- feld[i].plz = feld[i + 1].plz;
- feld[i].ort = feld[i + 1].ort;
- feld[i + 1] = *satz;
- free(satz);
- }
- }
- }
- }
- void nachNameDurchsuchen()
- {
- int i;
- char anfang[1];
- printf("%d Anfangsbuchstabe : ", count);
- scanf("%s", &anfang); fflush(stdin);
- printf("\n");
- for (i = 0; i < count; i++)
- {
- if (anfang[0] == feld[i].name[0])
- {
- printf("\n\n");
- printf("K_Num: %d\n", feld[i].num);
- printf("K_Name: %s\n", feld[i].name);
- printf("K_PLZ: %d\n", feld[i].plz);
- printf("K_Ort: %s\n\n", feld[i].ort);
- }
- }
- }
- void nachNummerDurchsuchen()
- {
- int ak;
- printf("Nummer: ");
- scanf("%d", &ak); fflush(stdin);
- printf("\n");
- int i;
- for (i = 0; i < count; i++)
- {
- if (feld[i].num == ak)
- {
- printf("\n\n");
- printf("K_Num: %d", feld[i].num);
- printf("K_Name: %s", feld[i].name);
- printf("K_PLZ: %d", feld[i].plz);
- printf("K_Ort: %s\n\n", feld[i].ort);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement