Partie du programme non exécutée

Fermé
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006 - 19 oct. 2005 à 19:22
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006 - 19 oct. 2005 à 21:47
Bonjour je suis débutant développeur C et je développe avec Visual C++6.0 il y a un programme qui ne s'exécute qu'en partie lorsque je le leance voici le code source :
"#include <stdio.h>
#include <conio.h>

char main()
{

/*déclaration de la variable*/

char nom;
nom = ' ';

/*saisie de la variable*/

printf("Quel est ton nom?\n");
scanf("%c\n",&nom);

/*conditions*/

if((nom =='ange'))
{
printf("Je taime mon coeur\n");
}
else
{
if((nom =='seb'))
{
printf("Coucou grateur\n");
}
}

/*attendre avant de sortir*/

getch();

return(0);
}"
Visual C++ me dit que la syntaxe est correcte (pas d'erreurs ni de warnings) mais quand je lance le programme il me demande le nom, il me laisse l'entrer...puis rien ne se passe.... jusqu'à ce que j'appuies sur "entrer" à ce moment, la fonction getch prend son rôle... quelqu'un pourrait-il m'aider s'il vous plaît??
A voir également:

13 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 19:43
normal tu ne peux pas avoir de réponse .
pour valider un scanf,il faut appuyer sur entrée.
le probleme c'est que le scanf ("%c") ne prend qu'un caratere,%c ne signifiant qu'un seul caractere.

declare nom que ceci : char nom[80];
.....................
scanf("%s",nom);

voila!
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 20:27
ok merci beaucoup!!
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 20:53
de rien si ca a pu t'aider c'est le principal
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 21:00
ben...justement... :$ maintenant quand je compile il me dit plein de trucs (j'ai la version anglaise...) genre :
"test2.c(7) : warning C4047: '==' : 'char [9]' differs in levels of indirection from 'const int '
test2.c(7) : warning C4553: '==' : operator has no effect; did you intend '='?
test2.c(13) : warning C4047: '==' : 'char [9]' differs in levels of indirection from 'const int '
test2.c(19) : warning C4047: '==' : 'char [9]' differs in levels of indirection from 'const int ' "
si tu as une idée dis moi s'il te plaît...
euh... désolé de demander ça comme ça mais si quelqu'un aurait du temps a accorder mon adresse MSN est dans mon profil
0

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

Posez votre question
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 21:03
normalement c'est que des warning et ca devrait s'executer mais si ca marche pas met le code que tu as compilé ici
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 21:06
c'est bien des warnings il veut bien me l'exécuter mais le résultat est le même mis à part que la fonction getch ne se lance pas...
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 21:11
je te propose ca :

#include<stdio.h>
#include<conio.h>

main()
{
char nom[10]={0};

printf("Quel est ton nom?\n");
scanf("%s\n",nom);

if((strcmp(nom,'ange'))==0)
{
printf("Je taime mon coeur\n");
}
else if((strcmp(nom,'seb'))==0)
{
printf("Coucou grateur\n");
}

getch();
}



dis moi si ca marche
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 21:17
même résultat que précédemment...
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 21:21
c'est quoi ton compilateur?
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 21:23
visual C++6.0 version anglaise.
J'ai aussi Microsoft Visual Studio.Net 2003 mais je n'étais pas sûr qu'il puisse compiler du C je ne l'ai donc pas installer
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 21:32
bah tu as devc++ francais et qui est tres bien je te conseille de l'essayer et en plus il est grauit
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 oct. 2005 à 21:36
tiens voila un code testé et qui marche :


#include<stdio.h>
#include<conio.h>
#include<string.h>

main()
{
char nom[10]={0};

printf("Quel est ton nom?\n");
scanf("%s",nom);

if((strcmp(nom,"ange"))==0)
{
printf("\nJe taime mon coeur\n");
}
else if((strcmp(nom,"seb"))==0)
{
printf("\nCoucou grateur\n");
}

getch();
}
0
magicbisous-nours Messages postés 56 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 10 octobre 2006
19 oct. 2005 à 21:47
merci bien!! je verrais dans les cours que j'ai l'explication de al fonction strcmp je crois que je t'ai pris assez de temps comme ça merci encore!!
0