Δημοσιεύτηκε: 24 Ιουν 2011, 17:08
από migf1
Αντί για scanf() διαβάζεις όλη τη γραμμή του input μονοκόμματα σε μια μεταβλητή τύπου string (έχεις φροντίσει να έχει ικανή χωρητικότητα) χρησιμοποιώντας είτε την έτοιμη fgets() είτε την custom s_get() (που έχω αναλύσει πολλές φορές και με κώδικα, και εδώ και στο φόρουμ της gvrteam).

Κατόπιν με χρήση της έτοιμης συνάρτησης strtok() σπας το μονοκόμματο string σου στις λέξεις (υπό-strings) από τις οποίες αποτελείται (π.χ. όσες χωρίζονται από κενά) και αναθέτεις τη κάθε μια από αυτές σε μεταβλητές, χρησιμοποιώντας έτοιμες συναρτήσεις από τη βιβλιοθήκη stdlib.h για να μετατρέψεις την κάθε λέξη στον τύπο δεδομένων που αντιστοιχεί στην εκάστοτε μεταβλητή (π.χ. την atoi() για να μετατρέψεις μια λέξη από string σε int, κλπ).

Αν βρεις το κουράγιο να διαβάσεις το νήμα του Calculator, τα γράφω αναλυτικά, με παραδείγματα και κώδικα.
clepto έγραψε:έχω μια απορία...πείτε ότι έχω έναν απλό κώδικα όπως αυτός
Κώδικας: Επιλογή όλων

#include <stdio.h>

main(){
int x, y;
printf("bale arithmous ");
scanf("%d" "%d", &x, &y);

printf("oriste %d %d", x, y);
}


αυτός ο κώδικας παίρνει μέχρι 2 μεταβλητές...
αν το χρήστης βάλει παραπάνω εμφανίζει μόνο τις 2 πρώτες...
πως μπορώ να το κάνω όσους αριθμούς να βάλει ο χρήστης να τις βάζει σε μεταβλητές και μετά να κάνει τις πράξεις;