Mimi74

À propos de Mimi74

Envoyer un message

Biographie

Me gusta :)



<object data="http://www.youtube.com/v/hUtMENZqExo" type="application/x-shockwave-flash" width="480" height="360"><param name="movie" value="http://www.youtube.com/v/hUtMENZqExo" /><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent" /></object>

Projets en cours



J'ai un projet de mod pour Minecraft, plus d'infos quand j'aurai appris le Java ^^ .

Les perles du net


Citation : Hadopi ? Même pas peur !


HADOPI prévoit, en vitesse de croisière, fin 2011, 100.000 emails d'avertissement par jour.

Mais vous devez savoir que :

  • Ces spams ne constituent qu'une tentative d'intimation sans aucune conséquence pour vous.
  • Le compteur de spams d'HADOPI est remis à 0 tous les 6 mois vous offrant ainsi une nouvelle virginité 2 fois par an.
  • En cas de récidive, si vous êtes à nouveau identifiés, vous recevrez peut-être une lettre recommandée qui n'est également qu'une tentative d'intimation sans aucune conséquence.
  • Le budget de HADOPI ne leur permet pas d'envoyer une lettre recommandée, en 2eme avertissement, à tous les récidivistes.
  • Jusqu'à aujourd'hui, après 12 mois consécutifs de spams, le bilan de HADOPI est ridiculement faible : les heureux élus qui ont reçu à la fois le mail et la lettre puis qui ont été repérés une 3eme fois (pas de bol quand même) concernent seulement une vingtaine d'internautes. Principalement des retraités ignares en informatique, l'électorat principal de Sarkozy. HADOPI a déjà communiqué sur la non-poursuite de ces internautes. Bilan : 0 coupure d'internet depuis 2009 ...
  • La campagne présidentielle commence. Cela va calmer les ardeurs répressives de cette Haute Autorité de mes deux. C'est connu, un électeur qu'on emmerde, ce n'est pas bon.
  • Les réseaux et les méthodes de téléchargement se comptent en centaines, vous êtes donc bien protégés dans ce maquis.


Vous pouvez donc dormir tranquille ... PC allumé bien sur.


Source: Linux Manua

Programmation en C++



L'en-tête en commentaire


Le commentaire d'en-tête est un grand :-° commentaire situe en haut du code de tous les fichiers de projet. Exemple: (en-tête de la bibliothèque cURL)

/***************************************************************************
 *                                  _   _ ____  _
 *  Project                     ___| | | |  _ \| |
 *                             / __| | | | |_) | |
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution. The terms
 * are also available at http://curl.haxx.se/docs/copyright.html.
 *
 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 * copies of the Software, and permit persons to whom the Software is
 * furnished to do so, under the terms of the COPYING file.
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 * KIND, either express or implied.
 *
 ***************************************************************************/

Et bien moi je vous en mets un a disposition fait de mes propres mains (je suis gentil, hein? :p )
/***************************
 *
 *   <nom projet> is a
 *    ___     _       _
 *   / __|  _| |_   _| |_
 *  | (__  |_   _| |_   _|
 *   \___|   |_|     |_|
 *
 *          Project
 *
 *   <mail du developpeur>
 *  <site W du developpeur>
 *    Copyright (C) 2011
 *
 ***************************/

Après c'est à vous de le modifier à votre guise :-°

Un de mes premiers programmes


J'ai retrouvé un de mes premiers programmes!
Admirez:
#include <iostream>

using namespace std;

int main()
{
    int choix;
    cin >> choix;
    
    if(choix == 1)
    {
        cout << "Vous tournez à droite" << endl;
    }
    else if(choix == 2)
    {
        cout << "Vous tournez à gauche" << endl;
    }
}

:-°

Système de mot de passe en console


main.cpp
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>

#include "main.h"
#include "erreurs.h"

using namespace std;

/**********************************************************************************************
exists.mdp : contient "true" si il y a un mot de passe, "false" si il n'y a pas de mot de passe
password.mdp : contient le mot de passe
**********************************************************************************************/

int main()
{
    system("color 2A"); // Fond vert foncé, texte vert clair
    bool motDePasseExistant;
    motDePasseExistant = mot_de_passe_existant();

    if (motDePasseExistant == true)
        demander_mot_de_passe();
    else
    {
        bool mdpExistant = false;
        application(mdpExistant);
    }

    return 0;
}

bool mot_de_passe_existant()
{
    ifstream mdp_e("files/exists.mdp");

    if (!mdp_e)
    {
        ERROPEN
    }

    string ligne;
    getline(mdp_e, ligne);

    if (ligne == "true")
        return true;
    else
        return false;
}

void demander_mot_de_passe()
{
    ifstream m_d_p_l("files/password.mdp");
    if (!m_d_p_l)
    {
        ERROPEN
    }
    string mdp;
    getline(m_d_p_l, mdp);
    string mot_de_passe;
    do
    {
        cout << "Entrez le mot de passe : ";
        cin >> mot_de_passe;

        if (mot_de_passe == mdp)
        {
            bool mdpExistant = true;
            application(mdpExistant);
        }
        else
        {
            ERRPASS
        }
    }
    while (mot_de_passe != mdp);
}

void application(bool mdpExistant)
{
    int optChoisie;
    do
    {
        if (mdpExistant)
        {
            cout << "\n1 - Supprimer le mot de passe" << endl;
        }
        else
        {
            cout << "\n1 - Ajouter un mot de passe" << endl;
        }
        cout << "2 - Quitter\n\nVotre choix : ";
        cin >> optChoisie;
        if (mdpExistant && optChoisie == 1)
        {
            supp_mdp();
        }
        else if (!mdpExistant && optChoisie == 1)
            add_mdp();
        else if (optChoisie == 2)
            exit(0);
    }
    while(optChoisie != 1 || optChoisie != 2);
}

void supp_mdp ()
{
    ofstream supp("files/exists.mdp");

    if (!supp)
    {
        ERROPEN
    }
    supp << "false" << endl;
    cout << "\nSuppression du mot de passe effectuee." << endl;
    bool mdpExistant = false;
    application(mdpExistant);
}

void add_mdp()
{
    ofstream add("files/exists.mdp");
    ofstream addMDP("files/password.mdp");

    if (!add || !addMDP)
    {
        ERROPEN
    }
    cout << "\nEntrez le nouveau mot de passe : ";
    string mot_de_passe;
    cin >> mot_de_passe;
    add << "true" << endl;
    addMDP << mot_de_passe << endl;
    cout << "\nAjout du mot de passe effectue." << endl;
    bool mdpExistant = true;
    application(mdpExistant);
}

main.h
#ifndef MAIN_H_INCLUDED
#define MAIN_H_INCLUDED

bool mot_de_passe_existant();
void demander_mot_de_passe();
void application(bool mdpExistant);
void calcul_EUR_FF (int mdpExistant);
void supp_mdp ();
void add_mdp();

#endif // MAIN_H_INCLUDED

erreurs.h
#ifndef ERREURS_H_INCLUDED
#define ERREURS_H_INCLUDED

   #define ERROPEN cout << "\nERREUR : Impossible d'ouvrir le fichier correspondant..." << endl; // Erreurs d'ouverture
   #define ERRPASS cout << "\nERREUR : Mot de passe incorrect.\n" << endl; // Erreurs de mot de passe

#endif // ERREURS_H_INCLUDED

Generateur de codes de canedas


#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

void menu();
void genererCode2();
void genererCode3();
void genererCode4();

int main()
{
    cout << "\t\t    <-- Generateur de code de cadenas -->" << endl;
    menu();

    return 0;
}

void menu()
{
    int choix;
    do
    {
    cout << "\nChoisissez une option :\n1 - Generer un code a 2 chffres\n2 - Generer un code a 3 chiffres\n3 - Generer un code a 4 chiffres\n4 - Quitter\n\nVotre choix : ";
    cin >> choix;
    switch (choix)
    {
        case 1:
        genererCode2();
        break;
        case 2:
        genererCode3();
        break;
        case 3:
        genererCode4();
        break;
        case 4:
        exit(0);
        break;
    }
}
while(choix != 1 || choix != 2 || choix != 3 || choix != 4);
}

void genererCode2()
{
    int nb1 = rand() % 10;
    int nb2 = rand() % 10;

    cout << "\n" << nb1 << nb2 << endl;
    menu();
}

void genererCode3()
{
    int nb1 = rand() % 10;
    int nb2 = rand() % 10;
    int nb3 = rand() % 10;

    cout << "\n" << nb1 << nb2 << nb3 << endl;
    menu();
}

void genererCode4()
{
    int nb1 = rand() % 10;
    int nb2 = rand() % 10;
    int nb3 = rand() % 10;
    int nb4 = rand() % 10;

    cout << "\n" << nb1 << nb2 << nb3 << nb4 << endl;
    menu();
}

Encodage et décodage


Projet en cours...
Programmation en C


Codes utiles


Fonction semblable à strlen
Je mets à disposition une imitation codée par moi-même de strlen.
int calclong(const char* chaine)
{
    int nb_caracteres = 0;
    char act_caractere = 0;

    do
    {
        act_caractere = chaine[nb_caracteres];
        nb_caracteres++;
    }
    while (act_caractere != '\0');

    nb_caracteres--;

    return nb_caracteres;
}

Exemple concret d'utilisation:
#include <stdio.h>
#include <stdlib.h>

int calclong(const char* chaine);

int main()
{
    char texte[1000];
    int nb_caracteres;

    printf("Entrez une phrase: ");
    gets(texte);
    while (getchar() != '\n');

    nb_caracteres = calclong(texte);

    printf("La chaine '%s' fait %d caracteres de long.\n", texte, nb_caracteres);

    return 0;
}

int calclong(const char* chaine)
{
    int nb_caracteres = 0;
    char act_caractere = 0;

    do
    {
        act_caractere = chaine[nb_caracteres];
        nb_caracteres++;
    }
    while (act_caractere != '\0');

    nb_caracteres--;

    return nb_caracteres;
}

Configuration de la couleur du texte
Vous avez envie de donner de la couleur au texte de la console? Vous aimeriez que l'utilisateur puisse choisir la couleur?
Alors le code ci-dessous est pour vous! :D
C'est le code de base pour configurer la couleur. Il y a 3 fichiers: le fichier main, le menu de configuration de la couleur et les prototypes.
Le code situe dans le main.c doit se situer avant le début du code source.
Vous devez avoir créé au préalable un fichier color.cfg. Celui-ci doit contenir une ligne: color= 1. (par défaut)

main.c
/*
main.c
------------------------------------------------
Code à placer avant le code source du programme.
*/

#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    FILE* color = NULL;
    int couleur_fichier = 0;

        color = fopen("color.cfg", "r");

        if (color != NULL)
        {
            fseek(color, 7, SEEK_SET);
            fscanf(color, "%d", &couleur_fichier);

            if (couleur_fichier == 1)
            {
                system("color A"); // Light Green
            }
            else if (couleur_fichier == 2)
            {
                system("color B"); // Light Aqua
            }
            else if (couleur_fichier == 3)
            {
                system("color C"); // Light Red
            }
            else if (couleur_fichier == 4)
            {
                system("color D"); // Light Purple
            }
            else if (couleur_fichier == 5)
            {
                system("color E"); // Light Yellow
            }
            else if (couleur_fichier == 6)
            {
                system("color 7"); // White
            }
            else
            {
                printf("\nLe fichier color.cfg a ete modifie ou endommage.\nIl est impossible d'appliquer une couleur autre que blanc au texte de ce\nprogramme.\n\n");
            }

            fclose(color);
        }

        else
        {
            printf("\nUne erreur est survenue lors de l'ouverture du fichier color.cfg.\nCelui-ci a peut-être ete supprimmé ou endommage.\n");
        }

        /*
        Votre programme commence ici.
        */

    return 0;
}

couleur_texte.c
/*
couleur_texte.c
-----------------------------------------------
Code source du menu de selection de la couleur.

L'acces a cette page se fait par un autre menu.
*/

#include <stdio.h>
#include <stdlib.h>
#include "couleur_texte.h" // On inclut le fichier des prototypes de fonctions

void ouverture_fichier (void)
{
    FILE* color = NULL;
    int couleur_choisie = 0;
    int couleur_appliquee;

    color = fopen("color.cfg", "w");

    if (color != NULL)
    {
        do
        {
            printf("\nChoisissez une couleur:\n1 - Vert\n2 - Bleu\n3 - Rouge\n4 - Violet\n5 - Jaune\n6 - Blanc\n\nVotre choix: ");
            scanf("%d", &couleur_choisie);

            couleur_appliquee = couleur_choisie;

            /* On écrit dans le fichier color.cfg; le fichier contient une ligne: color= "code couleur".
               Code couleur: 1 = A; 2 = B; 3 = C; 4 = D; 5 = E; 6 = 7 */
            fprintf(color, "color= %d", couleur_appliquee);

            switch (couleur_choisie)
            {
            case 1:
                system("color A"); // Light Green
                break;
            case 2:
                system("color B"); // Light Aqua
                break;
            case 3:
                system("color C"); // Light Red
                break;
            case 4:
                system("color D"); // Light Purple
                break;
            case 5:
                system("color E"); // Light Yellow
                break;
            case 6:
                system("color 7"); // White
                break;
            default:
                printf("Veuillez entrer un nombre situe entre 1 et 6");
                break;
            }
        }
        while(couleur_choisie < 1 || couleur_choisie > 6);

        fclose(color);
    }
    else
    {
        printf("\nUne erreur est survenue lors de l'ouverture du fichier color.cfg.\nCelui-ci a peut-être ete supprime ou endommage.\n");
    }

    /*
    Ici devrait se situer un appel de fonction (par exemple pour demander de retourner au menu).
    */
}

couleur_texte.h
/*
couleur_texte.c
------------------------
Prototypes des fonctions
*/

void ouverture_fichier (void);

Bloc-notes
Voici le code de départ pour un petit bloc-notes en console:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("\t\t\t    <-- Bloc-notes -->\n\n");
    FILE* text = NULL;
    char texte[1000];

    text = fopen("note.txt", "w+");

    if (text != NULL)
    {
        printf("Entrez ci-dessous votre texte:\n\n");
        gets(texte);

        fprintf(text, "%s", texte);
        fclose(text);
    }

    return 0;
}

Les codes ci-dessus sont bien sûr libres d'utilisation ;)

Projet: BazarLand


Bazarland est un programme en console multifonction comportant des utilitaires et des jeux. :-°
Le projet est en cours:
  • Le jeu du Plus ou Moins est terminé
  • La calculatrice est terminée
  • Le jeu du Pierre Feuille Ciseaux est terminé
  • Le piocheur de citations célèbres est terminé
  • Le Bloc-notes est terminé

Topic du projet: ici

Image utilisateur

Télécharger la version 1.0
Télécharger la version 1.1 (Encore quelques bugs à corriger)
Télécharger la version 1.2
Télécharger la version 1.3

Savez-vous pourquoi le texte est vert fluo?

Image utilisateur

Grâce à system("color A"); (Plus d'infos ici)

L'icône est un magnifique empilement de caisses ^^ (Pris sur www.iconfinder.com)

Image utilisateur

Le Site du Zér0


Le top de la modération


Regardez bien le message de drx: (cliquez sur l'image pour l'agrandir)

Image utilisateur

Mon message était:

Citation : Moi


Je suis ici pour recueillir des avis et critiques sur le code de mon programme, pas des avis de dépressifs ou je sais pas quoi ^^


C'est abusé là :-°
-------------------------------------------
http://www.siteduzero.com/forum-83-684 [...] p-server.html

Image utilisateur

-------------------------------------------

Information sur le compte

Date d'inscription : 2 novembre 2009

Dernière connexion : 4 mars 2018