struct noeud {
en C++, utilise des classes plutôt que des struct.
noeud*
en C++, utilise des références (noeud&) ... et même des références constantes (const noeud&) si le contenu du noeud ne change pas.
main
à mettre à la fin... c'est super pénible les main au milieu du code car : 1/ ça oblige à donner les prototypes de toutes les autres fonctions ; 2/ flemme de scroller dans le code jusqu'à tomber sur le main.
« noeud root;
root.fSup = NULL;
root.fInf = NULL;
root.valeur = valeur_initiale;
»
en C++, utilise des classes (bis).
Le switch n'est pas complet. Pense à ajouter un cas « default: » même s'il ne fait rien de futé.
« afficher(*racine.fInf); »
racine->fInf c'est beaucoup plus lisible à mon goût.
Pour le reste, je n'ai pas testé le code. On va dire qu'il marche. 