C Programm keine Ausgabe unter Win läufts !?

Diskutiere mit über: C Programm keine Ausgabe unter Win läufts !? im Mac OS X Entwickler, Programmierer Forum

  1. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    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:
    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: 06.12.2005
  2. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    Registriert seit:
    21.01.2005
    Tja, da haste aber Glück gehabt das es unter Windows funktioniert.

    Du prüfst
    Code:
    while (isEmpty==0)
    
    versuchs mal mit
    Code:
    while (isEmpty()==0)
    
     
  3. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    Nein immernoch keine Ausgabe!

    Die () hab ich vergessen wieder dran zu schreiben hatte die auch mal entfernt und es über eine variable gemacht um zu testen (man macht ja so manches wenn man nicht mehr weis was los ist)

    Hast Du es mal compiliert?
     
  4. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    Registriert seit:
    21.01.2005
    Ja. Mit den zusätzlichen Klammern funktionierts wunderbar.
     
  5. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    Bei mir nicht, wie gesagt die waren vorher auch schon dran habs eben nochmal selbst getestet (gcc -o name name.c && ./name) wenn sie dran sind und bekomme keine Ausgabe!
    Liegts dann wohl an Panther?
     
  6. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    Registriert seit:
    21.01.2005
    Hmmm... kann ich mir irgendwie nicht vorstellen. Ich hab allerdings Tiger und da funktionierts ja anscheinend. Ich seh so spontan nix in dem Quellcode was mit Panther nicht funktionieren würde. Woher hast du denn den Compiler? Hast du den mit den XCode-Tools installiert?
     
  7. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    Ja hab mir das Xcode geladen von der developer Seite... ich schau da jetzt nach obs etwas neueres gibt wer weis... bin schon ratlos.. :/
     
    Zuletzt bearbeitet: 06.12.2005
  8. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    Zitat der Apple Developer Connection Download Seite:

    gcc Updaters
    The November 2004 gcc 3.3 updater provides improvements to C++ compatibility and debugging of code build using dead code stripping. This updater can only be applied to Xcode Tools 1.5. The August 2003 gcc updater GCC updater includes the GCC 3.3 compiler in addition to other updates that will allow development of G5 optimized code using the December 2002 release of the Mac OS X Developer Tools.

    Welchen nehm ich jetzt von den beiden?
    Wie bekomm ich raus welche Version mein gcc hat?
    Ich hab 1.5 drauf wegen 10.3.9

    Hab nun GCC aktualisiert: funktioniert noch immer nicht! also noch immer keine Ausgabe.

    Hab eben nochmal die Bestätigung das es unter Win eine Ausgabe macht und auch bei Tiger wie *-jalapeno-* schrieb bekommt man eine Ausgabe.

    Was kann hier los sein?
     
    Zuletzt bearbeitet: 06.12.2005
  9. jap

    jap Thread Starter MacUser Mitglied

    Beiträge:
    140
    Zustimmungen:
    1
    Registriert seit:
    16.06.2004
    Problem gelöst:
    Hatte bis gerade eben die zshell anstatt der bash in Verwendung.
    In der bash compiliert erhalte ich eine Ausgabe der Werte!!!

    Vielen Dank *-jalapeno-* für deine Hilfe, echt nett!

    bis bald mal wieder mit eineem neuen Problem :p
     
Die Seite wird geladen...
Ähnliche Themen - Programm Ausgabe unter Forum Datum
Mein erstes macOS Programm Mac OS X Entwickler, Programmierer 22.08.2016
C++ Programm von Windows zu Mac? Mac OS X Entwickler, Programmierer 05.05.2016
Xcode Programm in einer interaktiven Konsole starten Mac OS X Entwickler, Programmierer 22.09.2014
Mein Java Programm läuft in der IDE, hängt sich aber ohne IDE auf ? Mac OS X Entwickler, Programmierer 21.01.2014
Java basiertes Programm läuft unter bestimmtem User nicht Mac OS X Entwickler, Programmierer 27.12.2013

Diese Seite empfehlen

Benutzerdefinierte Suche