B0njour| bonsoir "je suis nouveau en programmation c j'ai besoin de correct

ciscom -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
#include <stdio.h>
#include <stdlib.h>


int main()
{
    printf("Hello world!\n");
     int ndch,t,scd=0,N;
     printf("votre nombre est compose de combien de chiffres?\n ");
     scanf("%d",&ndch);
     int i=1
     while (i<= ndch)
     {
         printf("donne le % chiffre de votre nombre\n",i);
         scanf("%d",&t);
         sdc = sdc + t*t*t
         i = i+1
     }
     printf("ecrivez maintenant votre nombre au complet\n");
     scanf("%d", &N);
     if (N == scd)
     {
         printf(N,"est un nombre de AMSTRONG");

    }
    printf("desole!!!!!");



    return 0;
}
A voir également:

2 réponses

Tomsuper Messages postés 1926 Date d'inscription   Statut Membre Dernière intervention   360
 
Bonjour,

Dans votre ligne int i = 1 et i = i + 1 vous avez oublié le ; de fin de commande.

Sinon quelle est le problème ?

Cordialement
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Bonjour ciscom,

Tomsuper a raison. Sinon, en plus de ce qu'il signale au niveau des point-virgules, il y a aussi en ligne 11 un autre
;
manquant

En plus, pour corriger la syntaxe de ton programme il faudrait aussi remédier aux problèmes suivants :
  • en ligne 14 un signe % tout seul est mis dans la chaîne - s'il s'agit d'un spécificateur de format pour
    i
    , qui est un
    int
    , il faudrait que cela soit
    %d
    je suppose
  • en ligne 16,
    sdc = sdc + t*t*t;
    la variable
    sdc
    n'est jamais déclarée et le compilateur ne sait pas quoi en faire, il faudrait aussi l'initialiser, car autrement il y aura n'importe quoi dedans lorsque le programme exécutera cette ligne
  • printf(N,"est un nombre de AMSTRONG");
    n'est pas la bonne façon de faire pour afficher la valeur de la variable N, je suppose que c'est
    printf("%d est un nombre de AMSTRONG\n", N);
    que tu veux faire
  • il vaut mieux terminer les
    printf()
    par un
    \n
    pour être sûr que le texte envoyé dans la mémoire tampon de stdout soit bien affiché à l'écran, y compris celui ci-dessus et celui en ligne 26


Tous ces "problèmes" (à l'exception du dernier) sont signalés par le compilateur en compilant avec les warnings (compile toujours avec les warnings - option
-Wall
avec gcc, les warnings signalent dans 90% des cas des erreurs ou comportements anormaux ou dangereux) et en corrigeant les erreurs de compilation et causes des avertissements un par un en commençant par le premier et en recompilant jusqu'à ce que le code compile proprement sans erreurs ni avertissements.

Avant de poster, tu devrais utiliser les messages d'erreurs et d'avertissements pour corriger ton code par toi même. Si tu ne comprends pas un message d'erreur ou d'avertissement après avoir cherché par toi même, pose la question dans le forum. Le compilateur est ton ami.

Tu devrais aussi revoir les bases de la syntaxe du C.

Sinon, je n'ai pas regardé la pertinence et logique de ton code.

Dal
0