Un programme en C ! besoin d'aide
Fermé
Khaliil
-
23 mai 2009 à 01:54
the F Messages postés 150 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 22 mars 2011 - 23 mai 2009 à 19:59
the F Messages postés 150 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 22 mars 2011 - 23 mai 2009 à 19:59
A voir également:
- Un programme en C ! besoin d'aide
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme - 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
13 réponses
naruto83700
Messages postés
42
Date d'inscription
mercredi 7 janvier 2009
Statut
Membre
Dernière intervention
16 novembre 2011
4
23 mai 2009 à 01:56
23 mai 2009 à 01:56
Le debut je comprend t'as langue mais le2e paragraphe c'est quelle langue?
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
23 mai 2009 à 02:57
23 mai 2009 à 02:57
int main (int argc, char *argv[])
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 08:12
23 mai 2009 à 08:12
Non non, c'est bien int en minuscule ;-))). Et les arguments sont facultatifs...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 08:23
23 mai 2009 à 08:23
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
ninouhhichem
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
9
23 mai 2009 à 10:02
23 mai 2009 à 10:02
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];
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 11:36
23 mai 2009 à 11:36
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.
ninouhhichem
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
9
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
23 mai 2009 à 15:35
23 mai 2009 à 15:35
ou est ton prg
ou tu est la pour just "bla bla"
ou tu est la pour just "bla bla"
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
>
ninouhhichem
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
23 mai 2009 à 15:57
23 mai 2009 à 15:57
Tu relis mon poste 4, et il y a toutes les corrections qu'il faut apporter à son programme.
Le but du forum est d'aider, d'expliquer, pas de réaliser un programme en entier (qui plus est, avec des fautes) sans rien n'expliquer comme tu l'as fait.
Le but du forum est d'aider, d'expliquer, pas de réaliser un programme en entier (qui plus est, avec des fautes) sans rien n'expliquer comme tu l'as fait.
ninouhhichem
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
9
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
23 mai 2009 à 16:01
23 mai 2009 à 16:01
mon programme est correcte
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
>
ninouhhichem
Messages postés
201
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
21 juin 2009
23 mai 2009 à 16:09
23 mai 2009 à 16:09
Correcte ??
Il y a plein de fautes :s.
Relis mon poste 6, je t'ai signalé toutes tes erreurs.
Il y a plein de fautes :s.
Relis mon poste 6, je t'ai signalé toutes tes erreurs.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
valgoku
Messages postés
187
Date d'inscription
lundi 17 avril 2006
Statut
Membre
Dernière intervention
22 janvier 2013
47
23 mai 2009 à 11:46
23 mai 2009 à 11:46
Petit conseil, utilise le plus possible la boucle for, cela t'évitera bien des bêtises dans l'avenir !
Lamp's
Messages postés
54
Date d'inscription
mercredi 13 mai 2009
Statut
Membre
Dernière intervention
24 septembre 2009
6
23 mai 2009 à 11:58
23 mai 2009 à 11:58
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.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 12:07
23 mai 2009 à 12:07
Salut
int x[4]; créé un tableau de 4 int dont le premier indice est 0.
x[4] n'existe donc pas.
int x[4]; créé un tableau de 4 int dont le premier indice est 0.
x[4] n'existe donc pas.
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
23 mai 2009 à 12:00
23 mai 2009 à 12:00
pourquoi les fonction int main argv et argv sont facultative
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 12:11
23 mai 2009 à 12:11
Pourquoi ?
Ben car c'est la norme qui le dit.
Soit tu écris : int main(void); soit int main(int argc, char **argv);
Ben car c'est la norme qui le dit.
Soit tu écris : int main(void); soit int main(int argc, char **argv);
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
23 mai 2009 à 13:05
23 mai 2009 à 13:05
de quel norme tu parles ?
c'est quoi le void je l'ai pas encore vue sur le site du zero ?
c'est quoi le void je l'ai pas encore vue sur le site du zero ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 13:29
23 mai 2009 à 13:29
Je parle des normes du C (ANSI, C99) qui régissent le C.
Eh oui, sur le site du zéro, il n'y a pas tout ^^. Mais c'est un excellent début.
Eh oui, sur le site du zéro, il n'y a pas tout ^^. Mais c'est un excellent début.
Mins
Messages postés
43
Date d'inscription
mardi 31 juillet 2001
Statut
Membre
Dernière intervention
28 mai 2009
9
23 mai 2009 à 13:08
23 mai 2009 à 13:08
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
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
23 mai 2009 à 13:15
23 mai 2009 à 13:15
mais void c'est pas un truc pour la voie ? pour parler ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 mai 2009 à 13:40
23 mai 2009 à 13:40
Euh non void, c'est pour préciser qu'il n'y a pas de valeurs.
Tu confondrais pas avec le mot anglais "voice" ? ^^.
Tu confondrais pas avec le mot anglais "voice" ? ^^.
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
23 mai 2009 à 14:56
23 mai 2009 à 14:56
ha oui merci je confond.
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
23 mai 2009 à 19:54
23 mai 2009 à 19:54
Never miss your English lessons next time VH
:-D
:-D
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
23 mai 2009 à 19:59
23 mai 2009 à 19:59
@ hichem :
il n'y a pas de #serviteurs# dans ce furom en plus quand qq 1 te corrige : pas besoin de lui declarer la guerre
il n'y a pas de #serviteurs# dans ce furom en plus quand qq 1 te corrige : pas besoin de lui declarer la guerre