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

Résolu
Made-in Messages postés 2 Statut Membre -  
Made-in Messages postés 2 Statut Membre -
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
Configuration: Windows XP
Firefox 3.5.3

1 réponse

  1. Made-in Messages postés 2 Statut Membre
     
    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