Voici une calculatrice de base (addition, soustraction, mult. et division).

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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#include <stdio.h>
#include <stdlib.h>
 
//Fonction pour afficher le menu
void Menu()
{
	printf("		CALCULATRICE\n");
	printf("		------------\n");
	printf("		1. Addition\n");
    printf("		2. Soustraction\n");
    printf("		3. Multiplication\n");
    printf("		4. Division\n");
    printf("		5. Quitter\n\n");
}
 
//Fonction pour la lecture du choix
int Choix()
{
	int choix;
 
	printf("Entrez votre choix (1 a 5): ");
	scanf("%i", &choix);
	return choix;
}
 
//Fonction pour l'opération d'addition
void Addition()
{
	int i, j, nbVal;
	float valeur, resultat;
	char choixAutre;
 
	do
	{
		system("cls");
		printf("		ADDITION\n");
		printf("		--------\n\n");
		printf("Entrez le nombre de valeurs a additionner: ");
		scanf("%i", &nbVal);
 
		resultat = 0;
		for(i = 1, j = 1; i <= nbVal; i++, j++)
		{
			printf("Valeur %i: ", j);
			scanf("%f", &valeur);
			resultat += valeur;
		}
		printf("La somme est %.2f\n\n", resultat);
		printf("Voulez-vous faire une autre operation d'addition? (Y/N)");
		scanf("%s", &choixAutre);
	}
	while(choixAutre == 'Y' || choixAutre == 'y');
	system("cls");
}
 
//Fonction pour l'opération de soustraction
void Soustraction()
{
	float val1, val2, resultat;
	char choixAutre;
 
	do
	{
		system("cls");
		printf("	SOUSTRACTION\n");
		printf("	--------\n\n");
		printf("Entrez la valeur 1: ");
		scanf("%f", &val1);
		printf("Entrez la valeur 2: ");
		scanf("%f", &val2);
 
		resultat = 0;
		resultat = val1 - val2;
		printf("La soustraction donne %.2f\n\n", resultat);
		printf("Voulez-vous faire une autre operation de soustraction? (Y/N)");
		scanf("%s", &choixAutre);
	}
	while(choixAutre == 'Y' || choixAutre == 'y');
	system("cls");
}
 
//Fonction pour l'opération de multiplication
void Multiplication()
{
	int i, j, nbVal;
	float valeur, resultat;
	char choixAutre;
 
	do
	{
		system("cls");
		printf("		MULTIPLICATION\n");
		printf("		--------------\n\n");
		printf("Entrez le nombre de valeurs a multiplier: ");
		scanf("%i", &nbVal);
 
		resultat = 1;
		for(i = 1, j = 1; i <= nbVal; i++, j++)
		{
			printf("Valeur %i: ", j);
			scanf("%f", &valeur);
			resultat *= valeur;
		}
		printf("La multiplication donne %.2f\n\n", resultat);
		printf("Voulez-vous faire une autre operation de multiplication? (Y/N)");
		scanf("%s", &choixAutre);
	}
		while(choixAutre == 'Y' || choixAutre == 'y');
		system("cls");
}
 
//Fonction pour l'opération de division
void Division()
{
	float val1, val2, resultat;
	char choixAutre;
 
	do
	{
		system("cls");
		printf("	DIVISION\n");
		printf("	--------\n\n");
		printf("Entrez la valeur 1 (dividende): ");
		scanf("%f", &val1);
 
		do //Do-while pour filtrer le zéro
		{
			printf("Entrez la valeur 2: ");
			scanf("%f", &val2);
		}
		while(val2 == 0);
 
		resultat = 0;
		resultat = val1 / val2;
		printf("La division donne %.2f\n\n", resultat);
		printf("Voulez-vous faire une autre operation de division? (Y/N)");
		scanf("%s", &choixAutre);
	}
	while(choixAutre == 'Y' || choixAutre == 'y');
	system("cls");
}
 
//Fonction pour la sortie du programme
void Quitter()
{
	system("cls");
	printf("Merci et au revoir!\n\n");
}
 
//Fonction principale du programme
void main()
{
	int choixMenu;
	char choixAutre;
 
	do
	{
		Menu(); //Appel de la fonction Menu()
		do
		{
			choixMenu = Choix(); //Appel de la fonction de Choix()
		}
		while(choixMenu < 1 || choixMenu > 5);
 
		//Addition
		if(choixMenu == 1)
		{
			Addition(); //Appel de la fonction Addition()
		}
 
		//Soustraction
		else if(choixMenu == 2)
		{
			Soustraction(); //Appel de la fonction Soustraction()
		}
 
		//Multiplication
		else if(choixMenu == 3)
		{
			Multiplication(); //Appel de la fonction Multiplication()
		}
 
		//Division
		else if(choixMenu == 4)
		{
			Division(); //Appel de la fonction Division()
		}
 
		//Sortie du programme
		else
		{
			Quitter(); //Appel de la fonction Quitter()
			break;
		}
	}
	while(choixAutre != 'N' || choixAutre != 'n');
}
Quand je compile mon programme, il n'y a aucune erreur, mais un problème apparaît lorsqu'à la question "Voulez-vous refaire l'opération X?", et que j'y répond non (N ou n).
À cette question, lorsqu'on répond non, le programme nous retourne au menu. Il semblerait que mon prog ne peut lire le caractère N ou n dans la variable choixAutre.

http://img477.imageshack.us/img477/3013/debugpi1.jpg

Je ne sais pas si mes fonctions de calcul devraient être de type char et retourner un return (pour la variable choixAutre)... Pourtant, ce même programme (sans les fonctions) marchent impeccable.

Merci de votre temps.