begin process at 2012 02 07 10:17:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > GESTION DE COMPTEUR EN C

GESTION DE COMPTEUR EN C


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :Pointeur Fonction, GestionCompteur, Debutant, Automate programmable Niveau :Débutant Date de création :12/01/2008 Date de mise à jour :12/01/2008 16:36:58 Vu / téléchargé :6 910 / 168

Auteur : PADYVEN

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 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


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 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

Source avec Zip Source avec une capture LISTE DOUBLE TRIE A L'INSERTION AVEC UNE PILE
Source avec Zip Source avec une capture SIMULATEUR DE VIE ENCORE UN(VERSION CORRIGE)

 Sources de la même categorie

Source avec Zip Source avec une capture CONTACTES BOOK par mature
Source avec Zip Source avec une capture [C++/QT] SLIDEALWAYS, RÉALISEZ DES SLIDES POUR VOTRE SITE AV... par doderic
Source avec Zip Source avec une capture MAILLAGE 3D (VTK + QT) par ammoun007
Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10
Source avec Zip SCANNER LANGAGE par lajouad

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture [QT]CALCULATEUR DE POINTS DE CHAMPIONNAT EN TENNIS DE TABLE par Malkenar
Source avec Zip CALCUL DU DETERMINANT par arfang03
Source avec Zip Source avec une capture BM-TRON EN SDL par parc12345
Source avec Zip Source avec une capture LE PENDU (PAR CRAZYGOODBOY) par CrazyGoodBoy
Source avec Zip Source avec une capture JEU : ATTRAPE MOI ! par Passio

Commentaires et avis

Commentaire de PADYVEN le 12/01/2008 10:52:02

PS : j'ai aussi ajouté un test sur la valeur de la callback
if (callback==NULL) return 0
sinon plantage si on donne la valeur NULL a la callback (lorsque l'on en veut pas)
mise a jour prochainement

Commentaire de acx01b le 12/01/2008 11:39:39

salut
et ça sert à quoi les compteurs ?

Commentaire de PADYVEN le 12/01/2008 14:52:56

C'est pas d'un usage terrible c'est plus didactique qu'autre chose
mais imagine un jeu tu branche le compteur sur la variable NbTir
Quand incrcompteur(NbTir) depasse la valeur limite ca appelle automatiquement la call back ou tu as mis ce que tu veux
ca gagne de la ligne a ecrire

sinon c'est utilisé dans les automates programmables generalement relié a un timer

Commentaire de gamemonde le 12/01/2008 19:41:49

#
# int LitCompteur(long int NumCompteur,long int *Data)

meme chose ici verifie qu'on t'envoi un pointeur qui a été alloué

 Ajouter un commentaire


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 &lt;iostream.h&gt; 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,293 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales