Probleme avec les entré de caracteres

Fermé
ApolloCrid - 17 oct. 2003 à 20:30
 Bob - 18 oct. 2003 à 14:11
Voila je suis en train d'essayer d'ecrie un programme sur les calculs de pgcd et je bloke parce que je n'arrive pas a faire suivre deux getchar() de suite voici le debut du code source qd je demarre l'application apres avoir entrer le nombre 1 le programme se termine pourquoi voici le code source
#include <stdio.h>


int main ()
{
int PremierNombre,SecondNombre,Resultat;
printf(" LOGICIEL DE CALCUL DE PGCD\n");
printf(" By ApolloCrid&W3bM@st3r\n");
printf(" Version N*1\n");
printf("\nEntrez le premier nombre\n");
PremierNombre = getchar();
printf("\nVous avez entre le nombre :\n");
printf("\nEntrez le second nombre :\n");
SecondNombre = getchar();

}

Ma deuxieme question est : comment puisje faire pour créer le logicile sous windows avec des fenetre quoi au lieu de le mettre sous dos merci
ApolloCrid
A voir également:

5 réponses

1ere remarque: il manque un return 0 à ta fonction main.
2eme remarque: effectivement il y a un problème pour ce que tu souhaites faire mais je pense que tu devrais te tourner vers scanf() qui est plus pratique.
0
Salut,
Effectivement, getchar ne lit qu'un caractère.
Utilises plutôt la fonction scanf comme suit :
scanf( "%d", &PremierNombre ) ;
et
scanf( "%d", &SecondNombre ) ;

De cette façon, tu liras tes nombres en entier.

A+
0
Au fait, pour ta 2eme question, je te conseilles d'essayer de le faire marcher d'abord sous DOS. Car si tu veux t'attaquer à la programmation sous Windows, il va te falloir créer une fenêtre avec des champs de saisie, etc... Et là, tu entres dans un domaine largement plus compliqué.

Quoiqu'il existe des outils de développement (genre Dev-C++) qui te permettront de générer le "moule" de ton application. Mais le coeur (c'est à dire tes champs de saisies, ...), il faudra que tu te le fasses toi-même comme un grand.

Tout dépend de ton objectif. Si c'est apprendre le C, tu seras bien obligé de t'y mettre. Par contre, si le langage n'est pas important, alors je te conseilles d'utiliser TCL/TK. C'est un lanage interprété qui existe pour Windows, Linux, ..., qui est très performant et très simple à mettre en oeuvre. A titre d'exemple, saches que ta petite IHM pour la saisie de tes 2 nombres doit s'écrire en 10 lignes maximum.

A+
0
Merci c'est sympa,non je veux apprendre le language C donc je devrai m'y attaquer c'est sur je voudrai savoir aussi pourquoi je dois mettre un return 0 avec main, je le met ou ? merci ....
0

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

Posez votre question
Ceci est valable pour toute fonction:

int fonction(int valeur)
{
return valeur;
}

Ici la fonction est typée par int ce qui signifie qu'elle doit retourner un entier signé donc en fin de fonction on doit donner un int à la fonction.
De même avec la fonction main qui est la seule fonction qui a priorité d'exécution on écrit return 0; ou avec la macro substitution EXIT_SUCCESS définie dans <stdlib.h> qui est remplacée par 0 pendant la phase de traitement du préprocesseur. Le 0 signifie qu'il n'a eu aucun problème d'exécution au sein de la fonction main. Le préprocesseur est une fonction de remplacement d'élement textuel.

Exemple:

#define TRUC 0

Ici le préprocesseur va remplacer par 0 à chaque fois qu'il trouve TRUC dans le code source.

Bon je vais pas trop m'attarder sur des cours de C il y a CCM pour ça ;-) .
0