Un repertoire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 277 fois - Téléchargée 35 fois

Contenu du snippet

C'est pour savoir ce que vous en penser. C'est mon vrais premier programme en c++. Je remerci certaine personne m'ayan aider car le nombre de bugg etait affolant ;-).

Alors vous le trouvez comment mon Repertoire ?

Donnez vos critique ( bonne ou mauvaise ).

Source / Exemple :


#include <iostream.h> // cout - cin - system() - Sleep()
#include <fstream.h> // ifstream() - ofstream() - .close()
#include <stdlib.h> // strcpy() - strcmp() - strlen()
#include <conio.c> // gotoxy() - atoi()
 
// Déclaration de variable
int choix;
char choix1[20];
char nom1[20];
char prenom1[20];
char poid1[20];
char taille1[20];
char tel1[20];
char age1[20];
char valider[10];
char nom[20][20];
char prenom[20][20];
char poid[20][20];
char taille[20][20];
char tel[20][20];
char age[20][20];
int rempli;

// Reception du remplissage des tableaux

int remplissage(void)
{
    for ( int t = 0 ; t < 20 ; t++ )
    {
        if ( nom[t][0] == 0 )
        {
                rempli = t;
                break;
        }
    }
}
 
// Pour supprimer une personne dans le repertoire

int supprimer(int a)
{
    remplissage();
    for ( int t = a ; t < rempli + 1 ; t++ )
    {
        strcpy(nom[t],nom[t+1]);
        strcpy(prenom[t],prenom[t+1]);
        strcpy(poid[t],poid[t+1]);
        strcpy(taille[t],taille[t+1]);
        strcpy(tel[t],tel[t+1]);
        strcpy(age[t],age[t+1]);
    }
}

// Afficher le profils d'une personne

int afficher( int a )
{
    system("cls");
    gotoxy( 30 , 1 );
    cout << "Profile de " << prenom[a] << " " << nom[a];
    gotoxy( 1 , 4 );
    cout << "Prenom : " << prenom[a] << "\n\nNom : " << nom[a] << "\n\nAge : " << age[a] << " ans\n\nPoids : " << poid[a] 
    << " Kg\n\nTaille : " << taille[a] << " cm\n\nTelephone : " << tel[a] <<
    "\n\n\nRetour a votre repertoire.\n\n";
    system("pause");
}

// Commande Principale
 
int main(void)
{
debut:;
system("cls"); // Efface l'écran
cout << "Bienvenu Dans Le Repertoire Cree Par ToToL\n\nChoisissez Une Option :\n\n";
cout << "1 - Consulter\n2 - Ajouter Une Personne\n3 - Supprimer Une Personne\n4 - Sauvegarder\n5 - Charger\n6 - Remise a zero\n7 - Quitter\n\nQue choisissez-vous ? ";
cin >> choix1;
switch( choix1[0] )
{
    case '1' : goto le_programme_en_lui_meme;
    case '2' : goto le_programme_en_lui_meme;
    case '3' : goto le_programme_en_lui_meme;
    case '4' : goto le_programme_en_lui_meme;
    case '5' : goto le_programme_en_lui_meme;
    case '6' : goto le_programme_en_lui_meme;
    case '7' : goto fin;
    default : goto fin0;
}

le_programme_en_lui_meme:;

// Si l'utilisateur choisi de consulter le répertoire

if ( choix1[0] == '1' )
{
    choix_1:;
    system("cls");
    cout << "\n                            Votre Repertoire.";
    remplissage();
    if ( nom[0][0] == '0' )
    {
        cout << "\n\nIl n'y a personne dans le repertoire.\n\nChargement de la page principale.\n\n";
    }else{
        for ( int t = 0 ; t < rempli ; t++ )
        {
            gotoxy( 1, t + 7 );
            cout << t + 1 << " - ";
            gotoxy( 5, t + 7 );
            cout << prenom[t] << "  " << nom[t];
        }
            cout << "\n\n\nVoire les profils de qui ? ( 0 pour annuler ) Numero : ";
        cin >> valider;
        choix = atoi( valider );
        remplissage();
        if ( choix > 0 && choix < rempli + 1 )
        {
            switch(choix)
            {
                    case 1 : afficher(0); break;
                    case 2 : afficher(1); break;
                    case 3 : afficher(2); break;
                    case 4 : afficher(3); break;
                    case 5 : afficher(4); break;
                    case 6 : afficher(5); break;
                    case 7 : afficher(6); break;
                    case 8 : afficher(7); break;
                    case 9 : afficher(8); break;
                    case 10 : afficher(9); break;
                    case 11 : afficher(10); break;
                    case 12 : afficher(11); break;
                    case 13 : afficher(12); break;
                    case 14 : afficher(13); break;
                    case 15 : afficher(14); break;
                    case 16 : afficher(15); break;
                    case 17 : afficher(16); break;
                    case 18 : afficher(17); break;
                    case 19 : afficher(18); break;
                    case 20 : afficher(19); break;
                    default : afficher(25); break;
            }
            goto choix_1;
            }else if ( choix == 0 )
            {
            cout << "\nVous avez choisi d'anuler.\n\nChargement de la page principale.\n\n";
        }else{
            cout << "\nVous avez choisi autre chose que oui.\n\nChargement de la page principale.\n\n";
        }
    }
    system("pause");
    goto debut;
}

// si l'utilisateru a choisi d'ajouter une personne

if ( choix1[0] == '2' )
{
    system("cls");
    cout << "Ajout d'une personne\n\nEntrer son nom : ";
    cin >> nom1;
    cout << "\nEntrer son prenom : ";
    cin >> prenom1;
    cout << "\nEntrer son age : ";
    cin >> age1;
    cout << "\nEntrer son poids : ";
    cin >> poid1;
    cout << "\nEntrer sa taille : ";
    cin >> taille1;
    cout << "\nEntrer son numero de telephone : ";
    cin >> tel1;
    cout << "\nLes informations sur la personne sont elle correcte ?\n\noui ou non ? ";
    cin >> valider;
    if ( valider[0] == 'o' || valider[0] == 'O' )
    {
        remplissage();
        strcpy(nom[rempli],nom1);
        strcpy(prenom[rempli],prenom1);
        strcpy(poid[rempli],poid1);
        strcpy(taille[rempli],taille1);
        strcpy(tel[rempli],tel1);
        strcpy(age[rempli],age1);
        cout << "\nCaracteristique de la personne ajouter avec succee.\n\nChargement de la page principale.\n\n";
        system("pause");
    }else{
        cout << "\nVous avez entrer autre chose que oui.\n\nChargement de la page principale.\n\n";
        system("pause");
    }
    goto debut;
}

// Si l'utilisateur choisi de supprimer une personne

if ( choix1[0] == '3' )
{
    system("cls");
    if ( nom[0][0] == 0 )
    {
        cout << "Personne ne figure sur le repertoire.\n\nRetour a la page d'accueil.\n\n";
        system("pause");
        goto debut;
    }
    cout << "\n                            Votre Repertoire.";
    remplissage();
    for ( int t = 0 ; t < rempli ; t++ )
    {
        gotoxy( 1, t + 7 );
        cout << t + 1 << " - ";
        gotoxy( 5, t + 7 );
        cout << prenom[t] << "  " << nom[t];
    }
    cout << "\n\n\nSupprimer qui ? ( 0 pour annuler ) Numero : ";
    cin >> valider;
    choix = atoi( valider );
    remplissage();
    if ( choix > 0 && choix < rempli + 1 )
    {
        switch(choix)
        {
                case 1 : supprimer(0); break;
                case 2 : supprimer(1); break;
                case 3 : supprimer(2); break;
                case 4 : supprimer(3); break;
                case 5 : supprimer(4); break;
                case 6 : supprimer(5); break;
                case 7 : supprimer(6); break;
                case 8 : supprimer(7); break;
                case 9 : supprimer(8); break;
                case 10 : supprimer(9); break;
                case 11 : supprimer(10); break;
                case 12 : supprimer(11); break;
                case 13 : supprimer(12); break;
                case 14 : supprimer(13); break;
                case 15 : supprimer(14); break;
                case 16 : supprimer(15); break;
                case 17 : supprimer(16); break;
                case 18 : supprimer(17); break;
                case 19 : supprimer(18); break;
                case 20 : supprimer(19); break;
                default : supprimer(25); break;
        }
        cout << "\nSuppression reussit avec succee.\n\nChargement de la page principale.\n\n";
        system("pause");
        goto debut;
    }else{
        cout << "\nVous avez entrer un chiffre incorrecte.\n\nChargement de la page principale.\n\n";
        system("pause");
        goto debut;
    }
}

// Sauvegarder le repertoire

if ( choix1[0] == '4' )
{
    system("cls");
    cout << "Voulez-vous vraiment sauvegarder ?\n\nOui ou Non ? ";
    cin >> valider;
    if ( valider[0] == 'o' || valider[0] == 'O' )
    {
    cout << "\nSauvegarde ...\n\n";
    ofstream Sauvegarde(".\\repertoire.sav");
    remplissage();
    for ( int t = 0 ; t < rempli ; t++ )
    {
        Sauvegarde << nom[t] << "\n" << prenom[t] << "\n" << age[t] << "\n" << poid[t] << "\n" << taille[t] << "\n" << tel[t] << "\n";
    }
    cout << "Sauvegarde reussit avec succee.\n\nChargement de la page principale.\n\n";
    system("pause");
    }else{
        cout << "\nVous avez entrer autre chose que Oui.\n\nChargement de la page principale.\n\n";
        system("pause");
    }
    goto debut;
}

// Charger le repertoire

if ( choix1[0] == '5' )
{
    system("cls");
    cout << "Voulez-vous vraiment Charger ?\n\nOui ou Non ? ";
    cin >> valider;
    if ( valider[0] == 'o' || valider[0] == 'O' )
    {
        cout << "\nChargement ...\n\n";
        ifstream Chargement(".\\repertoire.sav");
        for ( int t = 0 ; t < 20 ; t++ )
        {
            Chargement >> nom[t] >> prenom[t] >> age[t] >> poid[t] >> taille[t] >> tel[t] ;
        }
        cout << "Chargement reussit avec succee.\n\nChargement de la page principale.\n\n";
        system("pause");
    }else{
        cout << "\nVous avez entrer autre chose que Oui.\n\nChargement de la page principale.\n\n";
        system("pause");
    }
    goto debut;
}

// Remise a zero

if ( choix1[0] == '6' )
{
    system("cls");
    cout << "Voulez-vous vraiment faire une remise a zero ?\n\nOui ou Non ? ";
    cin >> valider;
    if ( valider[0] == 'o' || valider[0] == 'O' )
    {
        for ( int t = 0 ; t < 20 ; t++ )
        {
            strcpy(nom[t],"\0");
            strcpy(prenom[t],"\0");
            strcpy(poid[t],"\0");
            strcpy(taille[t],"\0");
            strcpy(tel[t],"\0");
            strcpy(age[t],"\0");
            
        }
        cout << "\nRemise a zero effectue avec succe.\n\nChargement de la page principale.\n\n";
        system("pause");
    }else{
        cout << "\nVous avez entrer autre chose que Oui.\n\nChargement de la page principale.\n\n";
        system("pause");
    }
    goto debut;
}

fin0:;
cout << "\nVous Avez Entrer une mauvaise valeur. Reinitialisation !\n\n" << endl;
system("pause");
goto debut;
 
fin:; // Fin
cout << "\n\n";
system("PAUSE"); 
}

Conclusion :


Désoler pour les faute d'orthographe dans mon explication et dans mon code mais je suis null dans ce domaine et je n'est toujour pas demander a une personne de corriger.

A voir également

Ajouter un commentaire Commentaires
Messages postés
11
Date d'inscription
dimanche 9 novembre 2003
Statut
Membre
Dernière intervention
28 juillet 2007

Oula utilisation des goto c'est fortement déconseillé !!
Et puis tu pourré utilisé la compilation séparée (plusieurs fichiers .c avec un .h contenant tes lib :)
De plus tes grand blocs switch ne servent strictement a rien car tu retest la saisie dans les if qui suivent -_-
soit tu fais des POF (procédures ou fonctions) que tu appel dans les switch, soit tu vire les switch et tu test la saisie seulement dans les if...
Les 2 à la fois c'est pas joli joli tout ca
Messages postés
152
Date d'inscription
lundi 5 août 2002
Statut
Membre
Dernière intervention
15 juillet 2006

Bonsoir,
J'ai voulu testé ton code, mais je n'ai pas le CONIO.C déclaré dans les include.
Pourrais tu me l'envoyer par Email.? Merci.
frederic@merle.fr
A+
Fred23
Messages postés
170
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
9 juillet 2008

Ok Merci pour le conseil mais mettre des appelle de fonction a la place je trouve pa trop sa mieu car sa revint a faire des goto
Messages postés
3
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
23 mai 2003

re,
le goto est pratique mais n'est principalement pas utilise pour la relecture d'un code, surtout qd tu n'en n'est pas l'auteur,
raison pour laquelle je n'ai pas lu ton code :)
>HeilongJiang: dans le code de camel il ne parle pas de goto
hmm. je crois qu'ils les a appele "ces trucs"
Messages postés
170
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
9 juillet 2008

MErci pour tout c'est commentaire mais la question est pouquoi le goto est fortement déconseiller car moi je trouve sa super pratike
Afficher les 22 commentaires

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.