fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #ifdef __cplusplus
  4. #error ich bin ein depp
  5. #endif
  6.  
  7. typedef struct
  8. {
  9. char beschreibung[20];
  10. long int nummer;
  11. int bedarf;
  12. } Geraet;
  13.  
  14. int main()
  15. {
  16. Geraet *liste=0;
  17. int i=0;
  18. while(liste=realloc(liste,++i*sizeof*liste))
  19. {
  20. printf("\n%33s"," - Bezeichung <Ende mit \"0\">: ");
  21. scanf("%19[^\n]",liste[i-1].beschreibung); while(!feof(stdin)&&!ferror(stdin)&&getchar()!='\n');
  22. if(liste[i-1].beschreibung[0]=='0') break;
  23. printf("%21s","- Geräte_Nummer: ");
  24. if( 1!=scanf("%ld",&liste[i-1].nummer) ) break; while(!feof(stdin)&&!ferror(stdin)&&getchar()!='\n');
  25. printf("%14s","- Bedarf: ");
  26. if( 1!=scanf("%d",&liste[i-1].bedarf) ) break; while(!feof(stdin)&&!ferror(stdin)&&getchar()!='\n');
  27. }
  28. --i;
  29. while(i--)
  30. printf("\n%3d%19s%7li%5i",i+1,liste[i].beschreibung,liste[i].nummer,liste[i].bedarf);
  31. free(liste);
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0s 1968KB
stdin
eimer
11
10
besen mini
22
100
tasche
33
1000
0
stdout
    - Bezeichung <Ende mit "0">:    - Geräte_Nummer:     - Bedarf: 
    - Bezeichung <Ende mit "0">:    - Geräte_Nummer:     - Bedarf: 
    - Bezeichung <Ende mit "0">:    - Geräte_Nummer:     - Bedarf: 
    - Bezeichung <Ende mit "0">: 
  3             tasche     33 1000
  2         besen mini     22  100
  1              eimer     11   10