salut a tous je viens de m'inscrire sur ce forum que je trouve tres bien.
Je debute en language c sous dev-c++(fac oblige)Je suis en premiere annee de license informatique.
J'ai realise ce petit code source et j'aimerai avoir de vos conseils pour l ameliorer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*equation du second degre version 3*/
 
 
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
 
 
 
/*declaration des prototypes des fonctions*/
int delta(int x,int y,int z);
double reel(int x,int y,int z,int t);/*la variable t est un parametre de controle des fonction*/
double imaginaire(int x,int y,int z,int t);
 
 
int main(void)
{
    /*declaration des variables*/
int a,b,c,d;
int f=1;
int g=3;
 
 
    printf("\nTroisieme version de mon programme de resolution d'equation du second degre\n");
    printf("\nVeuillez entrer une valeur pour a,\na= ");
    scanf("%d",&a);
    printf("\nVeuillez entrer une valeur pour b,\nb= ");
    scanf("%d",&b);
    printf("\nVeuillez entrer une valeur pour c,\nc= ");
    scanf("%d",&c);
    /*utilisation de la fonction delta*/
    d=delta(a,b,c);
    printf("\ndelta=%d\n",d);
 
 
    if (d>=0)
    {
             printf("\ndelta est positif et il y a donc 2 solutions reels\n");
             printf("\nsolution1:%f\n \nsolution2:%f\n",reel(a,b,d,f),reel(a,b,d,g));
             }
             else
             {
                 printf("\ndelta est negatif et il y a donc 2 solutions complexe\n");
                 printf("\nsolution1:%f+%fi\n\nsolution2:%f-%fi\n",imaginaire(a,b,d,f),imaginaire(a,b,d,g),imaginaire(a,b,d,f),imaginaire(a,b,d,g));
                 }
 
         system("pause");
     return 0; 
           }
 
 
 
 
 
           /*declaration des fonctions*/
int delta(int x,int y,int z)
{
    return (y*y-(4*x*z));
}
double reel(int x,int y,int z,int t)
{
      double x1,x2;
      x1=(-y+sqrt(z))/(2*x);
      x2=(-y-sqrt(z))/(2*x);
      if (t==1)
      return x1;
      else
      return x2;
      }
double imaginaire(int x,int y,int z,int t)
{
      double xz,xzi;
 
 
      xz=-y ;/*partie reel de la solution*/
      xz=xz/(2*x);
 
      xzi=sqrt(-z)/(2*x);/*partie imaginaire de la solution*/
      if(t==1)
      return xz;
      else
      return xzi;
      }
Par exemple pouvoir afficher un graphique etc...
Merci a vous d avance.
edit:j'ai deja remplaceparedit2:j'ai remplace tout les float par double.
edit3:J ai enleve les varibles globales-->maintenant elles sont locales.
edit4:j'ai adopte la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
printf("x=%f",fonction(a,b,c,d));
ce qui m a permis de supprimer 2 variables