Παιδιά γειά θέλω να φτιάξω ενα πρόγραμμα σε C αλλά κολλάω στο σημείο που πρέπει να ελέγξω εαν το χ είναι αρνητικό και να ζητήσω να ξαναεισάγει αριθμό ο χρήστης. Το προγραμμα το οποίο θέλω να κάνω είναι το εξής : Να γραφεί πρόγραμμα στη c που να διαβάζει το x από τον χρήστη και να εμφανίζει την τιμή της παράστασης : x4-5+ex . Η διαδικασία θα είναι επαναληπτική μέχρι ο χρήστης 0. Αν ο χρήστης δώσει αρνητική τιμή να μην λαμβάνεται υπόψιν και να ξαναζητείται από τον χρήστη νέα τιμή. Το δοκίμασα με do & while αλλά δεν έβγαλα άκρη. Υπάρχει όμως και ενας τρόπος οπου φτιάχνεις μια for και μέσα της βάζεις μια if με continue αλλά δυστυχώς δεν ξέρω πως γίνεται. Εαν μπορεί καποιος ασ με καθοδηγήσει ώστε να καταλάβω και να βγάκω άκρη. Ευχαριστώ.
Το πρόγραμμα το εχω φτάσει εως εδώ :
Κώδικας:#include <stdio.h> #include <math.h> main() { float x,y,e=2.718,proliferation,difference,proliferation2,total; printf("~Parakalo doste enan arithmo os x : "); scanf("%f",&x); if(x==0) { printf("\nExit. Sorry! Please try again!!!!"); } else if(x>0) { proliferation=4*x;/*(4*x)*/ difference=proliferation-5;/*(4*x)-5*/ proliferation2=e*x;/*x*e*/ total=difference+proliferation2;/*(4*x)-5+(x*e)*/ printf("%f",total); } }Κώδικας:for(x=o....... { if(x>0)continue;/*kapos etsi ginete auto pou leo me to continue*/
Εμφάνιση 1-15 από 15
-
25-10-08, 16:58 Γλώσσα C βοήθεια με επαναλήψεις #1
-
25-10-08, 17:55 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #2
-
25-10-08, 18:15 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #3
Προσωπικά όποτε μπλέκομαι, προτιμώ να κοιτάξω το πρόβλημα με χαρτί & μολύβι παρά να μπλέκομαι με το ποιές ακριβώς εντολές θα κάνουν αυτό που θέλω.
Σκέψου λοιπόν τι θες να κάνει το πρόγραμμα:
- Διαβάζει το χ
- Ελέγχει την τιμή του χ:
Ωραία, οπότε έχουμε μια επανάληψη: διάβασε και μετά [γράψε ή κάνε την πάπια], η οποία σταματά όταν το x είναι 0. Οπότε θες μια δομή επανάληψης που να σταματά όταν μηδενιστεί το χ. Οι ενέργειες που επαναλαμβάνονται είναι: να διαβάζει το x, και να τυπώνει την παράσταση όταν είναι θετικό.
- Αν δει 0 σταματάει.
- Αν δει >0 τυπώνει την τιμή της παράστασης και συνεχίζει από την αρχή
- Αν δει <0 δεν κάνει τίποτα και συνεχίζει από την αρχή
Ελπίζω να βοήθησα.And how can we win, when fools can bekingsISO-approved?
[MUSE: Knights of Cydonia]
-
25-10-08, 18:51 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #4
Ο κώδικας διορθωμένος:
Κώδικας:/* C90 */ #include <stdio.h> #include <math.h> int main(void) { const double E= exp(1); double x; do { printf("Dose ton thetiko arithmo x (0 gia termatismo): "); scanf("%lf", &x); if(x> 0) printf("\nx*4-5+e*x= %f\n\n", x*4- 5+ E*x); }while(x!= 0); return 0; }
Τελευταία επεξεργασία από το μέλος WagItchyef : 25-10-08 στις 19:56.
-
25-10-08, 20:31 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #5
Σας ευχαριστώ πολύ όλους για την βοήθεια. Να σται καλά.
........Auto merged post: diamadiss πρόσθεσε 75 λεπτά και 44 δευτερόλεπτα αργότερα ........
Παιδιά το κοίταξα το πρόγραμμα έτσι όπως μου το έδωσε ο billy dev και του πρόσθεσα κάτι ακόμη. Αυτό που πρόσθεσα είναι μια εντολή goto η οποία είναι μέσα σε ενα φωλιασμένο if , το οποίο το εβάλα να ελέγχει όταν μετά απο εναν αρνητικό αριθμό που έδωσε ο χρήστης του λέει ξαναπροσπάθησε και δώσε ενα θετικό αριθμό, όμως εαν δώσει το μηδέν δεν τον πετάει εξω το πρόγραμμα, για αυτο έβαλα μία ακόμη ιφ να κάνει έλεγχο και εαν ο αριθμός που δόθηκε είναι μηδέν να πηγαίνει το πρόγραμμα με το goto σε μια printf η οποία θα τον βγάζει εκτός. Ελπίζω να έκανα καλά που το έψαξα λίγο ώστε να είναι οσο καλύτερο γίνετε. Ευχαριστώ και πάλι.
Κώδικας:#include <stdio.h> main() { float x,y,e=2.718,proliferation,difference,proliferation2,total; printf("~ Program that via puts x from the user and presents the price of representation : x4-5+ex ~\n\n "); printf("~Please give anumber as x : "); scanf("%f",&x); if(x==0) { out:printf("\n\n\t!Exit!!!\n\n\n"); } while(x!=0) { if (x<0) { printf("\n~Please import again a number but positive : "); scanf("%f",&x); } if(x==0) { goto out; } else if(x>0) { proliferation=4*x;/*(4*x)*/ difference=proliferation-5;/*(4*x)-5*/ proliferation2=e*x;/*x*e*/ total=difference+proliferation2;/*(4*x)-5+(x*e)*/ printf("%f",total); } printf("\n\n~Please import again a new number __ "); scanf("%f",&x); if(x==0) { printf("\n\n\t!Exit!!!\n\n\n"); } } }
Τελευταία επεξεργασία από το μέλος diamadiss : 25-10-08 στις 20:31. Αιτία: auto merged post
-
25-10-08, 20:48 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #6
Πρώτον, καλύτερα να χρησιμοποιείς το int main() ή το int main(void) (τα οποία δεν είναι το ίδιο στην C) παρά σκέτο το main() ή το main(void).
Το να μην έχει η main() τύπο επιστροφής δηλωμένο ρητά (στη C90 [ISO/IEC 9899:1990] ήταν implicit int), έχει καταργηθεί στη C99 [ISO/IEC 9899:1999] και στη C++98/03 [ISO/IEC 14882:2003].
Δεύτερον, η χρήση της goto πρέπει να αποφεύγεται.
Επεξήγηση: To C90 ήταν το πρώτο πρότυπο της C. To C++98/03 είναι το πρώτο πρότυπο της C++.Τελευταία επεξεργασία από το μέλος WagItchyef : 25-10-08 στις 20:59.
-
26-10-08, 16:59 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #7
go to να μην χρησιμοποιεις.....
σβησε τα go to και το first kai to last if και βαλεΚώδικας:printf("\n\n\t!Exit!!!\n\n\n");
because:αν δωσει αρνητικο και μπει στο πρωτο το if (μεσα στο while ειμαι) για να δωσει αλλο και εκει δοθει 0 τοτε δεν μπαινει στο else if τυπωνει ξανα για αριθμο και αν ξαναδωσει 0 φευγει απο το while kai τυπωνει to exit που σου ειπα να βαλεις.........
γλυτωνεις κωδικα..
-
26-10-08, 18:01 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #8
Βρέ παιδιά, η λύση που έδωσα δεν είναι επαρκής;
-
26-10-08, 19:03 Re: Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #9
-
26-10-08, 19:24 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #10
πολυ καλυτερη απο τη δικια μου .......
-
26-10-08, 19:35 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #11
Επαρκέστατη, άλλα υπάρχουν πολλοί δρόμοι για να φτάσεις στο ίδιο αποτέλεσμα και αυτό είναι πιστεύω το ωραίο με τον προγραμματισμό, που πέρα από τα μαθηματικά του δίνει και μια νότα δημιουργικότητας
Άλλοι προτιμούν να πάνε από Θεσσαλονίκη Αθήνα μέσω της εθνικής, άλλοι μέσω Ιταλίας (συνήθως έτσι κάνω εγώ... σε σχέση πάντα με τον προγραμματισμό ε! ), άλλοι με τηλεμεταφορά (αν υπήρχε )
-
26-10-08, 21:40 Απάντηση: Re: Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #12
Patched να κάνει αυτό που λες:
Κώδικας:/* C90 */ #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { const double E= exp(1); double x= 1; do { int scanfValue; printf("Dose ton thetiko arithmo x (0 gia termatismo): "); scanfValue= scanf("%lf", &x); if(scanfValue== 0) { char tempBuf[BUFSIZ+ 1]; fgets(tempBuf, sizeof(tempBuf), stdin); continue; } else if(scanfValue== EOF) return EXIT_FAILURE; if(x> 0) printf("\nx*4-5+e*x= %f\n\n", x*4- 5+ E*x); }while(x!= 0); return 0; }
Τελευταία επεξεργασία από το μέλος WagItchyef : 26-10-08 στις 22:31.
-
26-10-08, 23:29 Re: Γλώσσα C βοήθεια με επαναλήψεις #13
Άψογος. Γιατί το θέμα είναι να μήν πας μέσω Ιταλίας.
Lupus pilum mutat, non mentem
-
26-10-08, 23:44 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #14
επαγγελματιας developer ειναι ο ανθρωπος τι περιμενεις..... αν δεν ξερει αυτοσ ποιος θα ξερει .....
το θεμα ειναι ο καθενας να βοηθα συμφωνα με τις γνωσεις του οσο μπορει
-
27-10-08, 11:41 Απάντηση: Γλώσσα C βοήθεια με επαναλήψεις #15
Σας ευχαριστώ και πάλι ολους.
Παρόμοια Θέματα
-
Γλώσσα C βοήθεια
Από diamadiss στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 14Τελευταίο Μήνυμα: 11-10-08, 19:44 -
help με προγρμματα σε γλωσσα c
Από zoulasv στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 0Τελευταίο Μήνυμα: 15-07-08, 00:21 -
ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++
Από areti στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 11Τελευταίο Μήνυμα: 28-02-08, 10:06 -
Νοηματική Γλώσσα.
Από sv2evs στο φόρουμ Πολιτική, Κοινωνικά Θέματα, Επιστήμες και AθλητισμόςΜηνύματα: 20Τελευταίο Μήνυμα: 03-06-06, 10:55
Bookmarks