Ecreire programme en vb
providence
Messages postés
99
Statut
Membre
-
big_ouf -
big_ouf -
bsr a tous
j'ai un programme à ecrire en vb dans le cadre d'un projet d'ecole.l'enoncé est le suivant:
Dans l'enclypedie des jeux 2007, il a fallu utiliser 2007 fois "1" pour numeroter toutes les pages.
Ecrire un programme VB6 qui puisse nous permettre de determiner le nombre de pages de cette encyclopedie.
Nb: Quand on numerote par exemple de 1 à 20, on utilise 12 fois 1!
je sais pas trop par où commencer.Merci pour votre aide
j'ai un programme à ecrire en vb dans le cadre d'un projet d'ecole.l'enoncé est le suivant:
Dans l'enclypedie des jeux 2007, il a fallu utiliser 2007 fois "1" pour numeroter toutes les pages.
Ecrire un programme VB6 qui puisse nous permettre de determiner le nombre de pages de cette encyclopedie.
Nb: Quand on numerote par exemple de 1 à 20, on utilise 12 fois 1!
je sais pas trop par où commencer.Merci pour votre aide
Configuration: Windows XP Firefox 2.0.0.3
3 réponses
-
Salut providence alors je n'ai pas trop réchléchit mais voilà un petit début :
Option explicit //toujours préférable....
dim i as integer
dim chaine as string
dim nb_page as integer
nb_page =0
i=0 //initialisations
While (i<>2007)
chaine=str(i) //j'ai des doutes quant à la syntaxe de conversion d'un entier en chaine de caractères
//ici tu lis ta chaine de caractères en mettant un if du style
if (chaine="1") then
nb_page=nb_page+1
end if
i=i+1 //indispensable pour ne pas avoir de boucle infini!
Wend
voila j'espère que ca pourra t'aider-
Salut
Ton code ne marche pas. Dès que le nombre dépasse les dizaines, ça ne pourra pas être égale à "1".
Voici une petite correction
Option explicit //toujours préférable.... dim i as integer dim chaine as string dim nb_page as integer nb_page =0 i=0 //initialisations While (i<>2007) chaine=str(i) 'j'ai des doutes quant à la syntaxe de conversion d'un entier en chaine de caractères 'ici tu lis ta chaine de caractères en mettant un if du style ' On vérifie si "1" appartient au chiffre if (substring(chaine,"1")>0) then nb_page=nb_page+1 end if i=i+1 'indispensable pour ne pas avoir de boucle infini! Wend
-
-
Ca ne contrôle pas si il y a plusieurs "1" dans la page ;-)
-
Lol.
Tu as parfaitement raison. Je me suis un peu emporté. ^^
Voici une version corrigée. again. lol
Option explicit //toujours préférable.... dim i as integer dim chaine as string dim nb_page as integer nb_page =0 i=0 //initialisations While (i<>2007) chaine=str(i) 'j'ai des doutes quant à la syntaxe de conversion d'un entier en chaine de caractères 'ici tu lis ta chaine de caractères en mettant un if du style ' On parcourt tant qu'il reste des "1" dans la chaine. j=0 while(substring(j,chaine,"1")>0) nb_page=nb_page+1 j=substring(j,chaine,"1") wend i=i+1 'indispensable pour ne pas avoir de boucle infini! Wend
-
-
Pour faire une similitude à la fonction mid, tu peux utiliser tout d'abord la fonction len pour savoir le nombre de chiffres que comporte ton nombre.
Dans une boucle, tu fais unposition =1 ' Position du pointeur dans le mot, mais je ne sais plus s'il commence à 0 ou à 1 for i = 1 to len(nombre) if mid(nombre,position,1) = "1" then j = j+1 'j etant le nombre de "1" endif position = position +1 next i