Δημοσιεύτηκε: 05 Ιουν 2011, 13:10
Qdata έγραψε:UnKnown96 έγραψε:Για κάποιο λόγο στο Linux δεν δέχετε τις εντολές pow sqrt και getch δοκίμασε κάτω από το #include <stdio.h> να βάλεις και αυτό : #include <math.h>
και πες μου αν δουλεύει.
edit: και αντικατέστησε το getch(); με getchar();
Τώρα μου βγάζει:
- Κώδικας: Επιλογή όλων
$ gcc calc.c -o calc
/tmp/ccUJ2S1N.o: In function `main':
calc.c:(.text+0x288): undefined reference to `pow'
calc.c:(.text+0x2e2): undefined reference to `sqrt'
collect2: ld returned 1 exit status
Οπότε δεν δέχεται τις εντολές pow και sqrt.
Στα Windows γιατί δουλέυει?
Έλεος...
M.Jackson έγραψε:Σε βαθμολογώ με ένα 3.
Αυτά που πρέπει να διορθώσεις είναι τα εξής
1) Καλύτερα να φτιάξεις functions για την κάθε πράξη παρά να χρησιμοποιήσεις πράξεις μέσα στην case
2) Να διαβάζεις του αριθμούς μια φορά και όχι για κάθε πράξη.
3) Καλύτερα τον αριθμό για τις πράξεις να τον διαβάζεις μέσα σε ένα while έτσι ώστε να απομονώσεις την είσοδο λανθασμένου αριθμού για την πράξη. αποφεύγεις πολλά else κτλ..
4) Στην διαίρεση καλύτερα να ελέγχεις (μέσα στο function τις διαίρεσης για τον αριθμό 0 => 5/0 = αδύνατη πράξη)
5) Καλύτερα να έχεις μια γενική μεταβλητή DOUBLE/FLOAT για αν αποθηκεύεις το αποτέλεσμα για κάθε πράξη έτσι ώστε να μην έχει πρόβλημα με τους δυαδικούς/πραγματικούς αριθμούς.
Αυτά από εμένα
Καλή προσπάθεια πάντως!
Σε ευχαρίστω πολύ!
Να σε ρωτίσω κάτι...
Εσένα σου δουλεύει;
Δεν καταλαβένω γιατί δεν δέχετε τις εντολές στον Qdata...