-
Exercice C++ semaphore
Bonjour, j ai un exercice en C++ qui me pose qqes problemes.. Si quelqu un pouvait me le resoudre ce serait sympa...d autant plus que je ne suis pqs du tout programmeur :yaisse2: Voici l enonce:
Il faut definir une classe, (de nom SEMA) permettant de creer et d utiliser des semaphores.
L objet de classe SEMA sera defini par:
-des donnees membres:
un entier
une chaine de caractere
un pointeur sur une section critique
-des fonction membres:
un constructeur parametre (3 parametres: valeur du semaphore a sa creation, une chaine de caractere et l adresse de section critique)
une fonction P (prise du semaphore) de type booleen. Elle fait -1 ds la valeur du semaphore et retourne vrai si la nouvelle valeur est striictement positive et faux ds les 4 cas. Cette fonction est non bloquante
une fonction V de type vide qui fait +1 ds la valeur du semaphore
Nota:
les 3 fonctions (constructeur, P et V) affichent lors de leur execution le nom du semaphore, la valeur du semaphore apres l actio, le resultat (echec ou reussite ds le cas de P). Elle se sert de la section critique pour acceder a l ecran
La valeur du semaphore doit tjrs etre positive ou nulle.
La classe doit etre definie ds une bibliotheque
Merci pour les infos que vous pouvez apporter
-
L'exercice est suffisamment bien énoncé pour pouvoir commencer à coder quelque chose de correct.
Essayes d'abord de créer la classe et les fonctions indiquées et n'hésite pas à poster si tu as un problème sur un point précis (avec code à l'appui).
Mais là ça m'étonnerai que tu trouves quelqu'un ici pour le résoudre à ta place (ça ne te servirais à rien en plus)
-
Ouai, le but des exercice est de se faire la main et de comprendre ce qu'on fait :bug:
Le forum est là pour filer un coup de main, on n'est pas là pour faire tes devoirs:king:
-
Salut, et bienvenue sur le forum.
Tu as la chance d'avoir un énoncé clair, complet et précis de ce que ton prof demande... Autant en profiter (car les spécifications sont loin d'être toujours aussi claires 8O).
Il faut bien comprendre qu'une très grosse partie du travail de conception consiste à
- comprendre ce qu'on lit
- comprendre ce que la personne que l'on a en face de soi n'arrive pas à exprimer clairement.
or, il se fait que, dans ton cas, les choses sont déjà exprimées de manière suffisemment claires pour te permettre de te "dépétrer" :P
Le problème vient donc sans doute de la compréhension de ce que tu lis, et, de ce fait, le mieux est de te donner les pistes qui t'aideront à mieux comprendre:
Bien souvent, dans les spécifications, les sujets et les noms correspondent soit à des types qu'il te faut créer, soit à des données utilisées par le type dont on parle.
Les verbes correspondent alors généralement aux messages que le type dont on parle doit émettre, ou auxquels il doit répondre.
Ici, les choses étant présentées un peu différemment, pose toi les questions suivantes:
- quelle classe doit tu créer (cherche le nom de la classe) :question:
- quels doivent être ses membres (au minimum leur type, en essayant, étant donné que ton prof n'impose pas de noms, d'en choisir qui expriment leur but):question:
- quelles doivent être ses méthodes (leur nom, les arguments qu'elles nécessitent et leur type de retour éventuel):question:
- qu'attend on de ces méthodes :question:
La réponse à chacune de ces questions est écrite en toutes lettres dans l'énoncé, et, si tu connais un minimum la syntaxe du C++ - manière un peu plus gentille de parler que de dire "si tu n'a pas brossé tous les cours, et que tu n'en a pas profité pour dormir durant toute leur durée" - le reste devrait arriver tout seul ;)
Evidemment, si tu a un doute sur l'algorithme de l'une ou l'autre méthode, si tu n'arrive toujours pas à comprendre un ou l'autre terme, nous serons toujours ravis de te répondre, mais, ainsi que tout le monde te l'a indiqué avant moi, ce serait un bien mauvais service à te rendre que de te donner le résultat "tout chaud" dans les mains, sans que tu n'aies fait ta part d'efforts ;)