J'ai un problème à l'exécution de mon code avec dev c++ version 4.9.9.2
Dans mon programme, je demande de rentrer 3 valeurs, avec 3 printf différents.Mais dans la fenêtre d'execution DOS, il s'arrete au premier printf et il faut que je rentre deux fois la premiere valeur avant qu'il me demande les suivantes.
Ensuite il utilise 2 fois ma premiere valeur dans un calcul sans prendre en compte la troisième,alors qu'il devrait utiliser les 3 valeurs différentes une seule fois.
Voici mon code tout bête si cela peut vous aider:
//Déclaration des librairies
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//Déclaration des variables
int R1,R2,R3,Rser,Rpar;
//char c;
// Début du programme
//Programme principal
main()
{
printf("Entrer la valeur de votre resistance R1 SVP\n" );
scanf("%d\n",&R1);
printf("Entrer la valeur de votre resistance R2 SVP\n" );
scanf("%d\n",&R2);
printf("Entrer la valeur de votre resistance R3 SVP\n" );
scanf("%d\n",&R3);
une fois les \n retirés, on voit d'autres problèmes dans le code.
quelqu'un peut me dire à quoi servent le stdlib, le conio et le windows dans ce programme ? à rien.
C'est étrange, il y a un return 0 alors que le main est défini sans aucun retour...
dernière petite chose, une saisie au clavier avec scanf est assez, comment dire ... dangereuse, juste pour rire, tape une lettre ou un nombre à virgule, le résultat est sympa.
Plus sérieusement, une saisie sécurisée se fait avec fgets, même si c'est plus lourd à mettre en oeuvre.
Les packages en trop c'est pas grave hein
C'est vrai que fgets est plus 'sûre' que scanf mais vu la 'simplicité' du programme c'est pas nécessaire de compliquer tout ca et puis pourquoi rentrerai t'il une lettre
Merci pour tout.
c'est effectivement le \n qui génait.
Pour ce qui est des librairies, cela se justifie soit parce que le code est une partie de mon programme finale donc le reste du code aura besoin de ces librairies, soit parce que qu'il me semblait que dev c++ dans les toutes premieres versions avait besoin du "#include<windows.h> "pour fonctionner correctement sous windows du coup je l'ai mis sans même chercher si c'était encore le cas.
Je vous remercie pour votre aide et vos conseils.je vous souhaite bonne continuation.
@+
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.