Hallo!
Ich soll ein Programm schreiben, was Buchtitel, Autor und Erscheinungsjahreinliest. In ein Array packen und das Array ausgeben.
Ich hab mir das so gedacht:
Nur so funktioniert es leider nicht. Kann mir einer helfen und sagen, was ich ändern muss?
Gruß
mcyonx
Ich soll ein Programm schreiben, was Buchtitel, Autor und Erscheinungsjahreinliest. In ein Array packen und das Array ausgeben.
Ich hab mir das so gedacht:
Code:
#include <stdio.h>
#include <math.h>
int* array_create ()
{
return NULL;
}
struct* array_append1 (struct* array, int* laenge, struct inhalt)
{
(*laenge)++;
array = (struct*) realloc (array, (*laenge) * sizeof(struct));
array[*laenge-1] = inhalt;
return array;
}
void print_array (struct *array, int laenge)
{
int i;
for (i = 0; i < laenge; i++)
{
printf ("%c ", array[i]);
}
printf("\n");
}
void array_delete (int* array)
{
free(array);
}
int main()
{
struct buch {
char titel[20];
char autor[20];
int jahr;
} b1, p2;
char i,anzz;
char * buch;
char* a = array_create ();
int len = 0;
printf("Titel:");
scanf("%s", &b1.titel);
printf("Autor:");
scanf("%s", &b1.autor);
printf("Erscheinungsjahr:");
scanf("%d", &b1.jahr);
//printf("Titel: %s\n", b1.titel);
//printf("Autor: %s\n", b1.autor);
//printf("Erscheinungsjahr: %d\n", b1.jahr);
/* 1 anfuegen */
a = array_append1 (a, &len, b1);
print_array (a, len);
array_delete (a);
system("pause");
}
Nur so funktioniert es leider nicht. Kann mir einer helfen und sagen, was ich ändern muss?
Gruß
mcyonx