Un programme en C ! besoin d'aide
Khaliil
-
the F Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
the F Messages postés 150 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudraii cree un programme qui affiche :
nombre de personne par batiment , en sachant que chaque batimen se compose de 4 appartment .
nombre de personne par quartier en sachant qu'au quartier se trouve 4 batiment .
le batiment a plu grand nombre de personne.
Voila deja ce que jai faii / je voi pa ou est le probleme :/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a1 , a2 , a3 , a4 , b1 , b2 , b3 , b4 , q , i;
for ( i=1 ; i<=4 ; i++ )
{ printf("entrez le nombre de personne de l'apartement n 1 :\n");
scanf("%d",&a1);
printf("entrez le nombre de personne de l'apartement n 2 :\n");
scanf("%d",&a2);
printf("entrez le nombre de personne de l'apartement n 3 :\n");
scanf("%d",&a3);
printf("entrez le nombre de personne de l'apartement n 4 :\n");
scanf("%d",&a4);
if ( i = 1 ) {b1=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 1 est :\n %d",b1);
scanf("%d",&b1);}
else if ( i= 2) {b2=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 2 est :\n %d",b2);
scanf("%d",&b2);}
else if ( i= 3) {b3=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 3 est :\n %d",b3);
scanf("%d",&b3);}
else if ( i=4) {b4=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 4 est :\n %d",b4);
scanf("%d",&b3);}
else if ( i=4 ) {q = b1 + b2 + b3 + b4 ;
printf("le nombre de personne au quartier est :\n %d",q);
scanf("%d",&q);}
}
}
je voudraii cree un programme qui affiche :
nombre de personne par batiment , en sachant que chaque batimen se compose de 4 appartment .
nombre de personne par quartier en sachant qu'au quartier se trouve 4 batiment .
le batiment a plu grand nombre de personne.
Voila deja ce que jai faii / je voi pa ou est le probleme :/
#include <stdio.h>
#include <conio.h>
int main ()
{
int a1 , a2 , a3 , a4 , b1 , b2 , b3 , b4 , q , i;
for ( i=1 ; i<=4 ; i++ )
{ printf("entrez le nombre de personne de l'apartement n 1 :\n");
scanf("%d",&a1);
printf("entrez le nombre de personne de l'apartement n 2 :\n");
scanf("%d",&a2);
printf("entrez le nombre de personne de l'apartement n 3 :\n");
scanf("%d",&a3);
printf("entrez le nombre de personne de l'apartement n 4 :\n");
scanf("%d",&a4);
if ( i = 1 ) {b1=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 1 est :\n %d",b1);
scanf("%d",&b1);}
else if ( i= 2) {b2=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 2 est :\n %d",b2);
scanf("%d",&b2);}
else if ( i= 3) {b3=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 3 est :\n %d",b3);
scanf("%d",&b3);}
else if ( i=4) {b4=a1+a2+a3+a4;
printf("le nombre de personne du batiment n 4 est :\n %d",b4);
scanf("%d",&b3);}
else if ( i=4 ) {q = b1 + b2 + b3 + b4 ;
printf("le nombre de personne au quartier est :\n %d",q);
scanf("%d",&q);}
}
}
A voir également:
- Un programme en C ! besoin d'aide
- Mettre en veille un programme - Guide
- Programme demarrage windows - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
13 réponses
Salut,
Plusieurs remarques :
conio.h : évite de l'inclure dans la mesure du possible, car non standard.
<ital>int main () en C, le prototype sans arguments est : int main(void)
for ( i=1 ; i<=4 ; i++ )</ital> : je te conseille de faire des boucles en partant de 0 car les tableaux commencent à l'indice 0, cela t'évitera bien des complications.
if ( i = 1 ) : condition toujours vraie. L'opérateur de comparaison en C est le double égal (==). Le simple égal est utilisé pour l'affectation. Ceci fera i=1 et cela renverra 1 valeur vraie. Donc, le compilateur fera i=1; puis tout le bloc du if sera exécuté.
Pour les autres else if, voire remarque ci-dessus.
Ton dernier else if sera mieux de mettre i==5. Puisqu'en respectant la logique du programme, elle doit s'exécuter à la fin du for. Encore mieux car plus lisible, mettre ce bloc en dehors du for.
N'oublie pas de mettre return 0; à la fin pour signaler que tout va bien.
Cdlt
Plusieurs remarques :
conio.h : évite de l'inclure dans la mesure du possible, car non standard.
<ital>int main () en C, le prototype sans arguments est : int main(void)
for ( i=1 ; i<=4 ; i++ )</ital> : je te conseille de faire des boucles en partant de 0 car les tableaux commencent à l'indice 0, cela t'évitera bien des complications.
if ( i = 1 ) : condition toujours vraie. L'opérateur de comparaison en C est le double égal (==). Le simple égal est utilisé pour l'affectation. Ceci fera i=1 et cela renverra 1 valeur vraie. Donc, le compilateur fera i=1; puis tout le bloc du if sera exécuté.
Pour les autres else if, voire remarque ci-dessus.
Ton dernier else if sera mieux de mettre i==5. Puisqu'en respectant la logique du programme, elle doit s'exécuter à la fin du for. Encore mieux car plus lisible, mettre ce bloc en dehors du for.
N'oublie pas de mettre return 0; à la fin pour signaler que tout va bien.
Cdlt
slt,on veut calculer
1)nombre de personne par quartier
2)le batiment a plus grand nombre de personne
#include <stdio.h>
main ()
{
int a1 , a2 , a3 , a4 , b1 , b2 , b3 , b4 ,i,j,q,max,x[4];
for ( i=1 ; i<=4 ; i++ ) {
printf("entrez le nombre de personne de l'apartement n 1 :\n");
scanf("%d",&a1);
printf("entrez le nombre de personne de l'apartement n 2 :\n");
scanf("%d",&a2);
printf("entrez le nombre de personne de l'apartement n 3 :\n");
scanf("%d",&a3);
printf("entrez le nombre de personne de l'apartement n 4 :\n");
scanf("%d",&a4);
if ( i = 1 ) {b1=a1+a2+a3+a4;x[i]=b1;}
if ( i = 2 ) {b2=a1+a2+a3+a4;x[i]=b2;}
if ( i = 3 ) {b3=a1+a2+a3+a4;x[i]=b3;}
if ( i = 4 ) {b4=a1+a2+a3+a4;x[i]=b4;}
}
q = b1 + b2 + b3 + b4
printf("le nombre de personne au quartier est :\n %d",q);
max=x[1];
for ( j=1 ; j<=4 ; j++ )
if (max<x[j]) max=x[j];
}
1)nombre de personne par quartier
2)le batiment a plus grand nombre de personne
#include <stdio.h>
main ()
{
int a1 , a2 , a3 , a4 , b1 , b2 , b3 , b4 ,i,j,q,max,x[4];
for ( i=1 ; i<=4 ; i++ ) {
printf("entrez le nombre de personne de l'apartement n 1 :\n");
scanf("%d",&a1);
printf("entrez le nombre de personne de l'apartement n 2 :\n");
scanf("%d",&a2);
printf("entrez le nombre de personne de l'apartement n 3 :\n");
scanf("%d",&a3);
printf("entrez le nombre de personne de l'apartement n 4 :\n");
scanf("%d",&a4);
if ( i = 1 ) {b1=a1+a2+a3+a4;x[i]=b1;}
if ( i = 2 ) {b2=a1+a2+a3+a4;x[i]=b2;}
if ( i = 3 ) {b3=a1+a2+a3+a4;x[i]=b3;}
if ( i = 4 ) {b4=a1+a2+a3+a4;x[i]=b4;}
}
q = b1 + b2 + b3 + b4
printf("le nombre de personne au quartier est :\n %d",q);
max=x[1];
for ( j=1 ; j<=4 ; j++ )
if (max<x[j]) max=x[j];
}
Salut,
main ()
Ce n'est pas le bon prototype. Tu dois spécifier int devant !
if ( i = 1 ) {b1=a1+a2+a3+a4;x[i]=b1;}
L'opérateur de comparaison en C est le double égal (==) !
q = b1 + b2 + b3 + b4
En C, une instruction se termine par un point-virgule.
Ton tableau int x[4] est un tableau de 4 int dont le dernier indice est 3 et non 4. Ton programme pose donc problème. Voilà exactement pourquoi j'ai dit qu'il valait mieux commencer les boucles for à l'indice 0.
Et enfin, n'oublie pas le return 0 final.
main ()
Ce n'est pas le bon prototype. Tu dois spécifier int devant !
if ( i = 1 ) {b1=a1+a2+a3+a4;x[i]=b1;}
L'opérateur de comparaison en C est le double égal (==) !
q = b1 + b2 + b3 + b4
En C, une instruction se termine par un point-virgule.
Ton tableau int x[4] est un tableau de 4 int dont le dernier indice est 3 et non 4. Ton programme pose donc problème. Voilà exactement pourquoi j'ai dit qu'il valait mieux commencer les boucles for à l'indice 0.
Et enfin, n'oublie pas le return 0 final.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Petit conseil, utilise le plus possible la boucle for, cela t'évitera bien des bêtises dans l'avenir !
J'ai un petit doute : le fait de déclarer ton tableau int x[4] créé-t-il un tableau à 4 cases ou allant jusque la case numéro 4?
Les tableaux en C commençant par la case [0], la première solution poserait probleme ici puisque la case [4] n'existerait pas.
Les tableaux en C commençant par la case [0], la première solution poserait probleme ici puisque la case [4] n'existerait pas.
void c'est rien. Ca veut dire qu'il ne prend rien en argument si tu le mets à la place des paramètres. tu peux aussi avoir void comme retour de fonction si ta fonction ne doit rien retourner.
Bonne journée
Bonne journée