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 -
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
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
A voir également:
- Les IF et ELSE en QB 45 quelle galère ...
- Galerie photo en ligne gratuite - Guide
- Code 45 imprimante - Forum Windows
- Mettre une photo de la galerie en story à la une instagram ✓ - Forum Instagram
- 07 45 indicatif - Guide
- Désynchroniser google photos et galerie - Forum Samsung
1 réponse
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.
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.