epiphone6 Δημοσ. 16 Αυγούστου 2011 Δημοσ. 16 Αυγούστου 2011 Παιδιά Καλησπέρα!!Έχω μια ασκηση javascript και επειδή δεν είναι ιδιαίτερα καλός, χρειάζομαι βοήθεια!! ο καθηγητής μας είχε ζητήσει να φτιάξουμε ένα calculator, αλλά επειδή υποψιάστηκε ότι είναι από όλους έτοιμος ο κώδικας, έκανε να την ξανακάνουμε κάνοντας εκείνος την αρχή και μας ζητά να την συμπληρώσουμε εμείς. Από ότι βλέπει ζητάει να γίνει με συναρτήσεις. Παιδιά ανεβάζω τον κώδικα και το τι ζητάει και αν κάποιο μπορεί να βοηθήσει... θα του είμαι υποχρεωμένος. Code: -------------------------------------------------------------------------------------------------- <html> <head> <title>javascript</title> <script type="text/javascript"> function add_number(v) { } function add_operator(v) { } function clear_results() { } function calculate_results() { } </script> </head> <body> <form name="mycalc"> <table width="100%" border="0" cellspacing="4" cellpadding="0"> <tr> <td width="70">number a:</td> <td width="100"><input type="text" name="na" value="" size="6" /></td> <td rowspan="4"> <input type="button" name="c1" value="1" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c2" value="2" style="width:30px;" /> <input type="button" name="c3" value="3" style="width:30px;" /> <input type="button" name="c4" value="4" style="width:30px;" /> <br /> <input type="button" name="c5" value="5" style="width:30px;" /> <input type="button" name="c6" value="6" style="width:30px;" /> <input type="button" name="c7" value="7" style="width:30px;" /> <input type="button" name="c8" value="8" style="width:30px;" /> <br /> <input type="button" name="c9" value="9" style="width:30px;" /> <input type="button" name="c0" value="0" style="width:30px;" /> <input type="button" name="c" value="C" style="width: 64px;" /> <br /> <input type="button" name="sin" value="+" style="width:30px;" /> <input type="button" name="plin" value="-" style="width:30px;" /> <input type="button" name="epi" value="*" style="width:30px;" /> <input type="button" name="dia" value="/" style="width:30px;" /> <br /> <input type="button" name="ison" value="=" style="width: 132px;" /> </td> </tr> <tr> <td width="70">operator:</td> <td width="100"><input type="text" name="op" value="" size="6" /></td> </tr> <tr> <td width="70">number b:</td> <td width="100"><input type="text" name="nb" value="" size="6" /></td> </tr> <tr> <td width="70">result:</td> <td width="100"><input type="text" name="res" value="" size="6" /></td> </tr> </table> </form> </body> </html> --------------------------------------------------------------------------------------- το ζητούμενο του καθηγητή : Σας δίνεται το αρχείο ask1.html. Συμπληρώστε το αρχείο αυτό με κώδικα javascript (ή HTML αν χρειαστεί) έτσι ώστε να υλοποιήσετε την λειτουργικότητα μιας μικρής αριθμομηχανής. Η αριθμομηχανή θα λειτουργεί ως εξής: • στο αρχικό στάδιο δεν υπάρχουν καθόλου τιμές όπως στην εικόνα 1. • όταν ο χρήστης πατάει σε κουμπί με αριθμό τότε αυτός θα προστίθεται στο πεδίο number a (π.χ. αν ο χρήστης πατήσει διαδοχικά τα κουμπιά 1, 4, και 3 τότε το πεδίο number a θα έχει την τιμή 143) • όταν ο χρήστης πατήσει έναν από τους τελεστές (+, -, *, /) τότε αυτός θα αναγράφεται στο πεδίο operator ( αν υπάρχει ήδη κάποιος τελεστής εκεί θα διαγράφεται ο παλιός και στη θέση του θα μπαίνει ο νέος) • στη συνέχεια επαναλαμβάνεται η διαδικασία του πεδίου number a για το πεδίο number b. • όταν ο χρήστης πατήσει το κουμπί = θα εμφανίζεται στο πεδίο result το αποτέλεσμα της πράξης που έχει επιλεγεί μεταξύ των δύο αριθμών που έχουν συμπληρωθεί (Εικόνα 2). • με το κουμπί C θα γίνεται καθαρισμός όλων των πεδίων της αριθμομηχανής • φροντίστε να ενσωματώστε στον κώδικά σας μηνύματα λάθους τα οποία θα εμφανίζονται σε alert (Εικόνα 3). Λάθος μπορεί να συμβαίνει στις ακόλουθες περιπτώσεις: o ο χρήστης επιλέγει τελεστή ενώ δεν έχει συμπληρωθεί το πεδίο number a ή υπάρχει τιμή στο πεδίο number b o ο χρήστης επιλέγει το κουμπί = ενώ δεν έχουν συμπληρωθεί οι αντίστοιχες τιμές στα υπόλοιπα πεδία της αριθμομηχανής -------------------------------------------------------------------------------------------------------------- Παιδιά ευχαριστώ πολύ
Mακάβριος Δημοσ. 16 Αυγούστου 2011 Δημοσ. 16 Αυγούστου 2011 Δεν ξέρω javascript αλλα γιατι δεν την προσπαθείς μόνος? σίγουρα μπορείς με τις σημειώσεις ...
epiphone6 Δημοσ. 16 Αυγούστου 2011 Μέλος Δημοσ. 16 Αυγούστου 2011 Φίλε δεν μπορώ να βγάλω άκρη με τις συναρτήσεις!! γραφω και την κλίση των συναρτήσεων αλλά δεν τρέχει..
MeTaXaS4 Δημοσ. 17 Αυγούστου 2011 Δημοσ. 17 Αυγούστου 2011 αν και δεν θα έπρεπε να ο κώδικάς σου.. αν έχω λάθη μην παρεξηγήσεις πρώτη φορά γράφω javascript > <html> <head> <title>javascript</title> <script type="text/javascript"> function add_number(v) { var na = document.getElementById('na'); var nb = document.getElementById('nb'); var op = document.getElementById('op'); if(op.value=="") { na.value=v; } else { nb.value=v; } } function add_operator(v) { var op = document.getElementById('op'); op.value=v; } function clear_results() { var na = document.getElementById('na'); var nb = document.getElementById('nb'); var op = document.getElementById('op'); var res = document.getElementById('res'); na.value=nb.value=op.value=res.value=""; } function calculate_results() { var na = parseInt(document.getElementById('na').value); var nb = parseInt(document.getElementById('nb').value); var op = document.getElementById('op').value; var res = document.getElementById('res'); switch(op) { case '+': res.value=na+nb; break; case '-': res.value=na-nb; break; case '*': res.value=na*nb; break; case '/': res.value=na/nb; break; default: res.value="choose operator"; } } </script> </head> <body> <form name="mycalc"> <table width="100%" border="0" cellspacing="4" cellpadding="0"> <tr> <td width="70">number a:</td> <td width="100"> <input type="text" name="na" id="na" value="" size="6" /></td> <td rowspan="4"> <input type="button" name="c1" value="1" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c2" value="2" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c3" value="3" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c4" value="4" style="width:30px;" onclick="add_number(this.value)"/> <br /> <input type="button" name="c5" value="5" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c6" value="6" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c7" value="7" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c8" value="8" style="width:30px;" onclick="add_number(this.value)"/> <br /> <input type="button" name="c9" value="9" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c0" value="0" style="width:30px;" onclick="add_number(this.value)"/> <input type="button" name="c" value="C" style="width: 64px;" onclick="clear_results()"/> <br /> <input type="button" name="sin" value="+" style="width:30px;" onclick="add_operator(this.value)"/> <input type="button" name="plin" value="-" style="width:30px;" onclick="add_operator(this.value)"/> <input type="button" name="epi" value="*" style="width:30px;" onclick="add_operator(this.value)"/> <input type="button" name="dia" value="/" style="width:30px;" onclick="add_operator(this.value)"/> <br /> <input type="button" name="ison" value="=" style="width: 132px;" onclick="calculate_results()"/> </td> </tr> <tr> <td width="70">operator:</td> <td width="100"> <input type="text" name="op" id="op" value="" size="6" /></td> </tr> <tr> <td width="70">number b:</td> <td width="100"> <input type="text" name="nb" id="nb" value="" size="6" /></td> </tr> <tr> <td width="70">result:</td> <td width="100"> <input type="text" name="res" id="res" value="" size="6" /></td> </tr> </table> </form> </body> </html>
epiphone6 Δημοσ. 17 Αυγούστου 2011 Μέλος Δημοσ. 17 Αυγούστου 2011 Φίλε μου ευχαριστώ πολυ. Βοήθησες παρα πολύ!! να'σαι καλά!!!
MeTaXaS4 Δημοσ. 17 Αυγούστου 2011 Δημοσ. 17 Αυγούστου 2011 ελπίζω μονάχα να κάτσεις να διαβάσεις τον κώδικα και να κατανοήσεις τι κάνει..
isay Δημοσ. 17 Αυγούστου 2011 Δημοσ. 17 Αυγούστου 2011 ελπίζω μονάχα να κάτσεις να διαβάσεις τον κώδικα και να κατανοήσεις τι κάνει.. Πολλά θες. Το μόνο που θα τον αγχώνει ειναι αν υπάρχουν συμφοιτητες που διαβάζουν Ιnsomnia και σκάσουν και άλλα γραπτά με την ίδια απάντηση.
epiphone6 Δημοσ. 17 Αυγούστου 2011 Μέλος Δημοσ. 17 Αυγούστου 2011 Φίλε μου ευχαριστώ πολύ για την βοήθεια. Είναι άψογο! αλλά, αν είναι ευκολο πες μου τι να αλλάξω στον κώδικο ώστε στα πεδία number a & number b να δέχονται παραπάνω από ένα χαρακτήρα.πχ να μπορεί να γίνει η πράξη 156 + 23... ευχαριστώ και πάλι Παίδες, μην με κράζετε. αν ήταν κάτι άλλο θα κατάφερνα καλύτερα. απλά την js δεν την έχω καθόλου.
MeTaXaS4 Δημοσ. 17 Αυγούστου 2011 Δημοσ. 17 Αυγούστου 2011 πιστεύω αν διάβαζες τον κώδικα και έπαιζες λίγο με αυτόν θα μπορούσες να καταλάβεις που είναι το πρόβλημα, τέλος πάντων. > if(op.value=="") { na.value+=v; } else { nb.value+=v; }
epiphone6 Δημοσ. 17 Αυγούστου 2011 Μέλος Δημοσ. 17 Αυγούστου 2011 Αγορίνα το ξέρω οτι πολύ γελοίο αλλά τέλος πάντων. Ευχαριστώ και πάλι!! Καλό μεσημέρι!!!
Mika Δημοσ. 18 Αυγούστου 2011 Δημοσ. 18 Αυγούστου 2011 Παίδες, μην με κράζετε. αν ήταν κάτι άλλο θα κατάφερνα καλύτερα. απλά την js δεν την έχω καθόλου. προφανως δεν κανεις για την συγκεκριμενη σχολη. MeTaXaS4 απορω με την υπομονη σου. Ειναι ξεκαθαρο οτι ο topic starter δεν εχει καμια διαθεση να κατανοησει ουτε μια γραμμη απο αυτα που του εγραψες.
MeTaXaS4 Δημοσ. 19 Αυγούστου 2011 Δημοσ. 19 Αυγούστου 2011 φίλε το ξέρω , αλλά μιας και δεν είχα ξανά γράψει javascript (δεν είχε τύχει) είπα να την πιάσω να δω την δυσκολία της έστω και σε αυτό το απλό κομμάτι..
adamco Δημοσ. 20 Αυγούστου 2011 Δημοσ. 20 Αυγούστου 2011 Είσαι αστέρι στην javascript φίλε!!!! Και τώρα που μελέτησε και κατάλαβε τον κώδικα ας βάλει και ένα κουμπάκι για πράξεις με τους αρνητικούς αριθμούς.
NiKoS WSN Δημοσ. 23 Αυγούστου 2011 Δημοσ. 23 Αυγούστου 2011 Αυτό το θέμα θα έπρεπε να ήταν στο forum Web Design - Development
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.