Probleme de syntaxe
tchoubaka
Messages postés
71
Statut
Membre
-
tchoubaka Messages postés 71 Statut Membre -
tchoubaka Messages postés 71 Statut Membre -
bonjour les gars, voici un programme sur lequel je travaille. en fait je suis entrain de programmer
une calculatrice et comme vous voyez, mon programme est constitue d'une fonction principale (int main),
et pour l'instant de trois sous-programmes. J'explique le fonctionnement:
- Lorsque je lance la compilation, c'est d'abord la fonction <<nombre()>> qui affiche. dans
celle-ci, j'aimerais que si j'entre un nombre, il affiche a l'ecran le 2eme printf de cette meme fonction.
mais si j'entre une lettre alphabetique, il m'affiche plutot une erreur et me renvoi a la question combien de nombre.
en fait je n'arrive pas a faire ca. C'est ma premiere peocuppation.
- Ensuite c'est la fonction <<menu()>> qui affiche; bref dans celle-ci je n'ai pas de probleme.
- Et enfin c'est la fonction <<addition(long *m)>> ou j'utilise pour effectuer mon calcul le
monbre de valeur que j'ai fait entrer dans la fonction <<nombre()>>. Ici je suis oblige de travailler avec les
pointeurs. Rassurez-vous la syntaxe de la fonction n'est pas fausse. le probleme ici c'est: a partir de ...
for (i=1; i<*m; i++)
{
printf(" entrer le nombre numero: %ld ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
et ca n'affiche pas le resultat de l'addition je ne comprend pas pourquoi.
C'EST A CES NIVEAUX QUE J'AI DES PROBLEMES
#include <stdio.h>
#include <stdlib.h>
//************** prototypedefonction****************************************
void menu();
int nombre();
int addition(long *m);
//******************************* variable globale****************************************
long n=0, choix;
long i;
unsigned test=1;
/////////////////////////////////////////////////////////////////////////////////////////////
// PROGRAMME PRINCIPAL
/////////////////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
char quit;
quit='a';
nombre();
do
{
menu();
getch();
} while(quit!= 'a');
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
// sous programme void menu
/////////////////////////////////////////////////////////////////////////////////////////////
void menu()
{
printf("\n\n\n\n");
printf(" CALCULATRICE\n\n\n");
printf(" 1 - ADDITION\n\n");
printf(" FAITES VOTRE CHOIX EN APPUYANT LA TOUCHE 1");
scanf("%ld", &choix);
switch(choix)
{
case 1:
addition(&n);
break;
}
printf(" appuyer sur une touche pour sortir");
}
/////////////////////////////////////////////////////////////////////////////////////////////
// sous programme nombre
/////////////////////////////////////////////////////////////////////////////////////////////
int nombre()
{
printf("combien de nombre voulez-vous utiliser pour effectuer ce calcul\n");
scanf("%ld", &n);
printf("vous avez choisie %ld nombres pour votre calcul",n);
}
/////////////////////////////////////////////////////////////////////////////////////////////
// sous programme addition
/////////////////////////////////////////////////////////////////////////////////////////////
int addition(long *m)
{
int rep_add=0;
printf(" BIENVENU AU PROGRAMME D'ADDITIION\a\n");
printf(" entrer %ld nombres\n",*m);
for (i=1; i<*m; i++)
{
printf(" entrer le nombre numero: ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
printf(" la reponse de cette operation est: %ld", rep_add);
return 0;
}
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
une calculatrice et comme vous voyez, mon programme est constitue d'une fonction principale (int main),
et pour l'instant de trois sous-programmes. J'explique le fonctionnement:
- Lorsque je lance la compilation, c'est d'abord la fonction <<nombre()>> qui affiche. dans
celle-ci, j'aimerais que si j'entre un nombre, il affiche a l'ecran le 2eme printf de cette meme fonction.
mais si j'entre une lettre alphabetique, il m'affiche plutot une erreur et me renvoi a la question combien de nombre.
en fait je n'arrive pas a faire ca. C'est ma premiere peocuppation.
- Ensuite c'est la fonction <<menu()>> qui affiche; bref dans celle-ci je n'ai pas de probleme.
- Et enfin c'est la fonction <<addition(long *m)>> ou j'utilise pour effectuer mon calcul le
monbre de valeur que j'ai fait entrer dans la fonction <<nombre()>>. Ici je suis oblige de travailler avec les
pointeurs. Rassurez-vous la syntaxe de la fonction n'est pas fausse. le probleme ici c'est: a partir de ...
for (i=1; i<*m; i++)
{
printf(" entrer le nombre numero: %ld ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
et ca n'affiche pas le resultat de l'addition je ne comprend pas pourquoi.
C'EST A CES NIVEAUX QUE J'AI DES PROBLEMES
#include <stdio.h>
#include <stdlib.h>
//************** prototypedefonction****************************************
void menu();
int nombre();
int addition(long *m);
//******************************* variable globale****************************************
long n=0, choix;
long i;
unsigned test=1;
/////////////////////////////////////////////////////////////////////////////////////////////
// PROGRAMME PRINCIPAL
/////////////////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
char quit;
quit='a';
nombre();
do
{
menu();
getch();
} while(quit!= 'a');
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
// sous programme void menu
/////////////////////////////////////////////////////////////////////////////////////////////
void menu()
{
printf("\n\n\n\n");
printf(" CALCULATRICE\n\n\n");
printf(" 1 - ADDITION\n\n");
printf(" FAITES VOTRE CHOIX EN APPUYANT LA TOUCHE 1");
scanf("%ld", &choix);
switch(choix)
{
case 1:
addition(&n);
break;
}
printf(" appuyer sur une touche pour sortir");
}
/////////////////////////////////////////////////////////////////////////////////////////////
// sous programme nombre
/////////////////////////////////////////////////////////////////////////////////////////////
int nombre()
{
printf("combien de nombre voulez-vous utiliser pour effectuer ce calcul\n");
scanf("%ld", &n);
printf("vous avez choisie %ld nombres pour votre calcul",n);
}
/////////////////////////////////////////////////////////////////////////////////////////////
// sous programme addition
/////////////////////////////////////////////////////////////////////////////////////////////
int addition(long *m)
{
int rep_add=0;
printf(" BIENVENU AU PROGRAMME D'ADDITIION\a\n");
printf(" entrer %ld nombres\n",*m);
for (i=1; i<*m; i++)
{
printf(" entrer le nombre numero: ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
printf(" la reponse de cette operation est: %ld", rep_add);
return 0;
}
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
A voir également:
- Probleme de syntaxe
- Trouver erreur de syntaxe fichier txt ✓ - Forum PHP
- Impossible d'ouvrir un fichier txt avec Python ✓ - Forum Python
- Trouver erreur de syntaxe fichier txt pix - Forum Autoit / batch
- La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte - Forum Logiciels
- Syntaxe code puk orange - Guide
3 réponses
for (i=1; i<*m; i++)
{
printf(" entrer le nombre numero: %ld ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
ici tu n'ajoutes que le dernier élément dans rep_add ...
PS : lorsque tu donnes ton code, utilise stp les balises < code > (bouton à droite de gras italique souligné)
{
printf(" entrer le nombre numero: %ld ", i);
scanf(" %ld\n", &*m);
}
rep_add = rep_add + m[i] ;
ici tu n'ajoutes que le dernier élément dans rep_add ...
PS : lorsque tu donnes ton code, utilise stp les balises < code > (bouton à droite de gras italique souligné)