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
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|