Boucle while en C

Résolu/Fermé
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mon professeur me lance un défi: faire le code suivant avec UNE SEULE variable:


#include <stdio.h>
#include <stdlib.h>

int main()
{
int v_nombre;
int v_i;

printf("Entrez un nombre:");
scanf("%d", &v_nombre);
do
{
v_nombre++;
printf("\n%d", v_nombre);
}while (v_nombre <= v_i+10);

system("pause>nul"); //mettre en pause
return 0;
}

100 réponses

le père
 
Bonjour

À mon avis, While v_nombre<=v_nombre+10 est toujours vrai, tu n'en sortiras jamais !

Pas très rusé, mais efficace :

#include <stdio.h>
#include <stdlib.h>

int main()
{
int v_nombre;
printf("Entrez un nombre:");
scanf("%d", &v_nombre);

printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);
printf("\n%d", ++v_nombre);

system("pause>nul"); //mettre en pause
return 0;
}
1
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   65
 
type gagnéééé{
int1 as integer
int2 as integer
str1 as varchar
}v_nombre

il me semble que c'est comme sa qu'on l'écrit en c++, bon monsieur qui a crée le sujet va faloir que tu testt!!
1
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
Je ne suis pas un expert en C mais j'avoue ne pas comprendre a quoi te sert la variable v_i, d'autant plus plus qu'il me semble que tu ne lui donnes aucune valeur.
0
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   65
 
aaaaaaaaaaa, je suis du même avis que enark78, autant la remplacer par un 0!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zopla Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   34
 
oui la variable v_i n'est pas initialisée... ça risque pas de marcher comme tu veux..
En gros tu veux saisir une valeur et afficher 10 fois de suite toutes les valeurs incrémentées de 1 à partir de ta valeur saisie?
0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
Donc voila ton code avec une seule variable :D. Je suis pas si mauvais que ca finalement xD
0
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   65
 
xD !! ni moi, même si je pige pas a quoi il sert l'algo, rajouter +1 a chaque fois que le nombre est inférieur ou égal a 10?????
0
Zopla Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   34
 
ça ne fera pas grand chose en l'état s'il conserve cette forme d'écriture.. surtout s'il saisit un nombre > 10...
0
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   16
 
La boucle v_i = v_nombre +10 et il faut en lever le + 10 a la fin de la boucle (désolé, pas bien copier le fichier source)

Mais la donnée de l'exercice c'est d'enter un nombre et ensuite afficher les 10 nombre qui suivent

On peut le faire avec une boucle FOR ou bien une DO WHILE.
0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
et si v_i prend une valeur bizarre lorsqu'elle est déclarée
0
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   16
 
mais le truc c'est que j'arrive pas avec une seul variable, ça me donne une boucle infini
0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
v_nombre=v_nombre+1 (a faire 10 fois) ?
0
Zopla Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   34
 
il faut le faire avec la fonction while absolument?
0
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   16
 
La seul condition du défi c'est avec UNE SEUL variable
0
Zopla Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   34
 
une boucle for fera très bien l'affaire dans ce cas
0
Yazou92 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   16
 
Mais dans la boucle FOR je serai contrains à utiliser la variable "I" pour le faire 10 fois et la dans le code il y aurai 2 variables...

Es-que c'est possible de le faire avec une seul variable ou je devrai déclarer forfait?
0
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   65
 
Ne déclare pas forfait nous allons t'aider ( enfin essayer)
0
Zopla Messages postés 285 Date d'inscription   Statut Membre Dernière intervention   34
 
ba non tu as reçu une valeur dans ta variable saisie.. c'est elle que tu incrémentes 10 fois... donc une seule variable
0
mayuri Messages postés 569 Date d'inscription   Statut Membre Dernière intervention   65
 
#include <stdio.h>
#include <stdlib.h>

int main()
{
int v_nombre;
printf("Entrez un nombre:");
scanf("%d", &v_nombre);

While v_nombre<=v_nombre+10
{
printf("%d", &v_nombre);
v_nombre=v_nombre +1;
}

printf(" aaaaaaaaaaaaaaaaa")

system("pause");

}


0
enark78 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   17
 
je suis aussi de ton avis le père
0