begin process at 2010 02 10 00:20:59
  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é :4 603 / 136

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

GESTIONNAIRE DE BIBLIOTHEQUE par eishtein
FICHIER ALBUM MUSICAL par imenouuuuuuuuuche
LOUISDU81 HTTP EDITOR par louisdu81
Source avec Zip Source avec une capture Source .NET (Dotnet) CLIENT IRC BASIQUE par king67
Source avec Zip CONVERTISSEUR NOMBRE ARABE => NOMBRE ROMAIN (1 À 4999) par Calli95

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEU : ATTRAPE MOI ! par Passio
Source avec Zip Source avec une capture JEU EN SDL "LANGAGE C" par thechef
Source avec Zip MYSTRING, CLASSE TRAITANT DES CHAÎNES DE CARACTÈRES par Noubzor
Source avec Zip SUDOKU, A LA PORTÉE DES DEBUTANTS EN DÉBUTANTSC par le_papy
Source avec Zip JEU SIMON EN MODE CONSOLE par shaiton

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,515 sec (3)

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