Accueil > > > GESTION DE COMPTEUR EN C
GESTION DE COMPTEUR EN C
Information sur la source
Description
Bonjour, Voila je debut en c et j'apporte ma premiere contribution sous forme d'un petit ensemble gerant 255 compteurs il y a les methodes pour Creer/Effacer/Lire/Reseter les compteurs et une callback pour gerer les depassements (Pointeur de fonction) j'ai conscience que la source est loin d'etre parfaite je vous demanderai donc d'etre indulgent tous commentaires instructif et constructif serait le bien venu S'il vous plait prenez la peine de telecharger la source avant de faire vos commentaires,merci!! de meme que toutes remarques pour securiser ce code sera la bien venu. Je poste plus ce code pour une correction que pour apporter quelque chose de nouveau
Source
- //*************************
- //Utilisation dans le main
- //*************************
-
- #include <stdio.h>
- #include <stdlib.h>
- #include "Compteur.h"
- #include <windows.h>
-
- void ErreurFct(long int NumCompteur,TypeDepassement Type)
- {
- if (Type==INF) printf("Erreur depassement de compteur par le bas\tCompteur N:%ld\n",NumCompteur);
- else if (Type==SUP) printf("Erreur depassement de compteur par le haut\tCompteur N:%ld\n",NumCompteur);
- }
-
- int main()
- {
- int test=0;
- int numducompteur=-1;
- //creation des compteurs
- printf("Creation du compteur\n");
- for (test=0;test<20;test++)
- {
- numducompteur=CreateCompteur(100,0,test,&ErreurFct);
- }
- AffCompteur(-1);
- //
- printf("\n");
- ClearCompteur(10);
- printf("Efface compteur 10\n");
- ClearCompteur(15);
- printf("Efface compteur 15\n");
- ClearCompteur(16);
- printf("Efface compteur 16\n");
- printf("\n");
- AffCompteur(-1);
- //
- printf("\n");
- numducompteur=CreateCompteur(100,0,101,&ErreurFct);
- AffCompteur(numducompteur);
- numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
- AffCompteur(numducompteur);
- numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
- AffCompteur(numducompteur);
- numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
- AffCompteur(numducompteur);
- //
- printf("\n");
- numducompteur=CreateCompteur(100,0,80,NULL);
- AffCompteur(numducompteur);
- for (test=0;test<21;test++)
- {
- IncrCompteur(numducompteur,1);
- AffCompteur(numducompteur);
- }
- ClearCompteur(numducompteur);
- //
- printf("\n");
- numducompteur=CreateCompteur(100,-20,0,&ErreurFct);
- AffCompteur(numducompteur);
- for (test=0;test<21;test++)
- {
- DecrCompteur(numducompteur,1);
- AffCompteur(numducompteur);
- }
- ClearCompteur(numducompteur);
-
- printf("\nEfface tous les compteurs\n");
- for (test=0;test<23;test++)
- {
- ClearCompteur(test);
- }
- AffCompteur(-1);
-
- system("pause");
- numducompteur=CreateCompteur(100,-20,0,&ErreurFct);
- for (test=0;test<110;test++)
- {
- system("cls");
- IncrCompteur(numducompteur,1);
- AffCompteur(numducompteur);
- sleep(100);
- }
- ClearCompteur(numducompteur);
- AffCompteur(-1);
-
- return 0;
- }
//*************************
//Utilisation dans le main
//*************************
#include <stdio.h>
#include <stdlib.h>
#include "Compteur.h"
#include <windows.h>
void ErreurFct(long int NumCompteur,TypeDepassement Type)
{
if (Type==INF) printf("Erreur depassement de compteur par le bas\tCompteur N:%ld\n",NumCompteur);
else if (Type==SUP) printf("Erreur depassement de compteur par le haut\tCompteur N:%ld\n",NumCompteur);
}
int main()
{
int test=0;
int numducompteur=-1;
//creation des compteurs
printf("Creation du compteur\n");
for (test=0;test<20;test++)
{
numducompteur=CreateCompteur(100,0,test,&ErreurFct);
}
AffCompteur(-1);
//
printf("\n");
ClearCompteur(10);
printf("Efface compteur 10\n");
ClearCompteur(15);
printf("Efface compteur 15\n");
ClearCompteur(16);
printf("Efface compteur 16\n");
printf("\n");
AffCompteur(-1);
//
printf("\n");
numducompteur=CreateCompteur(100,0,101,&ErreurFct);
AffCompteur(numducompteur);
numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
AffCompteur(numducompteur);
numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
AffCompteur(numducompteur);
numducompteur=CreateCompteur(100,0,-4,&ErreurFct);
AffCompteur(numducompteur);
//
printf("\n");
numducompteur=CreateCompteur(100,0,80,NULL);
AffCompteur(numducompteur);
for (test=0;test<21;test++)
{
IncrCompteur(numducompteur,1);
AffCompteur(numducompteur);
}
ClearCompteur(numducompteur);
//
printf("\n");
numducompteur=CreateCompteur(100,-20,0,&ErreurFct);
AffCompteur(numducompteur);
for (test=0;test<21;test++)
{
DecrCompteur(numducompteur,1);
AffCompteur(numducompteur);
}
ClearCompteur(numducompteur);
printf("\nEfface tous les compteurs\n");
for (test=0;test<23;test++)
{
ClearCompteur(test);
}
AffCompteur(-1);
system("pause");
numducompteur=CreateCompteur(100,-20,0,&ErreurFct);
for (test=0;test<110;test++)
{
system("cls");
IncrCompteur(numducompteur,1);
AffCompteur(numducompteur);
sleep(100);
}
ClearCompteur(numducompteur);
AffCompteur(-1);
return 0;
}
Conclusion
Si remarques interressantes il y a ,je mettrai la source a jour dans la prochaine version correction en fonctions des remarques et modification pour gerer autant de compteur que voulu (allocation dynamique) merci de vos contributions
Historique
- 12 janvier 2008 10:12:38 :
- Petite modification sur la callback
ajout de la methode reset
bloquage des valeurs lors des depassement min ou max
Ps: si quelqun peut me dire comment controler les depassement de capacite merci
- 12 janvier 2008 16:36:59 :
- Correction de la gestion
suppression du bug sur le pointeur de fonction NULL
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Aide pour mega debutant [ par C++ ]
Salut, bon alors je vien d ouvrir c++ mais comment mettre un code sur un boutton ???par exemple ce code comment je doits le mettre sur un bouton :int
Help Debutant [ par Kaouane ]
Salut,je voudrais juste savoir les erreurs qu'il y'a dans ce programme qui vam e servir a retenir les syntaxe d'une classe:#include <iostream.h>
ARCHI DEBUTANT [ par VBTOM® ]
Slt, Je suis archi debutant en C++ et je sais pas comment faire rester la console ouverte...Qd je fais un truc elle se referme juste apres...En fait
un GROS DEBUTANT qui a besoin d'aide, app. windows [ par stephane ]
bonjour,je débute en c++, je programme déja en visual basic, je connais un peu la syntaxe de c++, mais ma question :j'ai acheter un livre c++ pour m'a
[debutant] Simple mais comment faire [ par Coyito ]
bonjourj'ai dans mon prgint *b;b est un pointeur vers un int, comment puis connaitre la valeur de cet int sans modifier le programme en amont ???Merci
calculatrice pour debutant en C [ par kwuy ]
j'ai ecrit une version de ma calculatrice mais je voudrais en faire une avec ligne de commande du genre : 12 + 5 - 4 *9 etc et avoir le resultatcommen
Debutant alors besoin d'info a question de base [ par brandon23 ]
Salut tout le monde ,Voila je vien de decouvrir l'informatique avec le C et le JAVA . La programmation Objet me plait beaucoup et je voudrai en faire
Debutant alors besoin d'info a question de base [ par brandon23 ]
Salut tout le monde ,Voila je vien de decouvrir l'informatique avec le C et le JAVA . La programmation Objet me plait beaucoup et je voudrai en faire
Besoins D'aide Nouveaux ! [ par AMokers ]
Bonjours à Tous voila je suis autant nouveaux sur ce forum que dans le language C++Voila je voudrais apprendre ce magnifique language mais je ne sait
le dur chemin du debutant...? [ par zevince ]
Salut,je decouvre ce site.. et ca a l'air bien cool et y'a l'air d'y avoir du passage.. ca tombe bien !moi : je connais bien html, xml, xslt et j'ai d
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks
Forum
RE : ARBRE BINAIRERE : ARBRE BINAIRE par pacotheking
Cliquez pour lire la suite par pacotheking
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|