Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδια! Προσπαθω να προσθεσω σε μια λιστα τιμες , οι οποιες να βρισκονται μεταξυ καποιων οριων. Ενω οταν πληκτρολογω τιμες οι οποιες θελω να περασουν , ολα κυλουν μια χαρα , οταν πληκτρολογω καποια εκτος των επιτρεπτων οριων , το προγραμμα κρασαρει. Παραθετω και το κομματι του κωδικα :

                    do

                    {                                              
                        list.Add(int.Parse(Console.ReadLine()));
 
                    } while ((list < 0) || (list > 1000));
 
Κανω κατι λαθος;
Δημοσ.

Καταρχην ευχαριστω πολυ για το χρονο σου. Μετα απο λιγη ωρα μου βγαζει αυτο με υπογραμμισμενη την εντολη που εχω να διαβαζει τα στοιχεια της λιστας.

post-274833-0-07720500-1480505937_thumb.png

Δημοσ.

Καταρχην ευχαριστω πολυ για το χρονο σου. Μετα απο λιγη ωρα μου βγαζει αυτο με υπογραμμισμενη την εντολη που εχω να διαβαζει τα στοιχεια της λιστας.

 

Αν μπορείς δώσε όλο το code snippet που χρησιμοποιείς.

  • Like 1
Δημοσ.

Πες μας και τι πληκτρολογείς όταν κρασάρει, γιατὶ δείχνει να έχει πρόβλημα με τον τύπο της τιμής που περνάς

πχ βαζω την τιμη 2000 , η οποια δεν βρισκεται μεταξυ των επιτρεπτων. Δεν αντιδραει τιποτα.Στη συνεχεια ξαναπληκτρολογω και εκει κρασαρει. Σαν να μην δουλευει σωστα η δομη επαναληψης.

Βαζοντας integer κολλαει , οχι με καποιο string η double αν εννοεις αυτο.

Αν μπορείς δώσε όλο το code snippet που χρησιμοποιείς.

for (i = 0; i < k; i++)
                {
                   
                    do
                    {                                              
                       list.Add(int.Parse(Console.ReadLine()));
 
                    } while ((list < 0) || (list > 1000));
 
                   
                    do
                   {
                       
                       list1.Add(int.Parse(Console.ReadLine()));
 
                      } while ((list1 < 0) || (list1 > list));
                  
                }
Δημοσ.

Πρέπει να μας πείς 2 λογάκια τι θέλεις να κάνεις , τι είναι οι counters που χρησιμοποιείς για την λίστα και ακριβώς τις τιμές που περνάς για να βοηθήσουμε.

Βάλε και μεγαλύτερο μπλοκ απο κώδικα να καταλάβουμε λίγο , τι είναι η list και η list1 και τι είναι ο k και το i που κάνεις loop?

Δημοσ.

Δεν κρασαρει... γινεται pause επειδη δεν επιασες καποιο exception. Πατας break και βλεπεις πως στο πεταξε η int.Parse, επειδη περασες κατι που δεν γινεται parse.

Δημοσ.

Δεν κρασαρει... γινεται pause επειδη δεν επιασες καποιο exception. Πατας break και βλεπεις πως στο πεταξε η int.Parse, επειδη περασες κατι που δεν γινεται parse.

Μα το θεμα ειναι οτι αυτο γινεται οταν βαζω ακεραιο εκτος οριων, οχι καποιον αλλο χαρακτηρα. Εχεις καποια προταση για να αλλαξω κατι στο κωδικα;

Δημοσ.

Βαλε το αποτελεσμα της κονσολας.ριντ σε μια μεταβλητη και βαλε αυτη στο parse

Το εχω δοκιμασει ηδη. Δεν ειχε διαφορα. Οπως και να εχει ευχαριστω.

Δημοσ.

Πως δεν εχει διαφορα;

Κανε αυτο οου σου λεω. Μετα οταν πιασεις το exception pata break kai des ti timh exei h metavlith

Εννοεις αυτο αν καταλαβα καλα?

Αν ναι τοτε μου βγαζει το ιδιο προβλημα.Αν και τωρα αντι να μου crashαρει απλως φαινεται σαν να κολλαει στη λουπα και να μη βγαινει ποτε.

post-274833-0-65311500-1480516045_thumb.png

Δημοσ.

Στις loops σου πάντα προσθέτεις κάτι στις λίστες, αλλά τσεκάρεις το στοιχείο i, που δεν του αλλάζεις την τιμή πάρα μόνο στην εξωτερική λούπα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...