Les IF et ELSE en QB 45 quelle galère ...

Résolu
Made-in Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Made-in Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
bonjours,
voila j ai un petit problème avec les formule else et if, j ai une série de question auxquelles l'utilisateur doit repondre suivant les réponse, le résultat peu etre avoir de l'argent supplémentaire ou pas ... voici mon code

'definir les variable
CLS
DEFSNG A, E, P, R
DEFSTR C, T
NOM$ = "Prime de fin d'ann‚e 2009"
LGNOM! = LEN(NOM$)
Positab = (60 - LGNOM!) / 2
R = E * 120
P = 750
N = 400
'entr‚e des donn‚es
INPUT "quel est le pr‚nom et le nom du travailleur en question"; T
INPUT "Depuis combien de temps est-il dans l'entreprise"; A
INPUT "Prends-t-il des cours de promotions social oui/non"; C
INPUT "Combien de d'enfants a-t-il a sa charge"; E
'Affichage premier tableau
CLS
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "*"; : PRINT TAB(Positab); NOM$; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "* NOM DU TRAVAILLEUR"; T; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "* PRIME DE BASE"; TAB(54); P; TAB(60); "*"
PRINT "* ANCIENNETE"; TAB(54); : IF A > 10 THEN PRINT N; TAB(60); "*" ELSE PRINT TAB(57); "0"; TAB(60); "*"
PRINT "* SURPRIME COURS DE PROMOTION SOCIALE"; TAB(55); : IF C = "oui" THEN PRINT "300"; TAB(60); "*" ELSE PRINT TAB(57); "0"; TAB(60); "*"
PRINT "* SURPRIME ENFANTS A CHARGE"; TAB(54); E * 120; TAB(60); "*"
PRINT "*"; TAB(52); "------"; TAB(60); "*"
PRINT "* PRIME TOTALE"; TAB(60); "*"

alors jusque la pas de probleme mais le voice la derniere ligne annonce prime total, et donc je dois reprendre les reponse de chaque questions et le voila mon probleme comment reprendre les reponses aux questions ?? y a t il une balise "answer" ou quelque chose dans le style ou dois je mettre mes question en variable ?
Merci d'avance pour vos réponses

1 réponse

Made-in Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
rebonjours a tous, j'ai trouvé le problème,
voici l'erreur qui m'a fais perdre un temps précis, trois petites lettres : CLS
voila mon code reformulé vous ne verrez pas beaucoup de différences avec le premier sauf ce fameux CLS ...
voici mon code
REM prime de fin d 'ann‚e d'un employ‚
'definir les variable
CLS
DEFSNG A, E, L, P, R, V, Z
DEFSTR C, T
NOM$ = "Prime de fin d'ann‚e 2009"
LGNOM! = LEN(NOM$)
Positab = (60 - LGNOM!) / 2
P = 750
N = 400
O = 300
M = 0
PRIMETOTAL
INPUT "quel est le pr‚nom et le nom du travailleur en question"; T
INPUT "Combien de jours a-t-il ‚t‚ absent sans justification"; V
'entree des donnees
INPUT "Depuis combien de temps est-il dans l'entreprise"; A
INPUT "Prends-t-il des cours de promotions social oui/non"; C
INPUT "Combien de d'enfants a-t-il a sa charge"; E
'Affichage premier tableau
CLS
IF V < 4 THEN
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "*"; : PRINT TAB(Positab); NOM$; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "* NOM DU TRAVAILLEUR"; T; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "* PRIME DE BASE"; TAB(54); P; TAB(60); "*"
PRINT "* ANCIENNETE"; TAB(54); : IF A > 10 THEN PRINT N; TAB(60); "*" ELSE PRINT TAB(57); "0"; TAB(60); "*"
PRINT "* SURPRIME COURS DE PROMOTION SOCIALE"; TAB(54); : IF C = "oui" THEN PRINT O; TAB(60); "*" ELSE PRINT TAB(57); M; TAB(60); "*"
PRINT "* SURPRIME ENFANTS A CHARGE"; TAB(54); E * 120; TAB(60); "*"
PRINT "*"; TAB(52); "------"; TAB(60); "*"
PRIMETOTAL
PRINT "* PRIME TOTALE"; TAB(47); TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "************************************************************"
END IF
IF V > 3 THEN
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "*"; : PRINT TAB(Positab); NOM$; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "************************************************************"
PRINT "*"; TAB(60); "*"
PRINT "* La prime de "; T; "est suprim‚e"; TAB(60); "*"
PRINT "* en raison de"; V; " absences injustifi‚es"; TAB(60); "*"
PRINT "*"; TAB(60); "*"
PRINT "************************************************************"
END IF
END

Voila bien a vous.
0