Je débute en c, pour m'entrainer avec les variables et me familiariser avec avec mon ide (codeblocks 8.02) j'ai décidé de créer un petit programme de résolution d'équation du second degrès.
j'ai deux problèmes la première est dans l'affichage (cf screen shot) et le deuxième vien du fait que les résultat me sont donné sans décimales.



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
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[])
{
	long int a=0.00, b=0.00, c=0.00;
	long int delta=0.00, solution=0.00, solution2=0.00;
	long int rdelta=0.00;
 
	printf("=== Résolution d'équation du second degrès===\n\n");
	printf("tout d'abord rentrons les valeurs a, b et c:\n");
 
	printf("a=\n");
	scanf("%ld ", &a);
	printf("\n"); //on demande la valeur de a
 
	printf("b=\n");
	scanf("%ld", &b);
	printf("\n");// on demande la valeur de b
 
	printf("c=\n");
	scanf("%ld", &c);
	printf("\n");//on demande la valeur de c
 
	printf("l'équation est donc %ldx²+%ldx+%ld\n", a, b, c);
 
	delta=b*b-4*a*c;
	rdelta= sqrt (delta);//racine de delta
 
	if (delta==0)
	{
		solution=(-b)/(2*a);
		printf(" delta étant égal à 0, il y a une solution: %ld", solution);
	}
 
	else if (delta<0)
	{
		printf("il n'y a pas de solution car delta est négatif");
	}
	else
	{
		solution=(-b-rdelta)/(2*a);
		solution2=(-b+rdelta)/(2*a);
 
		printf("delta est positif donc il y a deux solutions qui sont: %ld et %ld", solution, solution2);
	}
 
 
 
 
  return 0;
}
je suis désolé de demander ça mais je ne trouve pas de solution...