Στο πρώτο while loop έχεις γράψει
while(x != '\n') { ... }
το οποίο σημαίνει πως το '\n'
της πρώτης γραμμής θα διαβαστεί απο το x
.
Έπειτα ανάμεσα στα δύο while έχεις SKIP_LINE()
, το οποίο περιμένει να διαβάσει και να κάνει discard τα πάντα μέχρι το επόμενο '\n'
.
Τέλος στο 2ο while(y != '\n')
διαβάζεις από την είσοδο το κλειδί μέχρι το y να διαβάσει το '\n'
ξανά.
Συνολικά ο κώδικάς σου απαιτεί 3 γραμμές εισόδου, το οποίο προκαλείται από το περιττό SKIP_LINE()
μετά το πρώτο while.