Δυσλειτουργία σε πολύ απλό script -solved!-

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
Άβαταρ μέλους
SimonTheSorcerer
Δημοσιεύσεις: 202
Εγγραφή: 04 Φεβ 2006 17:13
Τοποθεσία: Αθήνα

Δυσλειτουργία σε πολύ απλό script -solved!-

Δημοσίευση από SimonTheSorcerer » 11 Απρ 2007 03:25

Γεια σε όλους. Είμαι άσχετος από προγραμματισμό, είχαμε κάνει λίγη pascal/delphi στο Πανεπιστήμιο και προσπαθώ να γράψω ένα απλό script-άκι για να αυτοματοποιήσω κάποιες λειτουργίες σε μια σκηνή στο πρόγραμμα Cinema 4D. Το cinema δέχεται C++.

Από αλλού άρχισα και αλλού κατέληξα. Άρχισα να το γράφω γιατί ήθελα βοήθεια στην σύνταξη, αλλά με βοήθεια από εδώ (βρήκα το link ψαχουλεύοντας τα θέματα της συζήτησης), το σύνταξα σωστά! Δυστυχώς η χαρά μου διεκόπει όταν είδα ότι δεν δουλεύει καλά. Έχω αυτό το απλό script, με 6 μεταβλητές: Input1, Input2, Input3, Output1, Output2, Output3:

Κώδικας: Επιλογή όλων

main()
{
	if
		&#40;Input1 < 1&#41; &#123;
		Output1 = 0;
		Output2 = 0;
		Output3 = 0.0274157;
	&#125; else if
		&#40;Input2 < 1&#41; &#123;
		Output1 = 0.0548314;
		Output2 = 0;
		Output3 = 0;
	&#125;	else if
		&#40;Input3 < 1&#41; &#123;
		Output1 = 0.0822471;
		Output2 = 0.0822471;
		Output3 = 0;
	&#125;	else
		Output1 = 0;
		Output2 = 0;
		Output3 = 0;
&#125;
Το μόνο που λειτουργεί από τα παραπάνω είναι το

Κώδικας: Επιλογή όλων

else if
		&#40;Input3 < 1&#41; &#123;
		Output1 = 0.0822471;
Το Output2 παραμένει αδρανές και σε αυτή την περίπτωση. Το ψάχνω αλλά δεν βρίσκω τίποτα.
Ευχαριστώ προκαταβολικά για την όποια βοήθεια!!

Edit:
Γιούχου! Το έκανα και δούλεψε! Με την κλασσική αφαιρετική μέθοδο του "σβήνω μέχρι να δουλέψει" είδα ότι το ενοχλούσε το τελευταίο "else" και αφού το έκανα κι εκείνο "else if" όλα δουλεύουν ρολόι.
Με λίγη βοήθεια και από αυτό το site το σύνταξα σωστά. Πολύ χάρηκα, δεν περίμενα να μου χρησιμεύσουν ποτέ οι εμβρυακές γνώσεις από την pascal που κάναμε σε 1 μάθημα στο πανεπιστήμιο, νόμιζα ότι τα είχα ξεχάσει όλα!
Ευχαριστώ πολύ τον papageorge για τα links που τα είχε post-άρει σε άλλο θέμα!

Μιας και δεν μπορώ να σβήσω το μήνυμα, ας γράψω και την λύση. :P

Για την ιστορία λοιπόν, ο σωστός κώδικάς είναι:

Κώδικας: Επιλογή όλων

main&#40;&#41;
&#123;
	if
		&#40;Input1 < 1&#41; &#123;
		Output1 = 0;
		Output2 = 0;
		Output3 = 0.0274157;
	&#125; else if
		&#40;Input2 < 1&#41; &#123;
		Output1 = 0.0548314;
		Output2 = 0;
		Output3 = 0;
	&#125;	else if
		&#40;Input3 < 1&#41; &#123;
		Output1 = 0.0822471;
		Output2 = 0.0822471;
		Output3 = 0;
	&#125;	else if
		&#40;Input1 >= 1 & Input2 >= 1 & Input3 >= 1&#41; &#123;
		Output1 = 0;
		Output2 = 0;
		Output3 = 0;
&#125;
&#125;
And I will strike down upon thee with great vengeance and furious anger those who attempt to poison and destroy my brothers. And you will know my name is the Lord, when I lay my vengeance upon thee.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Δυσλειτουργία σε πολύ απλό script -solved!-

Δημοσίευση από dva_dev » 11 Απρ 2007 14:49

Ενας άλλος κώδικας είναι:

Κώδικας: Επιλογή όλων

main&#40;&#41;
&#123;
	if
		&#40;Input1 < 1&#41; &#123;
		Output1 = 0;
		Output2 = 0;
		Output3 = 0.0274157;
	&#125; else if
		&#40;Input2 < 1&#41; &#123;
		Output1 = 0.0548314;
		Output2 = 0;
		Output3 = 0;
	&#125;	else if
		&#40;Input3 < 1&#41; &#123;
		Output1 = 0.0822471;
		Output2 = 0.0822471;
		Output3 = 0;
	&#125;	else
	&#123;	//<-  Θέλει άγκιστρα
		Output1 = 0;
		Output2 = 0;
		Output3 = 0;
	&#125;	//<-  Θέλει άγκιστρα
&#125;

Άβαταρ μέλους
SimonTheSorcerer
Δημοσιεύσεις: 202
Εγγραφή: 04 Φεβ 2006 17:13
Τοποθεσία: Αθήνα

Δυσλειτουργία σε πολύ απλό script -solved!-

Δημοσίευση από SimonTheSorcerer » 11 Απρ 2007 20:25

Ah, ώστε ήθελε άγκιστρα και το "else", γι΄αυτό δεν δούλευε. Thanks!
And I will strike down upon thee with great vengeance and furious anger those who attempt to poison and destroy my brothers. And you will know my name is the Lord, when I lay my vengeance upon thee.

spookyb52
Δημοσιεύσεις: 1891
Εγγραφή: 23 Ιαν 2002 01:00
Τοποθεσία: Lost in the mansion
Επικοινωνία:

Δυσλειτουργία σε πολύ απλό script -solved!-

Δημοσίευση από spookyb52 » 12 Απρ 2007 17:26

και άλλος ένας τρόπος είναι και αυτός :arrow:

Κώδικας: Επιλογή όλων

main&#40;&#41;
&#123;
	switch&#40;true&#41;
	&#123;
case 1&#58;
// code to execute
break;

case 2&#58;
// code to execute
break;

case 3&#58;
// code to execute
break;

default&#58;
// code to execute
break;

	&#125;
&#125;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες