Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN REPERTOIRE


Information sur la source

Catégorie :Divers Niveau : Débutant Date de création : 21/05/2003 Date de mise à jour : 21/05/2003 21:02:31 Vu : 1 743

Note :
Aucune note

Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

Description

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

  • #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");
  • }
#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.
 

Commentaires et avis

signaler à un administrateur
Commentaire de Kaid le 21/05/2003 21:19:49

A quoi sert ce bloc (horrible) ?

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:;

signaler à un administrateur
Commentaire de camel le 21/05/2003 21:42:09

Ces trucs pourraient etre remplacer par des choses plus simple je pense

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;
        }

signaler à un administrateur
Commentaire de HeilongJiang le 22/05/2003 06:47:08

salut,
camel a raison, l'utilisation des goto est fortement deconseillé.

signaler à un administrateur
Commentaire de ToToL le 22/05/2003 07:22:37

HeilongJiang : dans le code de camel il ne parle pas de goto

camel : par quoi par exemple?

Kaid : ce que tu appelle un block horribleme ser car si je vire les goto du debut et bien je n'est plus ke la sortit qui marche donc je suis obliger et c - long ke des if

signaler à un administrateur
Commentaire de roswell117 le 22/05/2003 10:15:11

camel a raison et ce code "lourd"

if ( choix &gt; 0 && choix &lt; rempli + 1 )
    {
        switch(choix)
        {
                case 1 : supprimer(0); break;
                case 2 : supprimer(1); break;
                ..................
                case 20 : supprimer(19); break;
                default : supprimer(25); break;
        }

pourrait facilement etre remplacé par

if ( choix &gt; 0 && choix &lt; rempli + 1 )
    {
        if(choix&lt;=20) supprimer(choix-1);
        else supprimer(25);
        ..........

signaler à un administrateur
Commentaire de BruNews le 22/05/2003 10:22:03 administrateur CS

Salut ToTol,
le goto n'est pas bien vu mais il est efficace si BIEN employe.
Prenons le cas du "horrible" comme dit Kaid:
tu as 7 tests dans switch avant 'default'. Si tu n'as pas un compilo very intelligent c'est mortel pour les perfs car on force sa sortie asm a suivre une logique etablie. Faut donc bien penser la chose ou ne pas employer goto.
On remet en ordre:
if(choix1[0]) == 7) goto fin;
if(choix1[0]) &lt; 1 || choix1[0] &gt; 6) goto fin0;
le_programme_en_lui_meme est ici avec 3 tests prealables.
ciao...

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 10:37:05

Salut Totol,

Bravo pour ton 1er soft, mais c'est pas du C++, c'est du C ...
Sinon oui, tu peux l'optimisé :

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;
}

devient :

switch( choix1[0] )
{
    case '1' :    
    case '2' :
    case '3' :
    case '4' :
    case '5' :
    case '6' : goto le_programme_en_lui_meme;
    case '7' : goto fin;
    default : goto fin0;
}
c'est deja mieux, mais les GOTO !!!!! ton prof t'as jamais dis "PAS DE GOTO" ??

autre chose :
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;
        }

devient :

if( (choix &gt;=1) || (choix &lt;= 20) )
{
    supprimer(choix - 1);
}
else
{
    supprimer(25);
}

voila, pour ces deux points, il y en a d'autre ... Mais continu comme ca t'es sur la bonne voix ...

A+

Balt

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 10:38:41

Rectification :

if( (choix &gt;=1) || (choix &lt;= 20) ), c'est pas un OU ( || ) c'est un ET (&&)

=&gt; if( (choix &gt;=1) && (choix &lt;= 20) )

signaler à un administrateur
Commentaire de BruNews le 22/05/2003 10:53:10 administrateur CS

Salut Baltawar,
"ton prof t'as jamais dit" pourquoi il est prof au lieu de gagner beaucoup plus en produisant dans le privé ? Faudrait lui demander, surement un oubli de sa part.
ciao...

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 10:55:51

Salut BruNews,

"pourquoi il est prof au lieu de gagner beaucoup plus en produisant dans le privé ", la reponse est toute bete, "c'est une grosse faignasse", dans le privé il faut bosser, alors qu'en tant que prof ...

A+

signaler à un administrateur
Commentaire de Kaid le 22/05/2003 11:36:53

- Les gotos on peut s'en passer facilement dans ce cas:

int choix=0;
while(choix != 7)
{
cin&gt;&gt;choix;

switch(choix)
{
case 1 : function1(); break;
     case 2 : function2(); break;
     case 3 : function3(); break;
case 4 : function4(); break;
case ...
     case 7 : break;
     default : cout&lt;&lt;"Erreur";
}
}

Si trinitacs passe par ici il vous dirait même de remplacer le switch par un tableau de pointeurs de fonctions.

- Baltawar: C'est du C++ (cout, cin, ...) et pas du C.

- Concernant les profs, certains ont des doctorats en informatique et ce qui les intéressent c'est de faire de la recherche et je pense que pour ca il y a plus de places dans le public que dans le privé.

signaler à un administrateur
Commentaire de BruNews le 22/05/2003 11:44:12 administrateur CS

La phrase celebre du jour attribue a "Je vous ai compris":
des chercheurs on en trouve, des trouveurs on en cherche.

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 13:29:39

salut Kaid,

Ok "cout, cin" sont des instruction C++, la structure de son soft, c'est du C, pas du C++.

A+

signaler à un administrateur
Commentaire de Kaid le 22/05/2003 13:34:30

Baltawar: D'accord sur ce point de vue. C++ étant une surcouche du C, certaines personnes utilisent C++ comme le C et "oublient" complétement que C++ est orienté objet.

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 13:43:52

Kaid, le C++ n'est pas une surcouche du C, ca philosophie est bien differente. En fait, certaines personnes confondent l'environnement de dévelloppement "Borland" ou"Visual", avec le language lui-meme. C'est sur, on peut faire un soft en C avec l'environement Visual C++.

Interessente cette discution ...

signaler à un administrateur
Commentaire de Kaid le 22/05/2003 14:06:07

C++ et C c'est pas la même philosophie bien entendu mais je justifie mon idée de "surcouche" par le fait que tu peux compiler un programme C avec un compilateur C++.
Ca justifie aussi pourquoi "Visual C++". Si il compile du C++, il sait compiler du C.

signaler à un administrateur
Commentaire de Baltawar le 22/05/2003 14:11:14

Comme disait ma grand-mere, "Qui peut le plus peut le moins" ...

A+

signaler à un administrateur
Commentaire de ToToL le 22/05/2003 16:15:56

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

signaler à un administrateur
Commentaire de HeilongJiang le 23/05/2003 07:05:55

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 :)
&gt;HeilongJiang: dans le code de camel il ne parle pas de goto
hmm. je crois qu'ils les a appele "ces trucs"

signaler à un administrateur
Commentaire de ToToL le 23/05/2003 07:20:34

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

signaler à un administrateur
Commentaire de fred23 le 17/01/2004 19:50:42

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

signaler à un administrateur
Commentaire de Sun-Burst le 17/03/2004 21:39:05

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,42 sec