Problléme de débutant

Fermé
débutant - 1 févr. 2008 à 19:34
 nico - 1 févr. 2008 à 19:43
Bonjour,

J'ai besion de votre aide:
J'ai fait un programme(pour connaitre les diviseurs du monbre saisi) pour parfaire mon code mais j'ai deux avertissements:

:: === multiplicateur, Debug ===
main.c:24: warning: left-hand operand of comma expression has no effect
main.c:31: warning: control reaches end of non-void function
:: === Génération finie: 0 erreurs, 2 avertissements ===

J'ai voulu faire une boucle pour réexécute le programme mais mon adaptation ne marche pas: y a t il une commande pour faire çà au lieu de devoir une boucle?

Code : C - Afficher / masquer les numéros de ligne#include <stdio.h>
#include <stdlib.h>

int main()
{
int encore; /* variable de boucle de "reboot du programe */
char rep= 'N'; /* variable caractére de la question de réexécuter le programme*/
long reste=0; /* modulo de la variable nbre (sujet de recherche */
long nbre=0; /*variable a laquelle on travail pour trouver le */
long i; /*compteur pour trouver le diviseur*/
while (encore==1)
{

printf("Entre le nombre entier pour trouver ses diviseurs: ");
scanf("%ld",&nbre);
printf("Les diviseurs du nombre %ld sont : ", nbre);
for (i=1 ; i<nbre ; i++) /* boucle pour trouver les diviseur */
{
reste = nbre % i;
if (reste == 0)
printf ("%ld ", i );
}
printf ("\n");
reste, nbre =0; /* réinitialiser de variable pour une éventuelle "reboot du code" (il y un probleme)*/
printf ("Veux-tu un autre nombre pour découvrir ses diviseurs? O/N");
scanf ("%c", &rep);
if (rep=='O')
encore=0;
}

}ligne 31

En mettant le "return 0", j'ai une erreur ( main.c:31: error: syntax error before '}' token)


Merci

1 réponse

essaye sa ==>
#include <stdlib.h> 

int main(void) 
{ 
int encore=0; /* variable de boucle de "reboot du programe */ 
char rep= "O"; /* variable caractére de la question de réexécuter le programme*/ 
long reste=0; /* modulo de la variable nbre (sujet de recherche */ 
long nbre=0; /*variable a laquelle on travail pour trouver le */ 
long i=0; /*compteur pour trouver le diviseur*/ 
while (encore) // tant que la variable est vrai la boucle continu si elle devien fausse la boucle s'arette. Ici pas besoin de metre encore==1
{ 
printf("Entre le nombre entier pour trouver ses diviseurs: "); 
scanf("%ld",&nbre); 
printf("Les diviseurs du nombre %ld sont : ", nbre); 
for (i=1 ; i<nbre ; i++) /* boucle pour trouver les diviseur */ 
{ 
reste = nbre % i; 
if (reste == 0) 
printf ("%ld ", i ); 
} 
// un printf('\n'); virer
reste, nbre =0; /* réinitialiser de variable pour une éventuelle "reboot du code" (il y un probleme)*/ 
printf ("\nVeux-tu un autre nombre pour découvrir ses diviseurs? O/N"); 
scanf ("%c", &rep); 
if (rep=="N") 
encore=0; 
} 
return 0;
}

0