[VBScript] exercice tt con, jy arrive pas !!

th4k -  
teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour
Je suis bloquée dans un exercice de VBScript, qqun peut-il m'aider à resoudre mon pb ?

"Rédiger un prog avec saisie du nombre de stagiaires d'une section, l'année en cours, puis l'année de naissance ainsi que le sexe de chaque stagiaire sous la forme "F" ou "H". A partir de ça, on affichera la moyenne d'age des femmes, la moyenne d'age des hommes, et la moyenne d'age du groupe complet."

Je ne sais pas comment m'y prendre...
En vous remerciant

4 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Salut, la clé s'appelle Inbox...

    --Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
    1. th4k
       
      tu veux dire "inputbox" ?
      j'ai deja ecrit ça, mais jai limpression de faire fausse route :

      nb = inputbox("Combien y a t-il de stagiaires dans la section ?")
      an = inputbox("Entrez l'année en cours :")
      For i = 1 to nb
      sexe = inputbox("Entrez le sexe du stagiaire n°" & i & ". (F / H)")
      If (sexe = "F") then

      ??
      0
  2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Bon, donc ton problème n'est pas la saisie :o)

    Donc ton problème est de l'algorithmique :o) Deux solutions à mon avis:
    Tu stockes tout petit à petit dans deux tableaux (un pour les femmes l'autres pour les hommes) dont tu fais la moyenne à la fin (plus la moyenne pondéré des deux) ou alors, plus tactique, tu fais la moyenne au fur et à mesure:
    ageF=0
    ageM=0
    cptF=0
    cptH=0
    Demander Sexe
    Demander Age
    Si Sexe=F
         Si cptF>0
               cptF+1
               ageF=ageF*(cptF-1)/(cptF)+age*(1/cptF)
          sinon
                ageF=age
          fin si      
    fin si
    pareil pour les mecs
    moyenne pondérée en fonction du nombre d'hommes et de femmes
    affichage
    
    


    Voilà, le plus important est que tu comprennes, c'est pour ça que j'ai tout laissé en "brut de décoffrage"...bon courage...

    --Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
  3. th4k
     
    Merci pour ton aide. J'ai finalement réussi à résoudre ce problème de bon matin ! Hier soir ça m'énervait alors j'ai laissé tomber.
    Je donne la solution que j'ai trouvé, si ça peut aider quelqu'un :

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''Code
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    nb = inputbox("Combien y a t-il de stagiaires dans la section ?")
    an = inputbox("Entrez l'année en cours :")

    ComptF = 0
    ComptH = 0
    AgeF = 0
    AgeH = 0

    For i = 1 to nb

    S = inputbox("Entrez le sexe du stagiaire n°" & i & ". (F / H)")
    Naiss = inputbox("Entrez maintenant l'année de naissance du stagiaire n°" & i & " :")

    Age = an - Naiss

    If (S = "F") then
    ComptF = ComptF + 1
    AgeF = AgeF + Age
    Else
    ComptH = ComptH + 1
    AgeH = AgeH + Age
    End If

    Next

    MsgBox("Vous avez terminé la saisie des informations pour les " & nb & " stagiaires")

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''' CALCUL DES MOYENNES ''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    MoyF = AgeF / ComptF
    MoyH = AgeH / ComptH
    MoyenneGroupe = (AgeF + AgeH) / nb

    MsgBox("La moyenne d'âge des femmes est de : " & MoyF)
    MsgBox("La moyenne d'âge des hommes est de : " & MoyH)
    MsgBox("La moyenne d'âge du groupe complet est de : " & MoyenneGroupe)

    Voilà...

    Lorraine Soudade
    0
  4. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    MOUARF!
    Quel con je fais des fois, j'ai une nette tendance à faire mienne la devise du "pourquoi faire simple quand on peut faire compliqué" :o)
    0