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
Bonjour à tous !!
Je pourrais avoir un coup de main svp, j'essaye d'exécuter ce code de langage c mais au niveau du nom il Ya un problème je ne sais pas quoi faire :
Le langage c
#include <stdio.h>
#include <stdlib.h>
char vnom,vprenom;
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;
}

8 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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,
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 sept. 2014 à 12:42
D'ailleurs, comme l'a dit sobgoumstephie,
il faut aussi enlever l'esperluette (&) devant la chaîne de caractère.
Exemple : scanf("%s",vnom);
0
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
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;
}


0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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'.
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
Merci beaucoup je vais essayer ça
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: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>
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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 ?
0

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
quand je met "kouakou" comme mon cela me donne"rank"
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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 ?
0
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
J'utilise code : blocks mon problème c'est au niveau du nom
/*#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
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
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.
0
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
d'accord et merci infiniment !!
0