Bonjour

Notre prof' nous a donné un DM où on doit écrire une fonction C qui va convertir des nombre donnés en décimal, en binaire

j'ai fini mais je voudrais savoir si vous aviez des suggestions ou autre parce qu'elle est super pointilleuse

ah et on doit l'écrire en récursif : c'est bien du récursif que j'ai fait non ? enfin j'ai un while ou quoi mais on peut dire que c'est fait en récursif là ?

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
#include <stdio.h>
 
int convert (int n, int result, int i){
 
	int e = n/2; // quotient
	int count = 0; // compteur
	int resteadd = n%2;
	while (count < i){ // pour pouvoir ajouter le 1 au nombre, on regarde à quel rang l'ajouter avec 'i'
		resteadd = resteadd*10;
		//printf("\nRESTEADD : %d\n",resteadd); DEBUG
		count++;
	}
	result = result + resteadd; // on ajoute le chiffre au reste
	i++; // on idente les tours
	//printf("n/2 = %d\n",e); DEBUG
	//printf ("reste = %d\n", n%2); DEBUG
 
	if (e != 0)
		convert(e,result,i); // on recommence si le quotient n'est toujours pas égal à 0
	/*if (e == 0)
		return result; // si le quotient = 0, on retourne la valeur*/
	if (e == 0)
		printf("\nRESULTAT : %d\n", result);
 
}
 
 
int main (int argc, char** argv){
 
	int result = 0;
	int tab2[10];
	int verif;
	int nombre;
	printf("Quel nombre voulez-vous convertir en binaire ?");
	scanf("%d", &nombre);
	convert(nombre, result, 0);
 
	//printf("\n RESULTAT : %d \n",verif);
	return 0;
}
en gros je veux être sûr que ce code fait strictement ce qui est demandé ? (j'affiche le résultat avec la fonction blabla)

Merci de votre aide !