Ecrire un programme

Bonjour,

je voulais qu on m'aide a écrire un programme qui permet de saisir un date ( jour,mois,année ). le programme détermine et affiche la date précédente et la date suivante

iba

2 réponses

  1. Contributeur sécurité
    Bonjour,

    En quel langage ?

    Dis nous deja ce que tu sais faire et où tu bloques.

    Cordialement
    1. je suis etudiant en licence1 on est entrain d'écrire sur le cahier pas sur la machine
    2. Contributeur sécurité
      D'accord. Alors detaillez le plan que vous souhaiteriez faire.
      Declaration des variables
      Etude des conditions (par exemple si le mois a 28, 30 ou 31 jours, si l'annee est bisextile, si on change d'annee,...)
    3. merci je voulais s'avoir comment entrer les conditions c'est ca qui me pose probléme
    4. Contributeur sécurité
      Ben je ne sais pas, il y a plusieurs methodes tu peux faire des boucles imbriqués.
    5. mais vous pouvez me donner un exemple en utilisant si....... fin si
  2. bonjour
    calendrier 1900 a 2200 en qbasic
    CLS : COLOR 15
    DIM mj(12), jour$(7), dj$(370), jj$(31)

    mj(1) = 31: mj(3) = 31
    mj(4) = 30: mj(5) = 31: mj(6) = 30
    mj(7) = 31: mj(8) = 31: mj(9) = 30
    mj(10) = 31: mj(11) = 30: mj(12) = 31

    jour$(1) = "LUN": jour$(2) = "MAR"
    jour$(3) = "MER": jour$(4) = "JEU"
    jour$(5) = "VEN": jour$(6) = "SAM"
    jour$(7) = "DIM"

    jj$(1) = " 1": jj$(2) = " 2": jj$(3) = " 3": jj$(4) = " 4"
    jj$(5) = " 5": jj$(6) = " 6": jj$(7) = " 7": jj$(8) = " 8"
    jj$(9) = " 9": jj$(10) = " 10": jj$(11) = " 11": jj$(12) = " 12"
    jj$(13) = " 13": jj$(14) = " 14": jj$(15) = " 15": jj$(16) = " 16"
    jj$(17) = " 17": jj$(18) = " 18": jj$(19) = " 19": jj$(20) = " 20"
    jj$(21) = " 21": jj$(22) = " 22": jj$(23) = " 23": jj$(24) = " 24"
    jj$(25) = " 25": jj$(26) = " 26": jj$(27) = " 27": jj$(28) = " 28"
    jj$(29) = " 29": jj$(30) = " 30": jj$(31) = " 31"
    1 REM
    az = 0
    LOCATE 1, 1: PRINT DATE$
    PRINT
    PRINT "anee de 1900 a 2200"
    PRINT
    PRINT "anne"; : INPUT az
    IF az < 1900 OR az > 2200 THEN 1

    j1f = 0:
    FOR a = 1900 TO az
    IF a = 1900 THEN j1f = j1f + 365: mj(2) = 28: lm = 365: sk = 1: GOTO 1000
    IF a MOD 4 = 0 THEN
    j1f = j1f + 366: mj(2) = 29: lm = 366: sk = 8
    ELSE
    j1f = j1f + 365: mj(2) = 28: : lm = 365: sk = 1
    END IF

    1000 : NEXT a
    a = 0
    hj = lm - sk: sk = 0
    fg = 0: x1 = 0: x2 = j1f - hj: hj = 0
    kl = 0
    FOR kl = 1 TO x2
    x1 = x1 + 1:
    IF x1 > 7 THEN x1 = 1
    NEXT kl
    kl = 0
    'PRINT x1; " "; mj(2); " "; jour$(x1); " "; lm: END
    x4 = x1
    FOR x3 = 1 TO lm
    dj$(x3) = jour$(x4)
    x4 = x4 + 1
    IF x4 > 7 THEN x4 = 1
    NEXT x3
    x3 = 0: x4 = 0
    REM
    2000 REM
    j1f = 1: jk2 = 1
    2010 REM
    t = mj(jk2): CLS
    REM
    LOCATE 2, 2: PRINT CHR$(201); STRING$(34, 205); CHR$(187)
    LOCATE 3, 2: PRINT CHR$(186); STRING$(34, 32); CHR$(186)
    xx$ = "": xx1$ = ""
    xx$ = STRING$(4, 205) + CHR$(203)
    xx1$ = STRING$(4, 205) + CHR$(185)
    LOCATE 4, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    xx$ = "": xx1$ = ""
    xx$ = STRING$(4, 32) + CHR$(186)
    LOCATE 5, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    LOCATE 7, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    LOCATE 9, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    LOCATE 11, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    LOCATE 13, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    LOCATE 15, 2: PRINT CHR$(186); xx$; xx$; xx$; xx$; xx$; xx$; xx$
    xx$ = "": xx1$ = ""
    xx$ = STRING$(4, 205) + CHR$(206)
    xx1$ = STRING$(4, 205) + CHR$(185)
    LOCATE 6, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    LOCATE 8, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    LOCATE 10, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    LOCATE 12, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    LOCATE 14, 2: PRINT CHR$(204); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    xx$ = "": xx1$ = ""
    xx$ = STRING$(4, 205) + CHR$(202)
    xx1$ = STRING$(4, 205) + CHR$(188)
    LOCATE 16, 2: PRINT CHR$(200); xx$; xx$; xx$; xx$; xx$; xx$; xx1$
    xx$ = "": xx1$ = ""

    IF jk2 = 1 THEN b$ = "": b$ = "JANVIER"
    IF jk2 = 2 THEN b$ = "": b$ = "FEVRIER"
    IF jk2 = 3 THEN b$ = "": b$ = "MARS"
    IF jk2 = 4 THEN b$ = "": b$ = "AVRIL"
    IF jk2 = 5 THEN b$ = "": b$ = "MAI"
    IF jk2 = 6 THEN b$ = "": b$ = "JUIN"
    IF jk2 = 7 THEN b$ = "": b$ = "JUILLET"
    IF jk2 = 8 THEN b$ = "": b$ = "AOUT"
    IF jk2 = 9 THEN b$ = "": b$ = "SEPTEMBRE"
    IF jk2 = 10 THEN b$ = "": b$ = "OCTOBRE"
    IF jk2 = 11 THEN b$ = "": b$ = "NOVEMBRE"
    IF jk2 = 12 THEN b$ = "": b$ = "DECEMBRE"

    lkm = 0: lkm = LEN(b$)
    lk1 = 0: lk1 = 36 - lkm
    lk2 = 0: lk2 = INT(lk1 / 2)
    LOCATE 3, lk2: PRINT b$; az
    a1 = 0: p = 0

    IF dj$(j1f) = "LUN" THEN GOSUB 3000
    IF dj$(j1f) = "MAR" THEN GOSUB 3010
    IF dj$(j1f) = "MER" THEN GOSUB 3020
    IF dj$(j1f) = "JEU" THEN GOSUB 3030
    IF dj$(j1f) = "VEN" THEN GOSUB 3040
    IF dj$(j1f) = "SAM" THEN GOSUB 3050
    IF dj$(j1f) = "DIM" THEN GOSUB 3060

    FOR a = 1 TO 7
    LOCATE 7, 3 + p: PRINT jj$(a): p = p + 5
    NEXT a
    a = 0: p = 0
    FOR a = 1 TO 7
    LOCATE 9, 3 + p: PRINT jj$(a + 7): p = p + 5
    NEXT a
    a = 0: p = 0
    FOR a = 1 TO 7
    LOCATE 11, 3 + p: PRINT jj$(a + 14): p = p + 5
    NEXT a
    a = 0: p = 0
    FOR a = 1 TO 7
    LOCATE 13, 3 + p: PRINT jj$(a + 21): p = p + 5
    NEXT a
    a = 0: p = 0
    FOR a = 1 TO 7
    IF a + 28 > t THEN 2050
    LOCATE 15, 3 + p: PRINT jj$(a + 28): p = p + 5
    2050 NEXT a
    'END
    a = 0: p = 0
    j1f = j1f + t: jk2 = jk2 + 1
    IF jk2 > 12 THEN END
    LOCATE 35, 1: PRINT "pouez sur une touche"
    INPUT y$
    GOTO 2010
    END
    3000 REM
    xx$ = ""
    xx$ = "LUN " + CHR$(186)
    xx$ = xx$ + "MAR " + CHR$(186)
    xx$ = xx$ + "MER " + CHR$(186)
    xx$ = xx$ + "JEU " + CHR$(186)
    xx$ = xx$ + "VEN " + CHR$(186)
    xx$ = xx$ + "SAM " + CHR$(186)
    xx$ = xx$ + "DIM "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3010 REM
    xx$ = ""
    xx$ = "MAR " + CHR$(186)
    xx$ = xx$ + "MER " + CHR$(186)
    xx$ = xx$ + "JEU " + CHR$(186)
    xx$ = xx$ + "VEN " + CHR$(186)
    xx$ = xx$ + "SAM " + CHR$(186)
    xx$ = xx$ + "DIM " + CHR$(186)
    xx$ = xx$ + "LUN "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3020 REM
    xx$ = ""
    xx$ = "MER " + CHR$(186)
    xx$ = xx$ + "JEU " + CHR$(186)
    xx$ = xx$ + "VEN " + CHR$(186)
    xx$ = xx$ + "SAM " + CHR$(186)
    xx$ = xx$ + "DIM " + CHR$(186)
    xx$ = xx$ + "LUN " + CHR$(186)
    xx$ = xx$ + "MAR "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3030 REM
    xx$ = ""
    xx$ = "JEU " + CHR$(186)
    xx$ = xx$ + "VEN " + CHR$(186)
    xx$ = xx$ + "SAM " + CHR$(186)
    xx$ = xx$ + "DIM " + CHR$(186)
    xx$ = xx$ + "LUN " + CHR$(186)
    xx$ = xx$ + "MAR " + CHR$(186)
    xx$ = xx$ + "MER "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3040 REM
    xx$ = ""
    xx$ = "VEN " + CHR$(186)
    xx$ = xx$ + "SAM " + CHR$(186)
    xx$ = xx$ + "DIM " + CHR$(186)
    xx$ = xx$ + "LUN " + CHR$(186)
    xx$ = xx$ + "MAR " + CHR$(186)
    xx$ = xx$ + "MER " + CHR$(186)
    xx$ = xx$ + "JEU "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3050 REM
    xx$ = ""
    xx$ = "SAM " + CHR$(186)
    xx$ = xx$ + "DIM " + CHR$(186)
    xx$ = xx$ + "LUN " + CHR$(186)
    xx$ = xx$ + "MAR " + CHR$(186)
    xx$ = xx$ + "MER " + CHR$(186)
    xx$ = xx$ + "JEU " + CHR$(186)
    xx$ = xx$ + "VEN "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN
    3060 REM
    xx$ = ""
    xx$ = "DIM " + CHR$(186)
    xx$ = xx$ + "LUN " + CHR$(186)
    xx$ = xx$ + "MAR " + CHR$(186)
    xx$ = xx$ + "MER " + CHR$(186)
    xx$ = xx$ + "JEU " + CHR$(186)
    xx$ = xx$ + "VEN " + CHR$(186)
    xx$ = xx$ + "SAM "
    LOCATE 5, 3: PRINT xx$
    xx$ = ""
    RETURN