fix problem when invalid data is passed via stdin
This commit is contained in:
parent
5ed1fe740e
commit
7bb163ae33
10
src/sort.c
10
src/sort.c
@ -179,12 +179,12 @@ int main (int argc, char **argv) {
|
||||
for (i = 0; i < n; i++) {
|
||||
if (elegir) {
|
||||
opt = 0;
|
||||
while (opt <= 1) {
|
||||
fprintf(stdout, "Elegir elemento %lli: ", i + 1);
|
||||
while (!fscanf(stdin, "%d", &opt)) {
|
||||
// Falló, pide de nuevo después de limpiar stdin
|
||||
while ((opt = getchar()) != '\n' && opt != EOF) { }
|
||||
fprintf(stdout, "Número invalido! Tiene que ser mayor de 1!\n");
|
||||
fprintf(stdout, "Elegir elemento %lli: ", i + 1);
|
||||
fscanf(stdin, "%d", &opt);
|
||||
if (opt <= 1) {
|
||||
fprintf(stdout, "Número invalido! Tiene que ser mayor de 1!\n");
|
||||
}
|
||||
}
|
||||
array[i] = opt;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user