Δεν τα έχω διαβάσει, ξεκινώ τώρα και μετά θα προσπαθίσω πάλι.
Ευχαριστώ βοηθάς πολύ!
Συντονιστής: konnn
M.Jackson έγραψε:Off topic:
Πως έγινε ένα προγραμματάκι υπολογισμού απλών πράξεων topic 8 σελίδων θα τρελαθώ!!! axaxa :p
M.Jackson έγραψε:Off topic:
Πως έγινε ένα προγραμματάκι υπολογισμού απλών πράξεων topic 8 σελίδων θα τρελαθώ!!! axaxa :p
migf1 έγραψε:Τίποτα ρε συ
Θα σου πρότεινα να βάλεις ως επόμενο (λίγο μακρινό σου) στόχο την τελική υλοποίσηση του calculator σε κανονικό calculator, με τον χρήστη να γράφει όλες τις πράξεις σε μια γραμμή, στο στυλ: (5+2)*3-4
Αν το καταφέρεις αυτό, όχι μόνο θα έχεις αποκτήσει μια αρκετά (έως πολύ) σφαιρική γνώση της γλώσσας, αλλά θα έχεις χρησιμοποιήσει και πολλές από τις advanced τεχνικές που διαθέτει! Είναι πολύ καλό project, αφού δεν μένει μονάχα σε trivial πράγματα, αλλά σε εισαγάγει και στην ανάλυση αλγορίθμων (όπως για παράδειγμα το Reverse Polish Notation, που έχω ήδη αναφέρει σε άλλες σελίδες και για το οποίο θα χρειαστεί να διαβάσεις πως δουλεύει... αν και όταν φτάσεις εκεί, πες μου να σου δώσω και τον κώδικα μετατροπής από infix σε postfix notation).
Τρεις είναι οι γενικότερες ενότητες που θα χρειαστείς από εδώ και πέρα για την επίτευξη αυτού του στόχου:Οπότε διάβασε ότι σου ελκύει το ενδιαφέρον, αλλά εστίασε σε αυτά τα 3!
- structures (δομές δεδομένων, και συγκεκριμένα στη δομή που ονομάζεται στοίβα (stack) )
- pointers (δείκτες)
- strings (συμβολοσειρές)
Σχετικά με τις δικές μου δημοσιεύσεις, για να μη ψάχνεις, διάβασε από εδώ και κάτω (σε εισαγάγουν στα Ελληνικά στους pointers και στα strings).
UnKnown96 έγραψε:
3. (Αυτό υπάρχει και στου migf1) Όταν χρησιμοποιείσης ως διαιρέτη, δεκαδικό αριθμό, το πρόγραμμα πετάει error.
case '4': // 4. DIVISION
case '/':
{ double intpart;
puts("\nDivision\n--------");
num_askuser("Divident: ", &x, MAXSLEN_LINEBUF);
do { // demand non-zero value
num_askuser("Divisor : ", &y, MAXSLEN_LINEBUF);
if ( y == 0.0 )
puts("*** error: divisor cannot be 0");
} while (y == 0.0);
printf ("--------\nRESULT: %g / %g = %g (quotient = %g, remainder = %g)\n",
x, y, x/y, trunc(x/y), y * modf(x/y, &intpart) );
}
break;
double modf ( double x, double * intpart );
UnKnown96 έγραψε:
[snip]
Όσο για τα υπόλοιπα σου 'ρχετε καμία λύση;