Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <stdio.h>
- #include <stdlib.h>
- #include "billetreduit.h"
- #include "Cellule.h"
- #include "ListeChainee.h"
- using namespace std;
- ostream&operator<<(ostream&out, Billet *b)
- {
- b->affichage(out);
- return out;
- }
- long int saisieEntier()
- {
- int base=10, i;
- char chaine[30];
- char *str;
- long int val;
- //printf("Entrez un entier:\n");
- do
- {
- fgets(chaine, sizeof chaine, stdin);
- if (chaine[0]=='\n')
- {
- continue;
- }
- for(i=0;i<=30;i++)
- {
- if(chaine[i]=='\n')
- {
- chaine[i]='\0';
- break;
- }
- }
- val=strtol(chaine, &str, base);
- if (str[0] != '\0')
- {
- printf("Saisie invalide !\nEntrez un entier:\n");
- }
- } while (str[0]!='\0');
- return val;
- }
- int main()
- {
- // Test de la classe Cellule
- /*Cellule<int> c(5);
- cout << c.getData() << endl;
- Cellule <int> d(3.4);
- c.setNext(&d);
- cout << c.getNext() << " " << &d << endl;
- c.setData(4);
- cout << c.getData() << endl;*/
- // Fin du test de la classe Cellule
- //
- // Test avec des int
- /*ListeChainee<int> l;
- l.addT(1);
- l.addH(2);
- l.addT(3);
- l.addH(4);
- l.addT(5);
- l.addH(6);
- l.addT(7);
- l.addH(8);
- l.addT(9);
- l.addH(0);
- l.print();
- /*l.removeH();
- l.print();
- l.removeT();
- l.print();*/
- //l.addP(15,0);
- //l.print();
- //l.removeP(4);
- //l.print();
- //cout << l.accessP(5) << endl;*/
- // Test avec des float
- /*ListeChainee<float> l;
- l.addT(3.4);
- l.addH(5.6);
- l.print();
- l.removeH();
- l.print();
- l.addT(4.7);
- l.addH(15.5);
- l.addH(14.3);
- l.removeT();
- l.addP(10.0, 3);
- l.print();
- l.removeP(2);
- l.print();*/
- //Test avec des chaînes
- /*ListeChainee<string> l;
- l.addT("Je suis");
- l.addH("Beau");
- l.print();
- l.removeT();
- l.print();
- l.addT("C'est vrai !");
- l.addT("Sisi !");
- l.addH("Héhéééé !");
- l.addP("La claaaaaasse !", 3);
- l.print();
- l.removeH();
- l.removeP(2);
- l.print();*/
- //Billets*
- /*ListeChainee<Billet*> lb;
- BilletReduit* b;
- b=new BilletReduit;
- b->saisir();
- lb.addH(b);
- lb.print();*/
- int choix, choix2, choix3, pos;
- double d;
- string s;
- ListeChainee<Billet*> lb;
- Billet *bn, *b1;
- BilletReduit *br, *b2;
- do
- {
- cout
- <<"[1] Ajouter un billet" << endl
- <<"[2] Supprimer un billet" << endl
- <<"[3] Visualiser un billet" << endl
- <<"[4] Modifier un billet" << endl
- <<"[9] Afficher tous les billets" << endl
- <<"[0] Quitter" <<endl;
- //cin>>choix;
- choix=saisieEntier();
- switch (choix)
- {
- case 1:
- cout
- <<"[1] Normal" << endl
- <<"[2] Réduit" << endl;
- //cin >> choix2;
- choix2=saisieEntier();
- switch (choix2)
- {
- case 1:
- cout
- <<"[1] Ajouter en tête" << endl
- <<"[2] Ajouter en queue" << endl
- <<"[3] Ajouter à une position précise" << endl;
- //cin >> choix3;
- choix3=saisieEntier();
- bn=new Billet;
- switch (choix3)
- {
- case 1:
- bn->saisir();
- lb.addH(bn);
- break;
- case 2:
- bn->saisir();
- lb.addT(bn);
- break;
- case 3:
- cout
- << "Position:" << endl;
- //cin >> pos;
- pos=saisieEntier();
- bn-> saisir();
- lb.addP(bn, pos);
- break;
- default:
- "Erreur";
- }
- break;
- case 2:
- cout
- <<"[1] Ajouter en tête" << endl
- <<"[2] Ajouter en queue" << endl
- <<"[3] Ajouter à une position précise" << endl;
- //cin >> choix3;
- choix3=saisieEntier();
- br=new BilletReduit;
- switch (choix3)
- {
- case 1:
- br->saisir();
- lb.addH(br);
- break;
- case 2:
- br->saisir();
- lb.addT(br);
- break;
- case 3:
- cout
- << "Position:" << endl;
- //cin >> pos;
- pos=saisieEntier();
- br-> saisir();
- lb.addP(br, pos);
- break;
- default:
- "Erreur";
- }
- break;
- default:
- cout
- << "Erreur" << endl;
- break;
- }
- break;
- case 2:
- cout
- <<"[1] Supprimer en tête" << endl
- <<"[2] Supprimer en queue" << endl
- <<"[3] Supprimer à une position précise" << endl;
- //cin >> choix2;
- choix2=saisieEntier();
- switch (choix2)
- {
- case 1:
- lb.removeH();
- break;
- case 2:
- lb.removeT();
- break;
- case 3:
- cout
- << "Position:" << endl;
- //cin >> pos;
- pos=saisieEntier();
- lb.removeP(pos);
- break;
- default:
- "Erreur";
- }
- break;
- case 3:
- cout
- << "Position:" << endl;
- //cin >> pos;
- pos=saisieEntier();
- cout
- << lb.accessP(pos) << endl;
- break;
- case 4:
- cout
- << "Position:" << endl;
- //cin >> pos;
- pos=saisieEntier();
- lb.accessP(pos)->saisir();
- break;
- case 9:
- lb.print();
- break;
- case 0:
- cout << "Sortie" << endl;
- break;
- default:
- cout << "Erreur" << endl;
- break;
- }
- } while (choix!=0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement