Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/09/2012, à 10:12

Hydhen

Bug avec la commande "scanf"

Bonjour à tous !

J'ai un petit soucis sous Linux que je n'ai jamais rencontré sous Windows, voilà mon code pour commencer :

#include <stdio.h>

int nombre;
int nombre2;
int resultat;

int calcul(int nombre,int nombre2)
{
  resultat=nombre+nombre2;
  return resultat;
}

int main()
{
  printf("\n\n************DEBUT DE PROGRAMME***\n\n");
  printf("Entrer un nombre : ");
  scanf("%d\n\n", &nombre);
  printf("Entrer un second nombre : ");
  scanf("%d\n\n", &nombre2);
  calcul(nombre,nombre2);
  printf("Le total vaux : %d", resultat);
  printf("\n\n************FIN DE PROGRAMME*****\n\n");
}

Mon problème n'est ni lors de la compilation ni lors de l'écriture mais pendant le test.
Je compile mon fichier nommé Test1.c

gcc Test1.c -o Test1

Puis je le lance avec :

./Test1

Tout s'affiche correctement jusqu'au premier scanf, je dois rentrer un nombre, j'appuie sur entré et cela me fait le même effet que dans un éditeur de texte, un retour a la ligne...
Le seul moyen que j'ai trouver c'est d'ajouter un autre caractère qu'un chiffre, mais cela me fait bugger mon programme, il défile et me zappe le deuxième scanf.. mais il me fait l'addition du premier nombre + 0 dans l'avant dernier printf...

Si quelqu'un à une idée je suis preneur.

PS: Si quelqu'un sais comment je peut copier coller du texte depuis la console pour vous montrez le résultat je suis tout ouïe, je suis pas encore très bien habitué à Linux roll

Merci d'avance ! big_smile


Processeur : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ 2.59 GHz
RAM : 4.00Gb DDR2
Carte Graphique : GeForce 440GTX 1Gb DDR5
OS : Windows 7 Ultimate x64 - Ubuntu 12.04LTS

Hors ligne

#2 Le 07/09/2012, à 10:23

Braun

Re : Bug avec la commande "scanf"

Bonjour,
Pourrais-tu m'expliquer pourquoi tu places deux "newline " dans la chaîne de format du scanf ???
Perso je n'en aurais mis aucun.

Hors ligne

#3 Le 07/09/2012, à 10:24

Hydhen

Re : Bug avec la commande "scanf"

C'est pour que ce soit plus lisible lors du test sur la console sinon c'est tout serrer et sa me crame les yeux hmm
Sa pourrait venir de sa ?

EDIT : Oui le problème venait bien des new line dans le scanf, merci du coup de main ! big_smile

Dernière modification par Hydhen (Le 07/09/2012, à 10:26)


Processeur : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ 2.59 GHz
RAM : 4.00Gb DDR2
Carte Graphique : GeForce 440GTX 1Gb DDR5
OS : Windows 7 Ultimate x64 - Ubuntu 12.04LTS

Hors ligne

#4 Le 07/09/2012, à 10:40

Braun

Re : Bug avec la commande "scanf"

Si tu veux améliorer le confort visuel, tu places un ou plusieurs newline dans le printf suivant car scanf est réservé aux entrées.

Hors ligne