jap
Aktives Mitglied
Thread Starter
- Dabei seit
- 16.06.2004
- Beiträge
- 140
- Reaktionspunkte
- 1
Hallo alle!
Habe ein großes Problem bei einem C Programm:
Es soll in einen Stack mittels einer Funkt. push() dynamisch Strukturen eingehängt werden die die Koordinaten x, y u. z beinhalten.
pop() entfernt dann jedes einzelne Element vom Stack und gibt dieses nacheinander aus.
Einlesen klappt wunderbar. Als Ausgabe erhalte ich jedoch nichts!
Auf einem Win Rechner compiled erhalte ich eine Ausgabe!
ich verwende OS X Panther 10.3.9
Bin total ratlos! Ich hoffe jemand kann mir weiterhelfen! Testet es doch bitte mal auf eurem OS X obs an Panther liegt oder nicht!
Vllt liegts ja auch am Compiler...
Hier mal der Quellcode:
Hoffe es ergibt sich etwas!
Habe ein großes Problem bei einem C Programm:
Es soll in einen Stack mittels einer Funkt. push() dynamisch Strukturen eingehängt werden die die Koordinaten x, y u. z beinhalten.
pop() entfernt dann jedes einzelne Element vom Stack und gibt dieses nacheinander aus.
Einlesen klappt wunderbar. Als Ausgabe erhalte ich jedoch nichts!
Auf einem Win Rechner compiled erhalte ich eine Ausgabe!
ich verwende OS X Panther 10.3.9
Bin total ratlos! Ich hoffe jemand kann mir weiterhelfen! Testet es doch bitte mal auf eurem OS X obs an Panther liegt oder nicht!
Vllt liegts ja auch am Compiler...
Hier mal der Quellcode:
Code:
#include<stdio.h>
#include<stdlib.h>
struct point
{
float x;
float y;
float z;
};
struct umverpackung
{
struct point points;
struct umverpackung *next;
};
struct umverpackung *ptr_top;
struct point readPoint(void)
{
struct point newpoint;
printf("\nBitte x-Koordinate eingeben: ");
scanf("%f", &newpoint.x);
printf("Bitte y-Koordinate eingeben: ");
scanf("%f", &newpoint.y);
printf("Bitte z-Koordinate eingeben: ");
scanf("%f", &newpoint.z);
return newpoint;
}
void push(struct point newpoint)
{
struct umverpackung *ptr_malloc;
ptr_malloc = (struct umverpackung *) malloc(sizeof(struct umverpackung));
ptr_malloc->points = newpoint;
ptr_malloc->next = ptr_top;
ptr_top = ptr_malloc;
}
struct point pop(void)
{
struct umverpackung *ptr_oldtop;
struct point ausgabe;
ausgabe = ptr_top->points;
ptr_oldtop = ptr_top;
ptr_top = ptr_top->next;
free(ptr_oldtop);
return ausgabe;
}
void printStackElement(struct point aPoint)
{
printf("x= %f.2 y= %f.2 z= %f.2", aPoint.x, aPoint.y, aPoint.z);
}
int isEmpty(void)
{
return ptr_top == NULL;
}
int main(void)
{
char option;
ptr_top = NULL;
while(1)
{
printf("'p' fuer Punkt eingeben, 'q' fuer Ausgabe: ");
scanf(" %c", &option);
if(option == 'p') //add new point
{
push(readPoint());
}
else if(option == 'q')
{
while(isEmpty()==0)
{
printStackElement(pop());
}
return 0;
}
}
}
Hoffe es ergibt sich etwas!
Zuletzt bearbeitet: