Langage c
Résolu/Fermé
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
9 sept. 2014 à 11:50
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 20 sept. 2014 à 14:45
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 20 sept. 2014 à 14:45
A voir également:
- Langage c
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
8 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
9 sept. 2014 à 12:13
9 sept. 2014 à 12:13
Bonjour,
char vnom,vprenom;
int vage;
float vtaille;
Les variables globales sont déconseillées. Surtout qu'ici tu peux facilement les mettre dans le corps du main().
Je te conseille également de plutôt utiliser un double qu'un float.
Attention, char vnom; définit une variable de type char. Elle ne peut contenir qu'un caractère. Si tu veux une chaîne de caractère, il faut passer par un tableau ou un pointeur.
Par exemple : char vnom[26], vprenom[26]; cela créera un tableau de 25 caractères (le 26ème est réservé pour le caractère de fin '\0').
int main ()
Le bon prototype est : int main(void)
scanf("%f",&vtaille);
N'oublie pas de mettre %lf (L minuscule) si tu passes vtaille en double comme conseillé.
printf("bonjour %s %s tu as %i ans et tu mesures %f m",vnom,vprenom,vage,vtaille);
N'oublie pas de mettre un '\n' à la fin de phrase pour forcer l'affichage.
Note : le problème vient probablement de char vnom, vprenom. Mais, je te conseille de tout corriger pour faire plus propre.
Si tu rencontres encore des problèmes, n'hésite pas à poster ton code corrigé. Merci de ne pas oublier d'utiliser la balise "<code c>".
Exemple :
<"code c">
/*ici tu mets ton code*/
<"/code">
(sans guillemets).
Cdlt,
char vnom,vprenom;
int vage;
float vtaille;
Les variables globales sont déconseillées. Surtout qu'ici tu peux facilement les mettre dans le corps du main().
Je te conseille également de plutôt utiliser un double qu'un float.
Attention, char vnom; définit une variable de type char. Elle ne peut contenir qu'un caractère. Si tu veux une chaîne de caractère, il faut passer par un tableau ou un pointeur.
Par exemple : char vnom[26], vprenom[26]; cela créera un tableau de 25 caractères (le 26ème est réservé pour le caractère de fin '\0').
int main ()
Le bon prototype est : int main(void)
scanf("%f",&vtaille);
N'oublie pas de mettre %lf (L minuscule) si tu passes vtaille en double comme conseillé.
printf("bonjour %s %s tu as %i ans et tu mesures %f m",vnom,vprenom,vage,vtaille);
N'oublie pas de mettre un '\n' à la fin de phrase pour forcer l'affichage.
Note : le problème vient probablement de char vnom, vprenom. Mais, je te conseille de tout corriger pour faire plus propre.
Si tu rencontres encore des problèmes, n'hésite pas à poster ton code corrigé. Merci de ne pas oublier d'utiliser la balise "<code c>".
Exemple :
<"code c">
/*ici tu mets ton code*/
<"/code">
(sans guillemets).
Cdlt,
sobgoumstephie
Messages postés
10
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
22 septembre 2014
9 sept. 2014 à 12:15
9 sept. 2014 à 12:15
Salut de lavega
juste quelques légers problèmes a ton programme.
1. chaque chaines de caractères est n'est en fait qu'un tableau.
c'est pourquoi tu devrait déclarer les variables vnom et vprénom en tant que chaînes de caractères avec des taille que tu aura défini("100" par exemple).
2.aussi, tu devrais enlever le "&" dans le scanf (en fait, pour des chaines de caractères, il n'est pas vraiment nécessaire).
c'est pourquoi, je te propose d'écrire plutôt:
#include <stdio.h>
#include <stdlib.h>
char vnom[100]="",vprenom[100]="";
int vage;
float vtaille;
int main ()
{
printf("entrer votre nom\n");
scanf("%s",vnom);
printf("entrer votre prenom\n");
scanf("%s",vprenom);
printf("entrer votre age\n");
scanf("%d",&vage);
printf("entrer votre taille\n");
scanf("%f",&vtaille);
printf("bonjour %s %s tu as %i ans et tu mesures %f m",vnom,vprenom,vage,vtaille);
return 0;
}
juste quelques légers problèmes a ton programme.
1. chaque chaines de caractères est n'est en fait qu'un tableau.
c'est pourquoi tu devrait déclarer les variables vnom et vprénom en tant que chaînes de caractères avec des taille que tu aura défini("100" par exemple).
2.aussi, tu devrais enlever le "&" dans le scanf (en fait, pour des chaines de caractères, il n'est pas vraiment nécessaire).
c'est pourquoi, je te propose d'écrire plutôt:
#include <stdio.h>
#include <stdlib.h>
char vnom[100]="",vprenom[100]="";
int vage;
float vtaille;
int main ()
{
printf("entrer votre nom\n");
scanf("%s",vnom);
printf("entrer votre prenom\n");
scanf("%s",vprenom);
printf("entrer votre age\n");
scanf("%d",&vage);
printf("entrer votre taille\n");
scanf("%f",&vtaille);
printf("bonjour %s %s tu as %i ans et tu mesures %f m",vnom,vprenom,vage,vtaille);
return 0;
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 9/09/2014 à 12:41
Modifié par fiddy le 9/09/2014 à 12:41
Chaque chaines de caractères est n'est en fait qu'un tableau
Ou un pointeur :-).
Pas besoin d'initialiser tes tableaux ici. Ils sont automatiquement initialisés à '\0'.
Ou un pointeur :-).
Pas besoin d'initialiser tes tableaux ici. Ils sont automatiquement initialisés à '\0'.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
9 sept. 2014 à 12:42
9 sept. 2014 à 12:42
Merci beaucoup je vais essayer ça
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
9 sept. 2014 à 12:58
9 sept. 2014 à 12:58
excuser moi encore mais le nom seul ne marche pas
<code>/* #include <stdio.h>
#include <stdlib.h>
char vnom[100],vprenom[100];
int vage;
float vtaille;
int main()
{
printf("entrer votre nom\n");
scanf("%s",vnom);
printf("entrer votre prenom\n");
scanf("%s",vprenom);
printf("entrer votre age\n");
scanf("%d",&vage);
printf("entrer votre taille\n");
scanf("%f",&vtaille);
printf("bonjour %s %s tu as %i ans et tu mesures %f m \n",vnom,vprenom,vage,vtaille);
return 0;
}
*/<code>
<code>/* #include <stdio.h>
#include <stdlib.h>
char vnom[100],vprenom[100];
int vage;
float vtaille;
int main()
{
printf("entrer votre nom\n");
scanf("%s",vnom);
printf("entrer votre prenom\n");
scanf("%s",vprenom);
printf("entrer votre age\n");
scanf("%d",&vage);
printf("entrer votre taille\n");
scanf("%f",&vtaille);
printf("bonjour %s %s tu as %i ans et tu mesures %f m \n",vnom,vprenom,vage,vtaille);
return 0;
}
*/<code>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
9 sept. 2014 à 13:08
9 sept. 2014 à 13:08
Attention, au niveau des balises.
C'est <"code c">/*ton code*/<"/code"> (sans guillemets).
Il ne faut pas oublier le "c" à côté de "code". Et le /*ton code*/ est à remplacer par ton code. Il ne faut pas mettre /* et */ (ce sont les commentaires en C).
Et n'oublie pas le / dans la balise de fin <"/code">.
Ton code est correct sinon (excepté qu'il n'est pas propre comme je te l'ai dit, mais c'est toi qui vois ;-)). Cela devrait fonctionner. Que rencontres-tu comme problème ?
C'est <"code c">/*ton code*/<"/code"> (sans guillemets).
Il ne faut pas oublier le "c" à côté de "code". Et le /*ton code*/ est à remplacer par ton code. Il ne faut pas mettre /* et */ (ce sont les commentaires en C).
Et n'oublie pas le / dans la balise de fin <"/code">.
Ton code est correct sinon (excepté qu'il n'est pas propre comme je te l'ai dit, mais c'est toi qui vois ;-)). Cela devrait fonctionner. Que rencontres-tu comme problème ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
9 sept. 2014 à 13:16
9 sept. 2014 à 13:16
quand je met "kouakou" comme mon cela me donne"rank"
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
9 sept. 2014 à 13:26
9 sept. 2014 à 13:26
As-tu bien recompilé ?
Sinon ferme tout et recréé un projet.
Si cela ne marche toujours pas, désinstalle et réinstalle ton compilateur.
Tu utilises quel IDE ?
Sinon ferme tout et recréé un projet.
Si cela ne marche toujours pas, désinstalle et réinstalle ton compilateur.
Tu utilises quel IDE ?
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
20 sept. 2014 à 14:13
20 sept. 2014 à 14:13
J'utilise code : blocks mon problème c'est au niveau du nom
Quand je mets `'Kouakou `' comme nom, `'franck'' comme prenom,''26'' comme age et `'1.60 `' comme la taille cela me donne :
Bonjour rank franck tu as 26 ans et tu mesures 1.600000 m
/*#include <stdio.h> #include <stdlib.h> char vnom[100],vprenom[100]; int vage; float vtaille; int main() { printf("entrer votre nom\n"); scanf("%s",vnom); printf("entrer votre prenom\n"); scanf("%s",vprenom); printf("entrer votre age\n"); scanf("%d",&vage); printf("entrer votre taille\n"); scanf("%f",&vtaille); printf("bonjour %s %s tu as %i ans et tu mesures %f m \n",vnom,vprenom,vage,vtaille); return 0; } */
Quand je mets `'Kouakou `' comme nom, `'franck'' comme prenom,''26'' comme age et `'1.60 `' comme la taille cela me donne :
Bonjour rank franck tu as 26 ans et tu mesures 1.600000 m
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 sept. 2014 à 14:43
20 sept. 2014 à 14:43
Comme déjà dit : il n'y a pas d'erreur dans ton code...
As-tu bien recompilé ?
Sinon ferme tout et recréé un projet.
Si cela ne marche toujours pas, désinstalle et réinstalle ton compilateur.
As-tu bien recompilé ?
Sinon ferme tout et recréé un projet.
Si cela ne marche toujours pas, désinstalle et réinstalle ton compilateur.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
20 sept. 2014 à 14:45
20 sept. 2014 à 14:45
d'accord et merci infiniment !!
9 sept. 2014 à 12:42
il faut aussi enlever l'esperluette (&) devant la chaîne de caractère.
Exemple : scanf("%s",vnom);