Petite alarme personnalisable [dev c++ 4 ]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 912 fois - Téléchargée 36 fois

Contenu du snippet

Bah pas grand chose à dire c'est une alarme à 4 sons : plusieurs types possibles , vous pouvez en personnaliser trois d'entre eux. Le code pour faire fonctionner le haut parleurt est de mmuler 57.

Source / Exemple :


#include <iostream.h>
#include <stdlib.h>
//Petite alarme! Tres pratique si vous etes attaqué par un collegue de burau
//ou pour alerter quelqu'un en cas de malaise :o)
//Ce prog n'aurait pas été possible sans mmuler 57 et son prog de son
//haut parleur qui m'a aidé à réaliser l'alarme.
//Certes je suis certain qu'on me retorquera que ce prog n'est pas
//tres utile mais bon en tout cas il m'a permis de bosser les pointeurs
//et les classes....
//Moi je trouve que la fonction Parametrer est assez fun : laissez
//libre court à votre imagination :-o)

//**********************Prototypes************************************
void Alarmedesactive();
void ChoixAlarme();
void ParametrageAlarme();
void AideAlarme();

//*********************Classe Alarme**********************************
class Alarme
{
public:
 Alarme();
 ~Alarme();
 void DefAlarme(int aa, int ab, int ba, int bb, int ca, int cb, int da, int db)
 {

  • paa = aa; //definit une alarme à 4 sons parametrables
  • pab = ab;
  • pba = ba;
  • pbb = ba;
  • pca = ca;
  • pcb = cb;
  • pda = da;
  • pdb = db;
} void JouerAlarme() { _beep(200,1500); //son d'intro cout<<"\t\t////////////ALARME ACTIVEE !//////////////\n"; for(int i = 0; i <20; i++) { _beep(*paa,*pab); //Voici comment sera jouee l'alarme _beep(*pba,*pbb); _beep(*pca,*pcb); _beep(*pda,*pdb); } cout<<"L'alarme s'est achevee!!"; cout<<"\n"; cout<<"\n"; cout<<"Retour au menu de l'alarme!!!\n"; cout<<"\n\n"; } private: int *paa; int *pab; int *pba; int *pbb; int *pca; int *pcb; int *pda; int *pdb; }; //Fin de la classe //**********CONSTRUCTEURS ET DESTRUCTEURS************************** Alarme::Alarme() //Constructeur { paa = new int(500); //Definit l'alarme par defaut pab = new int(200); pba = new int(750); pbb = new int(100); pca = new int(1000); pcb = new int(150); pda = new int(2000); pdb = new int(100); } Alarme::~Alarme() //ça sert juste a liberer la memoire { delete paa; delete pab; delete pba; delete pbb; delete pca; delete pcb; delete pda; delete pdb; } //********************Déclarer les objets de la classe********************* Alarme *Default = new Alarme; //4 alarmes dispos dont 3 parametrables Alarme *Alpha = new Alarme; Alarme *Beta = new Alarme; Alarme *Gama = new Alarme; //*********MAIN : Pas grand chose a part la console de lancement************* int main() { for(;;) { int tape; int *pTape = &tape; cout<<"\n\n\t\tBienvenue dans ALARME!!! 1.0\n"; cout<<"---Tapez 1 pour lancer le menu de l'alarme, un autre chiffre pour quitter---\n"; cin >> tape ; cout<<"\n"; if (tape==1) {
  • pTape = 0; //remet à 0, afin d'eviter que lorqu'on sortira de la boucle
Alarmedesactive(); //du menu on y soit tout de suite remis } else break; } return 0; } //**************Menu principal de l'alarme************************************* void Alarmedesactive() { for(;;) { int condition = 1; int *pCondition = &condition; //J'ai peut être merdé, je suis pas encore cout<<"\t\t////////////////////////////////////////////////\n"; //un expert en pointeurs :-) cout<<"\t\t/// Menu active!!!! ///\n"; cout<<"\t\t////////////////////////////////////////////////\n"; cout<<"\n\t\tAlarme desactivee\n"; cout<<"\t\tTapez (1) pour activer l'alarme\n"; cout<<"\t\tTapez (2) pour parametrer les alarmes\n"; cout<<"\t\tTapez (3) pour l'aide\n"; cout<<"\t\tTapez (4) pour quitter\n"; cout<<"\n"; int Choix; cin >> Choix; int *pChoix = &Choix; switch (Choix) { case 1: cout<<"Activation en cours.......\n"; ChoixAlarme(); break; case 2: cout<<"Chargement du parametrage.......\n"; ParametrageAlarme(); break; case 3: cout<<"Chargement de l'aide.....\n\n"; AideAlarme(); break; case 4:
  • pCondition = 2; //avec ça on sort de la boucle...
cout<<"Le menu va quitter....\n"; break; default: cout<<"\n"; cout<<"Erreur de traitement!!!\n"; cout<<"\n"; } if (condition > 1) break; else continue; } } //**********************MENU CHOIX DE L'ALARME********************** void ChoixAlarme() { int locChoix; cout<<"\t\t///////////////////////////////////////////////////////\n"; cout<<"\t\t/// Tapez (1) pour l'alarme Default ///\n"; cout<<"\t\t/// Tapez (2) pour l'alarme Alpha ///\n"; cout<<"\t\t/// Tapez (3) pour l'alarme Beta ///\n"; cout<<"\t\t/// Tapez (4) pour l'alarme Gama ///\n"; cout<<"\t\t//////////////////////////////////////////////////////\n\n"; cin >> locChoix; switch (locChoix) { case 1 : cout<<"\nVous avez choisi l'alarme Default!!!\n\n"; Default->JouerAlarme(); break; case 2 : cout<<"\nVous avez choisi l'alarme Alpha!!!\n\n"; Alpha->JouerAlarme(); break; case 3 : cout<<"\nVous avez choisi l'alarme Beta!!!\n\n"; Beta->JouerAlarme(); break; case 4 : cout<<"\nVous avez choisi l'alarme Gama!!!\n\n"; Gama->JouerAlarme(); break; default: cout<<"\nErreur de traitement!!!\n\n"; break; } } //************************PARAMETRAGE DE L'ALARME************************ void ParametrageAlarme() { for(;;) { int choose; cout<<"\t\t///////////////////////////////////////////////////////////////////\n"; cout<<"\t\t/// Tapez (1) pour parametrer l'alarme Alpha ///\n"; cout<<"\t\t/// Tapez (2) pour parametrer l'alarme Beta ///\n"; cout<<"\t\t/// Tapez (3) pour parametrer l'alarme Gama///\n"; cout<<"\t\t//////////////////////////////////////////////////////////////////\n\n"; cin >> choose; int aa, ab, ba, bb, ca, cb, da, db; if (choose==1) cout<<"\nVous avez choisi de parametrer l'alarme Alpha\n\n"; if (choose==2) cout<<"\nVous avez choisi de parametrer l'alarme Beta\n\n"; if (choose==3) cout<<"\nVous avez choisi de parametrer l'alarme Gama\n\n"; if ((choose > 3) || (choose < 1)) { cout<<"Erreur de traitement!!!!\n"; break; } cout<<"---------1er son-------------\n"; cout<<"Veuillez taper la tonalite!!\n"; cin >> aa; cout<<"Veuillez taper la longueur!!\n"; cin >> ab; cout<<"\n\nMerci!!\n\n"; cout<<"---------2eme son-------------\n"; cout<<"Veuillez taper la tonalite!!\n"; cin >> ba; cout<<"Veuillez taper la longueur!!\n"; cin >> bb; cout<<"\n\nMerci!!\n\n"; cout<<"---------3eme son-------------\n"; cout<<"Veuillez taper la tonalite!!\n"; cin >> ca; cout<<"Veuillez taper la longueur!!\n"; cin >> cb; cout<<"\n\nMerci!!\n\n"; cout<<"---------4eme son-------------\n"; cout<<"Veuillez taper la tonalite!!\n"; cin >> aa; cout<<"Veuillez taper la longueur!!\n"; cin >> ab; cout<<"\n\nMerci!!\n\n"; if (choose==1) { Alpha->DefAlarme(aa, ab, ba, bb, ca, cb ,da, db); cout<<"\nParametrage de Alpha effectue!!\n\n"; } else if (choose==2) { Beta->DefAlarme(aa, ab, ba, bb, ca, cb ,da, db); cout<<"\nParametrage de Beta effectue!!\n\n"; } else if (choose==3) { Gama->DefAlarme(aa, ab, ba, bb, ca, cb ,da, db); cout<<"\nParametrage de Gama effectue!!\n\n"; } else cout<<"Erreur de traitement!!!\n"; //C'est normalement impossible //vu qu'il y a un break plus haut break; } } //********************MENU AIDE**************************** void AideAlarme() { cout<<"\t\t////////////////////////////////////////////////////////////////////////\n"; cout<<"\t\t/// -----AIDE---- ///\n"; cout<<"\t\t/// Vous pouvez parametrer 3 des 4 alarmes : ///\n"; cout<<"\t\t/// Alpha, Beta et Gama. Pour cela vous devez ///\n"; cout<<"\t\t/// parametrer 4 sons. Pour chacun il faut ///\n"; cout<<"\t\t/// indiquer la tonalite (50=tres grave ;2000= ///\n"; cout<<"\t\t/// tres aigu) et la longueur ( de 50 a 500 ). ///\n"; cout<<"\t\t/// Le code utilise pour l'alarme appartient a ///\n"; cout<<"\t\t/// mmuler 57. ///\n"; cout<<"\t\t///////////////////////////////////////////////////////////////////////\n\n"; } //Réalisé avec DevC++ 4, the best compilateur in the world!!!!! //Si les bord des cadres ne sont pas droits, ce n'est pas //moi qui suis myope, c'est plutot un probleme de mise //en page :p

A voir également

Ajouter un commentaire

Commentaire

Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
5
Fonctionne pas sous ME donc je suppose que sous 98/95 c'est pareil !

le webmaster de www.JSCV.com

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.