Salut tout le monde,
Je suis débutant en C et je actuellement sur un TP de classe , un peu casse tête !
Je vous explique :
L'exercice porte sur la compilation séparée et l'utilisation de gcc sous linux.
Je dois créer un programme basique, un embryon de calculatrice scientifique simple.
L'implémentation est libre mais les points suivants devront êtres présentés :
- le nombre "pi" doit etre défini comme constante puis utilisé comme tel dans le programme
- les 4 opérations élémentaires sur entiers sont localisées dans un unique fichier source
- les 4 opérations élémentaires sur flottants sont localisées dans un autre fichier source
-2 opérations scientifiques(racine carré et puissance) sont dans un autre fichier source. Ces opérations snt implémenter sous forme de 2 fonction my_sqrt() et my_pow().
-le programme principal, enfin est localisé dans un dernier fichier source
Voici l'état de mon programme actuel :
Mon problème actuel est que je ne vois pas comment tester le type de données (flottant ou entier) pour ensuite ouvrir le fichier source correspondant.
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 // programme d'une calculatrice scientifique #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define PI 3.1415 long nb =0; int i = 0; float x = 0; char pi[3]; int main(void) { long op; printf("Calculatrice Scientifique\n\n\r"); printf("Choisissez l'operation a effectuer:\n\n"); printf("1.Addition:\n"); printf("2.Soustraction:\n"); printf("3.Multiplication:\n"); printf("4.Division:\n"); printf("5.sqrt :\n"); printf("6.pwr :\n"); scanf("%ld",&op); switch(op) { case 1: printf("Entrez le premier nombre:\n\r\n"); printf("Pour PI(= 3.1415) taper : pi \n\r\n"); type(); printf("Entrez le deuxieme nombre:\n\r\n"); printf("Pour PI(=3.1415) taper : pi\n\r\n"); type(); break; case 2: printf("Entrez le premier nombre:\n\r"); printf("Entrez le deuxieme nombre:\n\r"); break; case 3: printf("Entrez le premier nombre:\n\r"); printf("Entrez le deuxieme nombre:\n\r"); break; case 4: printf("Entrez le premier nombre:\n\r"); printf("Entrez le deuxieme nombre:\n\r"); break; } return 0; } void type(){ scanf("%d%f%4c\n",&i,&x,&pi); if(i == 0 && x != 0 && pi == NULL){ printf("flottant:%f\n"); } if(i!=0 && x ==0 && pi == NULL){ printf("entier:%d\n"); } if(i==0 && x ==0 && pi != NULL){ printf("PI:%4c\n"); } }
Ma fonction type() ne marche pas vraiment et lorsque je doit rentrer 3 nombres + [ENTREE] pour pouvoir entrer un deuxième nombres...
Etant débutant j'avoue ne pas tout comprendre sur ce premier TP :S !(surtout que le but principal est d'utiliser les makefiles)
Partager