Blanka
Lt. Junior Grade
- Registriert
- Dez. 2008
- Beiträge
- 396
Ich möchte ausgeben was ich vorher in "mw" gespeichert habe aber irgendwie spuckt
er glaub ich immer nur die adresse aus.
was mache ich falsch?
em ende des codes ist die stelle (new->....)
er glaub ich immer nur die adresse aus.
was mache ich falsch?
em ende des codes ist die stelle (new->....)
Code:
//#include <liste.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <memory.h>
#include <string.h>
#include <ctype.h>
#include <malloc.h>
typedef struct node {
struct node *rgt; /* Zeiger auf rechtes Element */
struct node *lft; /* Zeiger auf linkes Element */
struct data *pdt; /* Zeiger auf Datenstruktur */
} nd_T;
typedef struct header{
int len; /* Länge der Liste */
nd_T *bgn; /* Zeiger auf Listenanfang */
nd_T *end; /* Zeiger auf Listenende */
} hd_T;
typedef struct data{
int number; /* Nummer der Ware */
int mw; /* Menge der Ware in qm */
char preis; /* Preiskategorie A, B oder C */
} dt_T;
nd_T *create_node();
nd_T *create_node(void) {
nd_T *new;
if (new = (nd_T *)malloc(sizeof(nd_T))) {
new->pdt = (dt_T *)malloc(sizeof(dt_T));
new->rgt = new->lft = NULL; }
else printf("Fehler in create()!\n");
return(new);
}
int main(void){
hd_T head;
head.len = 0; // Liste ist leer
head.bgn = head.end = NULL;
//Zeiger auf Listenkopf
hd_T *ph = (hd_T *)malloc(sizeof(hd_T));
ph->len = 0; // Liste ist leer
ph->bgn = NULL;
ph->end = NULL;
nd_T *new = create_node();
printf("Warenmenge in qm eingeben: ");
fgets(new->pdt->mw, 50, stdin);
printf("%d", new->pdt->mw);
getch();
}