Υποχρεωτικη εισαγωγη integer απο χρηστη σε while βρογχο

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
pol2005
Δημοσιεύσεις: 58
Εγγραφή: 26 Δεκ 2008 20:50

Υποχρεωτικη εισαγωγη integer απο χρηστη σε while βρογχο

Δημοσίευση από pol2005 » 30 Μαρ 2014 15:42

Καλησπερα σε ολους.Εχω ενα μικρο προβληματακι με ενα while.Ο κωδικας μου ειναι αυτος:

int level;
printf("επιλεξτε 1 ή 2\n");
scanf("%d",&level);
while (level!=1 && level!=2) {
printf("Ξαναβαλτε το level.Πρεπει να ειναι 1 ή 2\n");
scanf("%d",&level);
}
Εαν ο χρηστης εισαγει μονο αριθμους το προγραμμα δουλευει κανονικα.Εαν ομως εισαγει πχ ενα γραμμα,τοτε ο βρογχος γινεται ατερμονος και εκτυπωνεται συνεχεια το"Ξαναβαλτε το level.Πρεπει να ειναι 1 ή 2".Υπαρχει καμια λυση να υποχρεωνω το χρηστη να βαζει μονο αριθμους?

AlexFreestuff
Δημοσιεύσεις: 31
Εγγραφή: 04 Μάιος 2009 06:57

Υποχρεωτικη εισαγωγη integer απο χρηστη σε while βρογχο

Δημοσίευση από AlexFreestuff » 30 Μαρ 2014 17:53

#include<stdio.h>
char level;
int metatropi;
main(){
printf("επιλεξτε 1 ή 2\n");
scanf("%s",&level);
metatropi=level;
while (metatropi<49 ||metatropi>50) {
printf("Ξαναβαλτε το level.Πρεπει να ειναι 1 ή 2\n");
scanf("%s",&level);
metatropi=level;
}
}

Δηλώνεις στην εισαγωγή ότι θα εισαχθεί χαρακτήρας μετατρέπεις τον χαρακτήρα σε ascii αριθμό
και κάνεις τον έλεγχο με τον ascii ποια και είσαι οκ καλή συνέχεια

pol2005
Δημοσιεύσεις: 58
Εγγραφή: 26 Δεκ 2008 20:50

Υποχρεωτικη εισαγωγη integer απο χρηστη σε while βρογχο

Δημοσίευση από pol2005 » 30 Μαρ 2014 18:26

Σε ευχαριστω παρα πολυ.Δουλευει και μου ελυσε πραγματικα πολλα προβληματα που ειχα με τα input των users.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες