Les Allergies
Alimentaires
Posez votre question Signaler

Bibliothèque stdlib.h [Résolu]

ibtissame_87 111Messages postés 6 août 2007Date d'inscription - Dernière réponse le 19 mai 2008 à 14:43
Bonjour,
svp j'aimerai savoir quel est l'interet de l'utilisation de la bibliothèque stdlib dans ce programme . Merci:)
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
class calcul
{int nbval,*val;
public: calcul(int,int);
~calcul(); // destructeur
void affiche();
};
calcul::calcul(int nb,int mul)
{int i;
nbval = nb;
val = new int[nbval];
for(i=0;i<nbval;i++)val[i] = i*mul;
}
calcul::~calcul()
{delete val;}
calcul::affiche()
{int i;
for(i=0;i<nbval;i++)cout<<val[i]<<" ";
cout<<"\n";
}
void main()
{
clrscr();
calcul suite1(10,4);
suite1.affiche();
calcul suite2(6,8);
suite2.affiche();
getch() ;}
Lire la suite 

Bibliothèque stdlib.h »

3 réponses
Réponse
+6
moins plus
Salutations,

stdlib.h définit des fonctions de la librairie standard du C comme system, malloc, free et leurs amis ou les fonctions de génération de nombres aléatoires. Ici il devrait servir dans le main qui devrait renvoyer un code (un int) pour signaler au programme appelant ou au shell le bon déroulement ou non du programme. Il existe pour cela deux constantes qui peuvent être utilisées : EXIT_SUCCESS et EXIT_FAILURE. Il est courant de faire un simple return 0 en cas de succès... (et donc de se passer de stdlib ici)

Il y a tout de même une erreur à corriger : Ce code est écrit en C++ et inclus un fichier standard C. (C'est mal ^^") Il faut inclure à la place des équivalent C++. Ici : #include <cstdlib> (ou supprimer le stdlib.h)
On retrouve d'autres header dans le même cas comme <math.h> --> <cmath> etc.

iostream.h n'existe pas -> #include <iostream> qui lui est le header standard C++
(Il manque également les ::std:: devant les cout.

Les opération +, -, *, / ou les ; ne sont pas des fonctions ou constantes mais appartiennent au langage et n'ont pas besoin d'être inclus par l'intermédiaire d'un fichier d'entête.
(Celles-ci seront définies même si le CRT n'est pas inclus)

conio.h n'est pas une librairie standard. C'est à dire qu'il n'existe pas sur certaines machines et dans ce cas ci il diffère même selon les versions de Windows. (ainsi ton programme ne compileras pas sur mon Windows à cause du clrscr)
Il est donc conseillé d'éviter son utilisation. (tant qu'on peut et tant qu'on veut conserver la portabilité)

M.


(Coucou JérémieThe7 ;-))
Ajouter un commentaire
Réponse
+2
moins plus
salut,
le getch c'est conio.h.

Après tu as la biblio iostream.h qui te sert pour mettre des trucs du genre
system("pause");system("cls"); ou bien clrscr comme tu as mis.

bien sur il y en a aussi d'autres, qui ne servent pas qu'à l'affichage comme netsend par exemple.
donc là la bilio iostream te sert a ça.

Après la biblio stdlib.h te sert dans tous les programmes en C.
Je ne suis pas sûr, mais je pense qu'elle sert à faire "comprendre" les choses simples comme les ; a chaque fin de lignes ou bien les addition, les égalités que tu entre.
Je l'utilise toujours en tout cas.
+
Ajouter un commentaire
Réponse
+0
moins plus
soit pour le clrscr, soit pour le getch, sinon a rien
Ajouter un commentaire
Ce document intitulé « bibliothèque stdlib.h » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?