main.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #include <iostream>
  2. #include <vector>
  3. #include <deque>
  4. #include <string>
  5. using namespace std;
  6. int testerVector();
  7. int testerDeque();
  8. int main()
  9. {
  10. string choix("pour l'instant rien");
  11. cout << "Entrer le tableau dynamique à tester >> ";
  12. cin >> choix;
  13. if (choix == "vector")
  14. {
  15. cout << "Démarrge du test du vector." << endl << endl;
  16. return testerVector();
  17. }
  18. if (choix == "deque")
  19. {
  20. cout << "Démarrge du test de la deque." << endl << endl;
  21. return testerDeque();
  22. }
  23. if (choix == "lucien")
  24. {
  25. deque<int> tabl(0);
  26. tabl.push_back(44);
  27. tabl.push_back(88);
  28. tabl.push_front(22);
  29. cout << tabl.back() << endl;
  30. cout << "Taille 1: " << tabl.size() << endl;
  31. tabl.pop_front();
  32. cout << "Taille 2: " << tabl.size() << endl;
  33. cout << tabl.empty() << endl;
  34. tabl.clear();
  35. cout << tabl.empty() << endl;
  36. return 0;
  37. }
  38. cout << "Commande non-reconnue. Fermeture du programme." << endl;
  39. return 0;
  40. }
  41. int testerVector()
  42. {
  43. cout << "Voci un tableau nommé ''vector'', avec un petit bonus à la fin. ;-)" << endl;
  44. //[1] Création du vector
  45. vector<int> ralonge;
  46. //[2] On remplit !
  47. string choix;
  48. int ajout;
  49. bool done;
  50. do
  51. {
  52. cout<<"Entrez une valeur à ajouter >> ";
  53. cin>>ajout;
  54. ralonge.push_back(ajout);
  55. cout<<"Voulez vous ajouter une autre valeur ? (o/O/oui/Oui ou alors n/N/non/Non) >> ";
  56. cin>>choix;
  57. if (choix=="n"||choix=="N"||choix=="non"||choix=="Non")
  58. done=true;
  59. else if (choix=="o"||choix=="O"||choix=="oui"||choix=="Oui")
  60. done=false;
  61. cout<< endl << endl;
  62. }while (done == false);
  63. //[3] Résultats
  64. int total(0);
  65. int comparant(ralonge.size());
  66. for (int i(0); i<comparant ; i++)
  67. {
  68. cout<<ralonge[i]<<" est la valeur de la "<<i+1<<"eme case."<<endl;
  69. total+=ralonge[i];
  70. }
  71. cout << "La moyenne est "<<total/comparant<<" !!! Merci qui ?"<<endl;
  72. return 0;
  73. }
  74. int testerDeque()
  75. {
  76. cout << "Voci un tableau nommé ''deque'', avec un petit bonus à la fin. XD" << endl;
  77. //[1] Création du tabl
  78. deque<float*> dobleQu;
  79. for (int i(0); i<5; i++)
  80. dobleQu.push_back(new float(-2.5));
  81. //[2] On remplit !
  82. string choix;
  83. float ajout;
  84. bool done;
  85. do
  86. {
  87. cout<<"Entrez une valeur à ajouter >> ";
  88. cin>>ajout;
  89. if (dobleQu.back()!=0)
  90. delete dobleQu.back();
  91. dobleQu.pop_back();
  92. dobleQu.push_front(new float(ajout));
  93. cout << endl;
  94. for (unsigned int i(0); i<dobleQu.size(); i++)
  95. {
  96. cout<<dobleQu[i]<<" RAM case address"<<endl;
  97. }
  98. cout << endl;
  99. cout<<"Voulez vous ajouter une autre valeur ? (o/O/oui/Oui ou alors n/N/non/Non) >> ";
  100. cin>>choix;
  101. if (choix=="n"||choix=="N"||choix=="non"||choix=="Non")
  102. done=true;
  103. else if (choix=="o"||choix=="O"||choix=="oui"||choix=="Oui")
  104. done=false;
  105. cout<< endl << endl;
  106. }while (done == false);
  107. //[3] Résultats
  108. for (unsigned int i(0); i<dobleQu.size(); i++)
  109. {
  110. cout<<*dobleQu[i]<<" est la valeur de la "<<i+1<<"eme case."<<endl;
  111. }
  112. //[4] On vide ce tas de pointeurs !!!
  113. while (!dobleQu.empty())
  114. {
  115. if (dobleQu.back()!=0)
  116. delete dobleQu.back();
  117. dobleQu.pop_back();
  118. }
  119. return 0;
  120. }