📄 lager1.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct lagerverwaltung
{
long artikelnummer;
char artikelbezeichnung[100];
int anzahl_artikel;
struct lagerverwaltung *next;
};
struct lagerverwaltung *first = NULL;
void insert_lagerverwaltung(long art_nr, char art_tit[], int anz_art)
{
struct lagerverwaltung *lager_ptr;
if(first == NULL)
{
first = (struct lagerverwaltung *)malloc(sizeof(struct lagerverwaltung));
if(first == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
first->artikelnummer = art_nr;
strcpy(first->artikelbezeichnung, art_tit);
first->anzahl_artikel = anz_art;
first->next = NULL;
}
}
else
{
lager_ptr=first;
while(lager_ptr->next != NULL)
lager_ptr = lager_ptr->next;
lager_ptr->next = (struct lagerverwaltung *)malloc(sizeof(struct lagerverwaltung));
if(lager_ptr->next == NULL)
{
printf("Speicherplatzmangel!!!\n");
exit(0); /* Programm beenden */
}
else
{
lager_ptr = lager_ptr->next;
lager_ptr->artikelnummer = art_nr;
strcpy(lager_ptr->artikelbezeichnung, art_tit);
lager_ptr->anzahl_artikel = anz_art;
lager_ptr->next = NULL;
}
}
printf("\nNeuer Artikel hinzugefuegt\n\n");
}
void output_lagerverwaltung()
{
struct lagerverwaltung *lager_ptr;
if(first == NULL)
printf("Es sind kein Daten zum Ausgeben vorhanden!!\n");
else
{
lager_ptr = first;
while(lager_ptr != NULL)
{
printf("Artikelnummer : %ld\n",lager_ptr->artikelnummer);
printf("Artikelbezeichnung : %s",lager_ptr->artikelbezeichnung);
printf("Anzahl Artikel : %d\n\n",lager_ptr->anzahl_artikel);
lager_ptr = lager_ptr->next;
}
}
}
void read_lagerverwaltung(void)
{
long an;
char at[100];
int aa;
printf("Artikelnummer : ");
scanf("%ld",&an); fflush(stdin);
printf("Artikelbezeichnung : ");
fgets(at, sizeof(at), stdin);
printf("Anzahl d. Artikel : ");
scanf("%d",&aa);
insert_lagerverwaltung(an,at,aa);
}
int main()
{
int abfrage;
do{
printf("<1> Neue Daten einlesen\n");
printf("<2> Alle Daten ausgeben\n");
printf("<3> Ende\n\n");
printf("Ihre Auswahl : ");
scanf("%d",&abfrage);
/* Bei Problemen mit scanf() die Funktion getchar()
anstatt fflush(stdin) verwenden !!! */
fflush(stdin);
switch(abfrage)
{
case 1 : read_lagerverwaltung(); break;
case 2 : output_lagerverwaltung(); break;
case 3 : printf("Bye\n"); break;
default : printf("Falsche Eingabe!!!\n");
}
}while(abfrage != 3);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -