Language C svp c'est urgent

Résolu
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   -  
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je voudrais savoir par exemple si j'entre ce code :
 
#include <stdio.h>
#include <stdlib.h>

int main()
{
    long nombre1, nombre2, nombre3, nombre4, nombre5 = 0;

	printf ("Entrez 5 nombres pour calculer une moyenne de ces 5 nombres \n");
	scanf ("%d"
	system("pause");
}

je voudrais entrer ces nombre d'UN seul coup en utilisant donc un scanf mais ai-je le droit de faire ça :
 scanf ("%d, %d, %d, %d, %d", &nombre1, &nombre2, &nombre3, &nombre4, &nombre5);c

Merci de vos réponses, je voudrais savoir si la syntaxe est bonne dans le scanf..

12 réponses

loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Pour connaître facilement la réponse... il suffit d'essayer ;-)
Bonne continuation.
0
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
j'ai essayé et ça marche pas regarde :
#include <stdio.h>
#include <stdlib.h>

int main()
{
    long nombre1, nombre2, nombre3, nombre4, nombre5, resultat = 0;

	printf ("Entrez 5 nombres pour calculer une moyenne de ces 5 nombres \n");
	scanf ("%d, %d, %d, %d, %d", &nombre1, &nombre2, &nombre3, &nombre4, &nombre5);
	printf ("Vous avez entre : %d, %d, %d, %d et %d \n", nombre1, nombre2, nombre3, nombre4, nombre5);
	system("pause");
}


quand j'entre un seul nombre, il m'invente les 4 autres mais c'est ma syntaxe je suis sur mais je comprend pas pourquoi.
Aidez moi et ne tournez pas autour du pot SVP !!!
0
marven23 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   2
 
salut,

essayer de faire

scanf("%d %d %d %d %d",&nombre1,&nombre2,&nombre3,&nombre4,&nombre5);

mais pendant l'execution tu dois entrer les cinq nombres séparés par des espaces

@+
0
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 012
 
Salut,
Regarde le tableau :
http://picolibre.int-evry.fr/projects/cvs/coursc/Tex4Ht/Indexse22.html

Pour des long, c'est %ld non ?
0

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

Posez votre question
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
merci beaucoup j'ai modifié quelques trucs mais ce programme est le même ;)
#include <stdio.h>
#include <stdlib.h>

int main()
{
    long nombre1, nombre2, resultat = 0;

	printf ("Entrez 2 nombres pour calculer leur moyenne \n");
	scanf("%d %d",&nombre1,&nombre2);
	printf ("Vous avez entre : %d et %d,\n", nombre1, nombre2);
	resultat = (nombre1+nombre2) / 2;
	printf ("La moyenne de ces 2 nombres est %d \n", resultat);
	system("pause");
}



en faite j'avais juste du mal pour la syntaxe du scanf !
merci à vous.
0
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Tu dois écouter les remarques du compilateur qui doit inévitablement râler. Quand il ne râlera plus, tu seras peut-être plus près du but.
0
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
ba là il a pas l'air de raler car le programme fonctionne tu veux parler quand j'avais mis des virgules dans le SCANF mais j'ai changé et ça marche nikel ;)
0
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Ce n'est pas parce que le programme fonctionne, que le programme est correct et que le compilateur n'a rien dit; en l'occurence, suite à ton code, le compilateur doit manifester sa désaprobation devant le '%d' et le 'long'. S'il ne dit rien, c'est que ta compilation est mal réglée.
Et puis ce n'est pas une erreur de mettre des virgules dans le 'scanf', mais il faut ensuite les saisir.
Bonne réflexion.
0
crapoulou Messages postés 28195 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   8 012
 
Parfait alors !
Mais %d pour un long ... !
Warning !
0
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
qu-est-ce qu'il a mon long et mon %d ???????
dis moi stp
0
loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Dans le 'scanf' tu fais correspondre un '%d' (qui est un entier court) avec un 'long' (qui est un entier long).
Il est vrai que cela ne pose pas toujours un problème car, sur certaines machines, les deux ont la même représentation (par exemple 32 bits pour les deux). Mais si on exécute sur une machine 16 bits... ce n'est plus le cas.
Bonne nuit.
0
Dora The Explorer Messages postés 2811 Date d'inscription   Statut Contributeur Dernière intervention   854
 
%ld est utilisé pour des variables de type long.
%d est utilisé pour des variables de type int.

E: enfin bon, faut que j'aille rafraichir ça de toute façon. A voir.

Sinon:
Si tu fais la moyenne de 3 + 2, la moyenne est toujours bien affichée? :)
0
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
mais on m'a dit que %ld et %d c'est la même chose !! :O :'(
0
jason-live Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   35
 
oui oui elle affiche parfaitement la moyenne merci à vous tous
0