#include #include #include typedef struct litem_t{ char * orderno; char * name; float price; int count; } litem; typedef struct llist_t{ struct litem_t *item; struct llist_t *next; } llist; llist* addItem(llist* alist, char* orderno, char* name, float price, int count, float sum){ if (alist==NULL){ //neue liste anlegen! alist=(llist*) calloc(1,sizeof(llist)); alist->next=NULL; }else{ llist* newlist=(llist*)calloc(1,sizeof(llist)); newlist->next=alist; alist=newlist; } alist->item=(litem*)calloc(1,sizeof(litem)); alist->item->orderno=strdup(orderno); alist->item->name=strdup(name); alist->item->price=price; alist->item->count=count; if ( price*count != sum ){ printf("error: price * count != sum \n"); } return alist; } void dumpList(llist* alist){ while (alist!=NULL){ printf("%10s %40s %8.2f %03i %8.2f\n", alist->item->orderno, alist->item->name, alist->item->price, alist->item->count, alist->item->count * alist->item->price); alist=alist->next; } } int main(int argc, char** argv){ llist *alist; alist= addItem(NULL, "UT 2042 C","40 MHz-Digital-Speicher-Oszilloskop",349.00, 1, 349.00); alist= addItem(alist, "AGF 2 SW","Hirschmann-Abgreifklemme 4mm schwarz",5.10,1, 5.10); dumpList(alist); }