Compare commits

..

10 Commits

Author SHA1 Message Date
53268166a3 TP8: Robot 2024-12-02 16:04:53 +01:00
ca9cb36223 TP8: Pizzeria 2024-12-01 22:17:27 +01:00
3f473e5f99 TP8: Parcours Vita 2024-12-01 20:38:22 +01:00
3aede38c75 TP8: LocalProfEtud 2024-11-29 10:28:40 +01:00
0a54ea3aca TP7: formattage 2024-11-28 13:48:55 +01:00
456150e6b1 TP7 : Mise à jour avec les fichiers moodle 2024-11-28 13:38:25 +01:00
a465aa9e59 TP8: Papillons 2024-11-27 20:59:14 +01:00
bc02b5e336 TP8: EtudProf 2024-11-27 18:33:48 +01:00
a7adcbfd9f TP8: Coq 2024-11-27 11:20:56 +01:00
cad0849e75 typo 2024-11-26 20:40:23 +01:00
58 changed files with 3507 additions and 747 deletions

View File

@@ -16,7 +16,14 @@ void Entreprise::saisie(ifstream& s) {
}
void Entreprise::affichage() {
cout << m_company << " " << m_country << " " << m_market_value << " " << m_sector << " " << m_turnover << " " << m_employees << " " << m_rank_2015 << " " << m_rank_2014;
format(m_company, 20);
format(m_country, 15);
format(m_market_value, 10);
format(m_sector, 10);
format(m_turnover, 10);
format(m_employees, 6);
format(m_rank_2015, 3);
format(m_rank_2014, 3);
}
int Entreprise::rank_progress() const {

View File

@@ -2,6 +2,8 @@
#include "Pays.h"
#include <iostream>
#include <iomanip>
#include "getio.h"
using namespace std;
@@ -10,16 +12,14 @@ void Pays::saisie(ifstream &in) {
getline(in, Nom, ';');
getfloat(in, Population, ';');
// Pas dans le fichier :(
// getfloat(in, Area, ';');
// "trim" en c++
auto end = Nom.end();
while (*(end-1) == ' ')
end--;
Nom.erase(end, Nom.end());
getfloat(in, Area, ';');
}
void Pays::affichage() {
cout << Region << " " << Nom << " " << Population;
// format(Region, 10);
format(Nom, 20);
cout << setprecision(10);
format(Population, 10);
format(Area, 10);
// << setprecision(10) << Population << " " << Area;
}

View File

@@ -1,228 +1,227 @@
Region;Nom;Population2008
Asia;Afghanistan ;32.738.376
Europe;Albania ;3.619.778
Africa;Algeria ;33.769.669
Oceana;American Samoa ;64.827
Europe;Andorra ;82.627
Africa;Angola ;12.531.357
NorthAmerica;Anguilla ;14.108
NorthAmerica;Antigua and Barbuda ;84.522
SouthAmerica;Argentina ;40.481.998
Asia;Armenia ;2.968.586
NorthAmerica;Aruba ;101.541
Oceana;Australia ;21.007.310
Europe;Austria ;8.205.533
Asia;Azerbaijan;8.177.717
NorthAmerica;Bahamas, The ;307.451
Asia;Bahrain ;718.306
Asia;Bangladesh ;154.037.902
NorthAmerica;Barbados ;283.498
Europe;Belarus ;9.685.768
Europe;Belgium ;10.403.951
NorthAmerica;Belize ;301.270
Africa;Benin ;8.532.547
NorthAmerica;Bermuda ;67.388
Asia;Bhutan ;682.321
SouthAmerica;Bolivia ;9.601.257
Europe;Bosnia and Herzegovina ;4.590.310
Africa;Botswana ;1.952.048
SouthAmerica;Brazil ;196.342.587
Asia;Brunei ;381.371
Europe;Bulgaria ;7.262.675
Africa;Burkina Faso ;15.264.735
Asia;Burma ;47.758.181
Africa;Burundi ;8.691.005
Asia;Cambodia ;14.241.640
Africa;Cameroon ;18.467.692
NorthAmerica;Canada ;33.212.696
Africa;Cape Verde ;426.998
NorthAmerica;Cayman Islands ;47.862
Africa;Central African Republic ;4.444.330
Africa;Chad ;10.111.337
SouthAmerica;Chile ;16.454.143
Asia;China ;1.330.044.605
SouthAmerica;Colombia ;45.013.674
Africa;Comoros ;731.775
Africa;Congo (Brazzaville, Republic of);3.905.010
Africa;Congo (Kinshasa, DR);66.514.506
Oceana;Cook Islands ;12.271
NorthAmerica;Costa Rica ;4.195.914
Africa;Cote d'Ivoire ;20.179.602
Europe;Croatia ;4.491.543
NorthAmerica;Cuba ;11.423.952
Asia;Cyprus ;792.604
Europe;Czech Republic ;10.220.911
Europe;Denmark ;5.484.723
Africa;Djibouti ;506.221
NorthAmerica;Dominica ;72.514
NorthAmerica;Dominican Republic ;9.507.133
SouthAmerica;Ecuador ;14.354.469
Africa;Egypt ;81.713.517
NorthAmerica;El Salvador ;7.066.403
Africa;Equatorial Guinea ;616.459
Africa;Eritrea ;5.502.026
Europe;Estonia ;1.307.605
Africa;Ethiopia ;82.544.838
Europe;Faroe Islands ;48.668
Oceana;Fiji ;931.741
Europe;Finland ;5.244.749
Europe;France ;64.057.790
Oceana;French Polynesia ;283.019
Africa;Gabon ;1.485.832
Africa;Gambia, The ;1.735.464
Asia;Gaza Strip ;1.500.202
Asia;Georgia ;4.630.841
Europe;Germany ;82.369.548
Africa;Ghana ;23.382.848
Europe;Gibraltar ;28.002
Europe;Greece ;10.722.816
NorthAmerica;Greenland ;57.564
NorthAmerica;Grenada ;90.343
Oceana;Guam ;175.991
NorthAmerica;Guatemala ;13.002.206
Europe;Guernsey ;65.726
Africa;Guinea ;9.806.509
Africa;Guinea-Bissau ;1.503.182
SouthAmerica;Guyana ;770.794
NorthAmerica;Haiti ;8.871.445
NorthAmerica;Honduras ;7.639.327
Asia;Hong Kong ;7.018.636
Europe;Hungary ;9.930.915
Europe;Iceland ;304.367
Asia;India ;1.147.995.898
Asia;Indonesia ;237.512.355
Asia;Iran ;65.875.223
Asia;Iraq ;28.221.181
Europe;Ireland ;4.156.119
Europe;Isle of Man ;76.111
Asia;Israel ;7.112.359
Europe;Italy ;58.145.321
NorthAmerica;Jamaica ;2.804.332
Asia;Japan ;127.288.419
Europe;Jersey ;91.427
Asia;Jordan ;6.198.677
Asia;Kazakhstan ;15.340.533
Africa;Kenya ;37.953.838
Oceana;Kiribati ;110.356
Asia;Korea, North ;22.565.347
Asia;Korea, South ;48.379.392
Europe;Kosovo ;1.794.984
Asia;Kuwait ;2.596.799
Asia;Kyrgyzstan ;5.356.869
Asia;Laos ;6.677.534
Europe;Latvia ;2.245.423
Asia;Lebanon ;3.971.941
Africa;Lesotho ;2.128.180
Africa;Liberia ;3.334.587
Africa;Libya ;6.173.579
Europe;Liechtenstein ;34.515
Europe;Lithuania ;3.565.205
Europe;Luxembourg ;486.006
Asia;Macau ;545.674
Europe;Macedonia ;2.061.315
Africa;Madagascar ;20.042.551
Africa;Malawi ;13.931.831
Asia;Malaysia ;25.274.133
Asia;Maldives ;385.925
Africa;Mali ;12.324.029
Europe;Malta ;403.532
Oceana;Marshall Islands ;63.174
Africa;Mauritania ;3.054.933
Africa;Mauritius ;1.274.189
Africa;Mayotte ;216.306
NorthAmerica;Mexico ;109.955.400
Oceana;Micronesia, Federated States of ;107.665
Europe;Moldova ;4.324.450
Europe;Monaco ;32.835
Asia;Mongolia ;2.996.081
Europe;Montenegro ;678.177
NorthAmerica;Montserrat ;5.079
Africa;Morocco ;34.343.219
Africa;Mozambique ;21.284.701
Africa;Namibia ;2.088.669
Oceana;Nauru ;13.775
Asia;Nepal ;28.196.960
Europe;Netherlands ;16.645.313
NorthAmerica;Netherlands Antilles ;225.369
Oceana;New Caledonia ;224.824
Oceana;New Zealand ;4.173.460
NorthAmerica;Nicaragua ;5.785.846
Africa;Niger ;14.752.080
Africa;Nigeria ;146.255.306
Oceana;Northern Mariana Islands ;86.616
Europe;Norway ;4.644.457
Asia;Oman ;3.311.640
Asia;Pakistan ;172.800.051
Oceana;Palau ;20.701
NorthAmerica;Panama ;3.309.679
Oceana;Papua New Guinea ;5.931.769
SouthAmerica;Paraguay ;6.831.306
SouthAmerica;Peru ;29.180.899
Asia;Philippines ;96.061.683
Europe;Poland ;38.500.696
Europe;Portugal ;10.676.910
NorthAmerica;Puerto Rico ;3.957.098
Asia;Qatar ;824.789
Europe;Romania ;22.246.862
Europe;Russia ;140.702.094
Africa;Rwanda ;10.186.063
NorthAmerica;Saint Barthelemy ;7.492
Africa;Saint Helena ;7.601
NorthAmerica;Saint Kitts and Nevis ;39.817
NorthAmerica;Saint Lucia ;159.585
NorthAmerica;Saint Martin ;29.376
NorthAmerica;Saint Pierre and Miquelon ;7.044
NorthAmerica;Saint Vincent and the Grenadines ;104.938
Oceana;Samoa ;217.083
Europe;San Marino ;29.973
Africa;Sao Tome and Principe ;206.178
Asia;Saudi Arabia ;28.146.657
Africa;Senegal ;13.343.424
Europe;Serbia ;7.413.882
Africa;Seychelles ;86.595
Africa;Sierra Leone ;6.294.774
Asia;Singapore ;4.608.167
Europe;Slovakia ;5.455.407
Europe;Slovenia ;2.007.711
Oceana;Solomon Islands ;581.318
Africa;Somalia ;9.558.666
Africa;South Africa ;48.782.755
Europe;Spain ;40.491.051
Asia;Sri Lanka ;21.128.773
Africa;Sudan ;40.218.455
SouthAmerica;Suriname ;475.996
Africa;Swaziland ;1.128.814
Europe;Sweden ;9.045.389
Europe;Switzerland ;7.581.520
Asia;Syria ;19.747.586
Asia;Taiwan ;22.920.946
Asia;Tajikistan ;7.211.884
Africa;Tanzania ;40.213.162
Asia;Thailand ;65.493.298
Asia;Timor-Leste ;1.108.777
Africa;Togo ;5.858.673
Oceana;Tonga ;119.009
NorthAmerica;Trinidad and Tobago ;1.231.323
Africa;Tunisia ;10.383.577
Asia;Turkey ;75.793.836
Asia;Turkmenistan ;4.829.332
NorthAmerica;Turks and Caicos Islands ;22.352
Oceana;Tuvalu ;12.177
Africa;Uganda ;31.367.972
Europe;Ukraine ;45.994.287
Asia;United Arab Emirates ;4.621.399
Europe;United Kingdom ;60.943.912
NorthAmerica;United States ;304.228.257
SouthAmerica;Uruguay ;3.477.778
Asia;Uzbekistan ;27.345.026
Oceana;Vanuatu ;215.446
SouthAmerica;Venezuela ;26.414.815
Asia;Vietnam ;86.116.559
NorthAmerica;Virgin Islands, British ;24.041
NorthAmerica;Virgin Islands, U.S. ;109.840
Oceana;Wallis and Futuna ;15.237
Asia;West Bank ;2.407.681
Africa;Western Sahara ;393.831
Asia;Yemen ;23.013.376
Africa;Zambia ;11.669.534
Africa;Zimbabwe ;11.350.111
ASIA (EX. NEAR EAST);Afghanistan;31056997;6475
EASTERN EUROPE;Albania;3581655;28748
NORTHERN AFRICA;Algeria;32930091;2381740
OCEANIA;American Samoa;57794;199
WESTERN EUROPE;Andorra;71201;468
SUB-SAHARAN AFRICA;Angola;12127071;1246700
LATIN AMER. & CARIB;Anguilla;13477;102
LATIN AMER. & CARIB;Antigua & Barbuda;69108;443
LATIN AMER. & CARIB;Argentina;39921833;2766890
C.W. OF IND. STATES;Armenia;2976372;29800
LATIN AMER. & CARIB;Aruba;71891;193
OCEANIA;Australia;20264082;7686850
WESTERN EUROPE;Austria;8192880;83870
C.W. OF IND. STATES;Azerbaijan;7961619;86600
LATIN AMER. & CARIB;Bahamas, The;303770;13940
NEAR EAST;Bahrain;698585;665
ASIA (EX. NEAR EAST);Bangladesh;147365352;144000
LATIN AMER. & CARIB;Barbados;279912;431
C.W. OF IND. STATES;Belarus;10293011;207600
WESTERN EUROPE;Belgium;10379067;30528
LATIN AMER. & CARIB;Belize;287730;22966
SUB-SAHARAN AFRICA;Benin;7862944;112620
NORTHERN AMERICA;Bermuda;65773;53
ASIA (EX. NEAR EAST);Bhutan;2279723;47000
LATIN AMER. & CARIB;Bolivia;8989046;1098580
EASTERN EUROPE;Bosnia & Herzegovina;4498976;51129
SUB-SAHARAN AFRICA;Botswana;1639833;600370
LATIN AMER. & CARIB;Brazil;188078227;8511965
LATIN AMER. & CARIB;British Virgin Is.;23098;153
ASIA (EX. NEAR EAST);Brunei;379444;5770
EASTERN EUROPE;Bulgaria;7385367;110910
SUB-SAHARAN AFRICA;Burkina Faso;13902972;274200
ASIA (EX. NEAR EAST);Burma;47382633;678500
SUB-SAHARAN AFRICA;Burundi;8090068;27830
ASIA (EX. NEAR EAST);Cambodia;13881427;181040
SUB-SAHARAN AFRICA;Cameroon;17340702;475440
NORTHERN AMERICA;Canada;33098932;9984670
SUB-SAHARAN AFRICA;Cape Verde;420979;4033
LATIN AMER. & CARIB;Cayman Islands;45436;262
SUB-SAHARAN AFRICA;Central African Rep.;4303356;622984
SUB-SAHARAN AFRICA;Chad;9944201;1284000
LATIN AMER. & CARIB;Chile;16134219;756950
ASIA (EX. NEAR EAST);China;1313973713;9596960
LATIN AMER. & CARIB;Colombia;43593035;1138910
SUB-SAHARAN AFRICA;Comoros;690948;2170
SUB-SAHARAN AFRICA;Congo, Dem. Rep.;62660551;2345410
SUB-SAHARAN AFRICA;Congo, Repub. of the;3702314;342000
OCEANIA;Cook Islands;21388;240
LATIN AMER. & CARIB;Costa Rica;4075261;51100
SUB-SAHARAN AFRICA;Cote d'Ivoire;17654843;322460
EASTERN EUROPE;Croatia;4494749;56542
LATIN AMER. & CARIB;Cuba;11382820;110860
NEAR EAST;Cyprus;784301;9250
EASTERN EUROPE;Czech Republic;10235455;78866
WESTERN EUROPE;Denmark;5450661;43094
SUB-SAHARAN AFRICA;Djibouti;486530;23000
LATIN AMER. & CARIB;Dominica;68910;754
LATIN AMER. & CARIB;Dominican Republic;9183984;48730
ASIA (EX. NEAR EAST);East Timor;1062777;15007
LATIN AMER. & CARIB;Ecuador;13547510;283560
NORTHERN AFRICA;Egypt;78887007;1001450
LATIN AMER. & CARIB;El Salvador;6822378;21040
SUB-SAHARAN AFRICA;Equatorial Guinea;540109;28051
SUB-SAHARAN AFRICA;Eritrea;4786994;121320
BALTICS;Estonia;1324333;45226
SUB-SAHARAN AFRICA;Ethiopia;74777981;1127127
WESTERN EUROPE;Faroe Islands;47246;1399
OCEANIA;Fiji;905949;18270
WESTERN EUROPE;Finland;5231372;338145
WESTERN EUROPE;France;60876136;547030
LATIN AMER. & CARIB;French Guiana;199509;91000
OCEANIA;French Polynesia;274578;4167
SUB-SAHARAN AFRICA;Gabon;1424906;267667
SUB-SAHARAN AFRICA;Gambia, The;1641564;11300
NEAR EAST;Gaza Strip;1428757;360
C.W. OF IND. STATES;Georgia;4661473;69700
WESTERN EUROPE;Germany;82422299;357021
SUB-SAHARAN AFRICA;Ghana;22409572;239460
WESTERN EUROPE;Gibraltar;27928;7
WESTERN EUROPE;Greece;10688058;131940
NORTHERN AMERICA;Greenland;56361;2166086
LATIN AMER. & CARIB;Grenada;89703;344
LATIN AMER. & CARIB;Guadeloupe;452776;1780
OCEANIA;Guam;171019;541
LATIN AMER. & CARIB;Guatemala;12293545;108890
WESTERN EUROPE;Guernsey;65409;78
SUB-SAHARAN AFRICA;Guinea;9690222;245857
SUB-SAHARAN AFRICA;Guinea-Bissau;1442029;36120
LATIN AMER. & CARIB;Guyana;767245;214970
LATIN AMER. & CARIB;Haiti;8308504;27750
LATIN AMER. & CARIB;Honduras;7326496;112090
ASIA (EX. NEAR EAST);Hong Kong;6940432;1092
EASTERN EUROPE;Hungary;9981334;93030
WESTERN EUROPE;Iceland;299388;103000
ASIA (EX. NEAR EAST);India;1095351995;3287590
ASIA (EX. NEAR EAST);Indonesia;245452739;1919440
ASIA (EX. NEAR EAST);Iran;68688433;1648000
NEAR EAST;Iraq;26783383;437072
WESTERN EUROPE;Ireland;4062235;70280
WESTERN EUROPE;Isle of Man;75441;572
NEAR EAST;Israel;6352117;20770
WESTERN EUROPE;Italy;58133509;301230
LATIN AMER. & CARIB;Jamaica;2758124;10991
ASIA (EX. NEAR EAST);Japan;127463611;377835
WESTERN EUROPE;Jersey;91084;116
NEAR EAST;Jordan;5906760;92300
C.W. OF IND. STATES;Kazakhstan;15233244;2717300
SUB-SAHARAN AFRICA;Kenya;34707817;582650
OCEANIA;Kiribati;105432;811
ASIA (EX. NEAR EAST);Korea, North;23113019;120540
ASIA (EX. NEAR EAST);Korea, South;48846823;98480
NEAR EAST;Kuwait;2418393;17820
C.W. OF IND. STATES;Kyrgyzstan;5213898;198500
ASIA (EX. NEAR EAST);Laos;6368481;236800
BALTICS;Latvia;2274735;64589
NEAR EAST;Lebanon;3874050;10400
SUB-SAHARAN AFRICA;Lesotho;2022331;30355
SUB-SAHARAN AFRICA;Liberia;3042004;111370
NORTHERN AFRICA;Libya;5900754;1759540
WESTERN EUROPE;Liechtenstein;33987;160
BALTICS;Lithuania;3585906;65200
WESTERN EUROPE;Luxembourg;474413;2586
ASIA (EX. NEAR EAST);Macau;453125;28
EASTERN EUROPE;Macedonia;2050554;25333
SUB-SAHARAN AFRICA;Madagascar;18595469;587040
SUB-SAHARAN AFRICA;Malawi;13013926;118480
ASIA (EX. NEAR EAST);Malaysia;24385858;329750
ASIA (EX. NEAR EAST);Maldives;359008;300
SUB-SAHARAN AFRICA;Mali;11716829;1240000
WESTERN EUROPE;Malta;400214;316
OCEANIA;Marshall Islands;60422;11854
LATIN AMER. & CARIB;Martinique;436131;1100
SUB-SAHARAN AFRICA;Mauritania;3177388;1030700
SUB-SAHARAN AFRICA;Mauritius;1240827;2040
SUB-SAHARAN AFRICA;Mayotte;201234;374
LATIN AMER. & CARIB;Mexico;107449525;1972550
OCEANIA;Micronesia, Fed. St.;108004;702
C.W. OF IND. STATES;Moldova;4466706;33843
WESTERN EUROPE;Monaco;32543;2
ASIA (EX. NEAR EAST);Mongolia;2832224;1564116
LATIN AMER. & CARIB;Montserrat;9439;102
NORTHERN AFRICA;Morocco;33241259;446550
SUB-SAHARAN AFRICA;Mozambique;19686505;801590
SUB-SAHARAN AFRICA;Namibia;2044147;825418
OCEANIA;Nauru;13287;21
ASIA (EX. NEAR EAST);Nepal;28287147;147181
WESTERN EUROPE;Netherlands;16491461;41526
LATIN AMER. & CARIB;Netherlands Antilles;221736;960
OCEANIA;New Caledonia;219246;19060
OCEANIA;New Zealand;4076140;268680
LATIN AMER. & CARIB;Nicaragua;5570129;129494
SUB-SAHARAN AFRICA;Niger;12525094;1267000
SUB-SAHARAN AFRICA;Nigeria;131859731;923768
OCEANIA;N. Mariana Islands;82459;477
WESTERN EUROPE;Norway;4610820;323802
NEAR EAST;Oman;3102229;212460
ASIA (EX. NEAR EAST);Pakistan;165803560;803940
OCEANIA;Palau;20579;458
LATIN AMER. & CARIB;Panama;3191319;78200
OCEANIA;Papua New Guinea;5670544;462840
LATIN AMER. & CARIB;Paraguay;6506464;406750
LATIN AMER. & CARIB;Peru;28302603;1285220
ASIA (EX. NEAR EAST);Philippines;89468677;300000
EASTERN EUROPE;Poland;38536869;312685
WESTERN EUROPE;Portugal;10605870;92391
LATIN AMER. & CARIB;Puerto Rico;3927188;13790
NEAR EAST;Qatar;885359;11437
SUB-SAHARAN AFRICA;Reunion;787584;2517
EASTERN EUROPE;Romania;22303552;237500
C.W. OF IND. STATES;Russia;142893540;17075200
SUB-SAHARAN AFRICA;Rwanda;8648248;26338
SUB-SAHARAN AFRICA;Saint Helena;7502;413
LATIN AMER. & CARIB;Saint Kitts & Nevis;39129;261
LATIN AMER. & CARIB;Saint Lucia;168458;616
NORTHERN AMERICA;St Pierre & Miquelon;7026;242
LATIN AMER. & CARIB;Saint Vincent and the Grenadines;117848;389
OCEANIA;Samoa;176908;2944
WESTERN EUROPE;San Marino;29251;61
SUB-SAHARAN AFRICA;Sao Tome & Principe;193413;1001
NEAR EAST;Saudi Arabia;27019731;1960582
SUB-SAHARAN AFRICA;Senegal;11987121;196190
EASTERN EUROPE;Serbia;9396411;88361
SUB-SAHARAN AFRICA;Seychelles;81541;455
SUB-SAHARAN AFRICA;Sierra Leone;6005250;71740
ASIA (EX. NEAR EAST);Singapore;4492150;693
EASTERN EUROPE;Slovakia;5439448;48845
EASTERN EUROPE;Slovenia;2010347;20273
NORTHERN AMERICA;Solomon Islands;552438;28450
SUB-SAHARAN AFRICA;Somalia;8863338;637657
SUB-SAHARAN AFRICA;South Africa;44187637;1219912
WESTERN EUROPE;Spain;40397842;504782
ASIA (EX. NEAR EAST);Sri Lanka;20222240;65610
SUB-SAHARAN AFRICA;Sudan;41236378;2505810
LATIN AMER. & CARIB;Suriname;439117;163270
SUB-SAHARAN AFRICA;Swaziland;1136334;17363
WESTERN EUROPE;Sweden;9016596;449964
WESTERN EUROPE;Switzerland;7523934;41290
NEAR EAST;Syria;18881361;185180
ASIA (EX. NEAR EAST);Taiwan;23036087;35980
C.W. OF IND. STATES;Tajikistan;7320815;143100
SUB-SAHARAN AFRICA;Tanzania;37445392;945087
ASIA (EX. NEAR EAST);Thailand;64631595;514000
SUB-SAHARAN AFRICA;Togo;5548702;56785
OCEANIA;Tonga;114689;748
LATIN AMER. & CARIB;Trinidad & Tobago;1065842;5128
NORTHERN AFRICA;Tunisia;10175014;163610
NEAR EAST;Turkey;70413958;780580
C.W. OF IND. STATES;Turkmenistan;5042920;488100
LATIN AMER. & CARIB;Turks & Caicos Is;21152;430
OCEANIA;Tuvalu;11810;26
SUB-SAHARAN AFRICA;Uganda;28195754;236040
C.W. OF IND. STATES;Ukraine;46710816;603700
NEAR EAST;United Arab Emirates;2602713;82880
WESTERN EUROPE;UK;60609153;244820
NORTHERN AMERICA;US;298444215;9631420
LATIN AMER. & CARIB;Uruguay;3431932;176220
C.W. OF IND. STATES;Uzbekistan;27307134;447400
OCEANIA;Vanuatu;208869;12200
LATIN AMER. & CARIB;Venezuela;25730435;912050
ASIA (EX. NEAR EAST);Vietnam;84402966;329560
LATIN AMER. & CARIB;Virgin Islands;108605;1910
OCEANIA;Wallis and Futuna;16025;274
NEAR EAST;West Bank;2460492;5860
NORTHERN AFRICA;Western Sahara;273008;266000
NEAR EAST;Yemen;21456188;527970
SUB-SAHARAN AFRICA;Zambia;11502010;752614
SUB-SAHARAN AFRICA;Zimbabwe;12236805;390580

View File

@@ -1,501 +1,150 @@
Company;Country;Market value $m;Sector;Turnover $m;Employees;Global rank 2015;Global rank 2014;Price $;P/e ratio;Dividend yield (%);Year End
Apple;US;724.773,1;Technology hardware & equipment;182.795,0;92.600;1;1;124,4;19,3;1,5;27-09-14
Exxon Mobil;US;356.548,7;Oil & gas producers;364.763,0;75.300;2;2;85,0;11,2;3,2;31-12-14
Berkshire Hathaway;US;356.510,7;Nonlife insurance;N/R;316.000;3;5;217.500,0;18,0;;31-12-14
Google;US;345.849,2;Software & computer services;66.001,0;53.600;4;4;554,7;26,4;;31-12-14
Microsoft;US;333.524,8;Software & computer services;86.833,0;128.000;5;3;40,7;15,5;2,8;30-06-14
PetroChina;China;329.715,1;Oil & gas producers;367.853,7;534.652;6;16;1,1;12,3;3,6;31-12-14
Wells Fargo;US;279.919,7;Banks;N/R;264.500;7;7;54,4;13,3;2,5;31-12-14
Johnson & Johnson;US;279.723,9;Pharmaceuticals & biotechnology;74.331,0;126.500;8;6;100,6;17,6;2,7;28-12-14
Industrial & Commercial Bank of China;China;275.389,1;Banks;N/R;462.282;9;21;0,7;5,7;5,4;31-12-14
Novartis;Switzerland;267.897,0;Pharmaceuticals & biotechnology;49.550,7;133.413;10;14;99,0;25,4;2,6;31-12-14
China Mobile;Hong Kong;267.252,3;Mobile telecommunications;103.977,0;241.550;11;25;13,1;15,0;2,9;31-12-14
Wal-Mart Stores;US;265.107,3;General retailers;485.651,0;2.200.000;12;10;82,3;16,3;2,3;31-01-15
General Electric;US;249.774,4;General industrials;148.589,0;305.000;13;8;24,8;16,5;3,6;31-12-14
Nestle;Switzerland;243.701,8;Food producers;92.165,3;339.000;14;11;75,6;16,6;2,9;31-12-14
Toyota Motor;Japan;238.924,8;Automobiles & parts;248.954,6;338.875;15;23;69,9;12,5;2,3;31-03-14
Roche;Switzerland;237.747,6;Pharmaceuticals & biotechnology;47.748,7;88.509;16;9;276,0;25,0;2,9;31-12-14
JP Morgan Chase;US;225.861,1;Banks;N/R;241.359;17;13;60,6;11,5;2,6;31-12-14
Procter & Gamble;US;221.279,6;Household goods & home construction;83.062,0;118.000;18;17;81,9;20,9;3,0;30-06-14
Samsung Electronics;South Korea;214.039,7;Leisure goods;188.475,9;99.927;19;18;1.298,8;9,3;1,4;31-12-14
Pfizer;US;213.621,9;Pharmaceuticals & biotechnology;49.605,0;78.300;20;19;34,8;24,7;3,0;31-12-14
China Construction Bank;China;209.139,8;Banks;N/R;493.583;21;29;0,8;5,5;6,0;31-12-14
Verizon Communications;US;198.035,3;Fixed line telecommunications;127.079,0;177.300;22;22;48,6;20,1;4,4;31-12-14
Chevron;US;197.381,3;Oil & gas producers;191.755,0;64.700;23;15;105,0;10,4;4,0;31-12-14
Bank of China;China;197.225,6;Banks;N/R;308.128;24;52;0,6;5,8;5,2;31-12-14
Anheuser-Busch InBev;Belgium;196.554,3;Beverages;43.098,8;154.029;25;32;122,2;23,6;3,0;31-12-14
Royal Dutch Shell;UK;192.134,9;Oil & gas producers;385.634,5;94.000;26;12;29,8;13,8;6,2;31-12-14
Agricultural Bank of China;China;189.297,4;Banks;N/R;493.583;27;38;0,5;5,5;6,1;31-12-14
Oracle;US;188.438,8;Software & computer services;38.275,0;122.000;28;27;43,2;18,1;1,1;31-05-14
Facebook;US;183.860,1;Software & computer services;12.466,0;9.199;29;49;82,2;74,7;;31-12-14
Walt Disney;US;178.267,1;Media;48.813,0;180.000;30;39;104,9;24,6;0,8;27-09-14
Tencent;Hong Kong;177.960,6;Software & computer services;12.718,3;27.690;31;42;19,0;45,2;0,3;31-12-14
Coca-Cola;US;177.142,3;Beverages;46.052,0;129.200;32;31;40,6;25,3;3,0;31-12-14
Amazon.com;US;172.797,3;General retailers;88.988,0;154.100;33;35;372,1;;;31-12-14
AT&T;US;169.458,8;Fixed line telecommunications;132.447,0;253.000;34;26;32,7;27,4;5,7;31-12-14
HSBC;UK;164.249,6;Banks;N/R;257.603;35;24;8,5;13,1;5,8;31-12-14
Merck;US;163.139,3;Pharmaceuticals & biotechnology;42.237,0;70.000;36;33;57,5;14,1;3,1;31-12-14
Bank of America;US;161.908,8;Banks;N/R;224.000;37;28;15,4;42,8;0,8;31-12-14
IBM;US;158.642,0;Software & computer services;92.793,0;379.592;38;20;160,5;13,5;2,6;31-12-14
China Life Insurance;China;157.029,7;Life insurance;N/R;103.123;39;131;4,4;24,3;1,4;31-12-14
Citigroup;US;156.359,8;Banks;N/R;241.000;40;37;51,5;23,4;0,1;31-12-14
Home Depot;US;148.533,1;General retailers;83.176,0;371.000;41;59;113,6;24,1;1,7;02-01-15
Intel;US;148.094,7;Technology hardware & equipment;55.870,0;106.700;42;46;31,3;13,5;2,9;27-12-14
Gilead Sciences;US;145.532,9;Pharmaceuticals & biotechnology;24.890,0;7.000;43;60;98,1;13,4;;31-12-14
Comcast;US;142.798,5;Media;68.775,0;139.000;44;44;56,5;17,6;1,6;31-12-14
PepsiCo;US;141.742,7;Beverages;66.683,0;271.000;45;47;95,6;22,4;2,6;27-12-14
Cisco Systems;US;140.507,8;Technology hardware & equipment;47.142,0;74.042;46;56;27,5;18,5;2,6;26-07-14
Sanofi;France;130.260,0;Pharmaceuticals & biotechnology;41.244,3;113.496;47;40;98,7;24,4;3,5;31-12-14
Visa;US;128.455,3;Financial services;N/R;7.000;48;61;65,4;30,4;0,2;30-09-14
Volkswagen;Germany;124.335,3;Automobiles & parts;244.810,2;592.586;49;50;257,5;9,7;2,3;31-12-14
Bayer;Germany;124.157,7;Chemicals;51.075,0;118.888;50;57;150,1;30,0;1,8;31-12-14
BHP Billiton;Australia/UK;122.335,4;Mining;69.372,1;47.044;51;30;23,7;8,8;5,2;30-06-14
Amgen;US;121.303,9;Pharmaceuticals & biotechnology;20.063,0;17.900;52;80;159,9;23,9;1,5;31-12-14
Taiwan Semiconductor Manufacturing;Taiwan;120.577,1;Technology hardware & equipment;24.112,3;43.591;53;67;4,7;14,5;3,0;31-12-14
Actavis;US;120.536,1;Pharmaceuticals & biotechnology;13.062,3;21.600;54;285;297,6;;;31-12-14
Sinopec;China;119.104,8;Oil & gas producers;433.310,2;358.571;55;74;0,8;11,4;3,8;31-12-14
Unilever;Netherlands/UK;118.902,5;Personal goods;58.568,3;173.000;56;51;41,8;19,0;3,3;31-12-14
Total;France;118.541,9;Oil & gas producers;194.159,3;100.307;57;34;49,7;29,1;5,9;31-12-14
BP;UK;118.345,6;Oil & gas producers;334.605,9;84.500;58;36;6,5;34,1;6,0;31-12-14
CVS Caremark;US;117.170,8;Food & drug retailers;139.367,0;217.800;59;88;103,2;26,0;1,1;31-12-14
Philip Morris International;US;116.693,1;Tobacco;29.767,0;82.500;60;43;75,3;15,8;5,2;31-12-14
Commonwealth Bank of Australia;Australia;115.688,2;Banks;N/R;44.329;61;55;71,4;14,2;5,3;30-06-14
Qualcomm;US;114.380,5;Technology hardware & equipment;26.487,0;31.300;62;41;69,3;14,9;2,2;28-09-14
Ping An Insurance;China;113.119,0;Life insurance;N/R;235.999;63;172;12,0;15,0;1,0;31-12-14
Novo Nordisk;Denmark;112.977,6;Pharmaceuticals & biotechnology;14.428,3;40.957;64;68;53,5;32,6;1,5;31-12-14
UnitedHealth Group;US;112.812,6;Health care equipment & services;130.474,0;170.000;65;100;118,3;20,8;1,2;31-12-14
GlaxoSmithKline;UK;111.649,6;Pharmaceuticals & biotechnology;35.834,8;98.702;66;45;23,0;25,8;5,4;31-12-14
Medtronic;US;111.140,9;Health care equipment & services;17.005,0;49.000;67;144;78,0;25,8;1,4;25-04-14
Bristol Myers Squibb;US;107.500,1;Pharmaceuticals & biotechnology;15.879,0;25.000;68;93;64,5;53,8;2,2;31-12-14
Schlumberger;US;106.628,4;Oil equipment & services;48.631,0;120.000;69;48;83,4;20,1;1,9;31-12-14
United Technologies;US;106.470,3;Aerospace & defence;65.100,0;211.000;70;62;117,2;17,2;2,0;31-12-14
Banco Santander;Spain;105.960,3;Banks;N/R;185.405;71;58;7,5;13,2;8,8;31-12-14
Boeing;US;105.032,2;Aerospace & defence;90.762,0;165.500;72;81;150,1;20,3;2,1;31-12-14
3M;US;104.795,4;General industrials;31.821,0;89.800;73;87;165,0;22,0;2,1;31-12-14
Daimler;Germany;103.741,0;Automobiles & parts;157.039,9;279.972;74;66;97,0;12,3;3,1;31-12-14
L'Oreal;France;103.279,4;Personal goods;27.245,5;78.611;75;71;184,0;17,9;1,8;31-12-14
Inditex;Spain;100.013,2;General retailers;22.539,1;128.313;76;79;32,1;31,2;0,4;31-01-14
Biogen Idec;US;99.063,5;Pharmaceuticals & biotechnology;9.703,3;7.550;77;115;422,2;34,1;;31-12-14
Altria Group;US;98.505,2;Tobacco;17.945,0;9.000;78;109;50,0;19,5;4,0;31-12-14
British American Tobacco;UK;96.536,7;Tobacco;21.761,7;90.118;79;63;51,8;19,8;4,5;31-12-14
Mastercard;US;96.001,8;Financial services;N/R;10.300;80;95;86,4;28,0;0,6;31-12-14
Union Pacific;US;95.451,8;Industrial transportation;23.988,0;47.201;81;94;108,3;18,8;1,8;31-12-14
Westpac Banking;Australia;93.870,4;Banks;N/R;36.373;82;70;30,1;14,1;5,3;30-09-14
McDonald's;US;93.651,4;Travel & leisure;27.441,3;420.000;83;73;97,4;20,2;3,4;31-12-14
Abbvie;US;93.204,1;Pharmaceuticals & biotechnology;19.960,0;26.000;84;97;58,5;53,2;2,8;31-12-14
Walgreen;US;92.298,9;Food & drug retailers;76.392,0;251.000;85;138;84,7;42,3;1,5;31-08-14
Celgene;US;92.292,0;Pharmaceuticals & biotechnology;7.670,4;6.012;86;166;115,3;48,2;;31-12-14
Basf;Germany;91.489,5;Chemicals;89.874,3;113.292;87;65;99,6;14,7;3,4;31-12-14
Ambev;Brazil;90.732,6;Beverages;14.326,4;51.871;88;54;5,8;19,9;2,8;31-12-14
Kinder Morgan;US;90.622,5;Oil equipment & services;16.190,0;11.535;89;314;42,1;46,7;4,1;31-12-14
Siemens;Germany;90.196,5;General industrials;90.808,4;343.000;90;53;108,0;13,4;3,9;30-09-14
LVMH;France;89.497,4;Personal goods;37.047,2;121.289;91;82;176,3;12,9;2,2;31-12-14
SAP;Germany;88.793,3;Software & computer services;21.233,4;74.406;92;69;72,3;21,8;1,8;31-12-14
Mitsubishi UFJ Financial;Japan;87.866,4;Banks;N/R;106.141;93;104;6,2;9,4;2,6;31-03-14
Royal Bank Canada;Canada;86.842,8;Banks;N/R;78.000;94;77;60,2;11,3;4,2;31-10-14
AstraZeneca;UK;86.763,1;Pharmaceuticals & biotechnology;24.695,5;57.500;95;98;68,7;73,8;4,0;31-12-14
Vodafone Group;UK;86.760,2;Mobile telecommunications;63.910,1;92.812;96;72;3,3;3,6;7,0;31-03-14
SabMiller;UK;84.939,6;Beverages;17.430,1;69.947;97;101;52,6;23,8;2,0;31-03-14
Deutsche Telekom;Germany;83.314,0;Mobile telecommunications;75.765,4;227.811;98;116;18,4;23,3;3,3;31-12-14
Lloyds Banking Group;UK;82.941,0;Banks;N/R;84.490;99;89;1,2;38,7;0,9;31-12-14
Goldman Sachs;US;81.883,6;Financial services;N/R;34.000;100;110;188,0;11,0;1,2;31-12-14
Honeywell International;US;81.427,3;General industrials;40.306,0;127.000;101;113;104,3;19,6;1,8;31-12-14
Eli Lilly;US;80.714,4;Pharmaceuticals & biotechnology;19.615,6;39.135;102;132;72,7;32,6;2,7;31-12-14
BMW;Germany;80.263,3;Automobiles & parts;97.220,1;116.324;103;99;125,0;11,7;2,8;31-12-14
Tata Consultancy Services;India;79.935,9;Software & computer services;13.629,4;300.464;104;125;40,8;24,9;1,3;31-03-14
American Express;US;79.617,9;Financial services;N/R;54.000;105;76;78,1;14,1;1,3;31-12-14
Allianz;Germany;79.417,8;Nonlife insurance;N/R;147.425;106;106;173,8;10,5;4,8;31-12-14
Toronto-Dominion Bank;Canada;79.165,7;Banks;N/R;81.137;107;91;42,8;11,6;3,8;31-10-14
US Bancorp;US;77.784,5;Banks;N/R;66.750;108;103;43,7;14,2;2,2;31-12-14
ANZ Banking;Australia;77.424,4;Banks;N/R;50.328;109;96;28,0;12,0;5,6;30-09-14
Rio Tinto;Australia/UK;77.074,5;Mining;45.107,7;59.775;110;64;41,2;12,3;5,1;31-12-14
ConocoPhillips;US;76.670,7;Oil & gas producers;52.464,0;19.100;111;92;62,3;11,3;4,6;31-12-14
AIA Group;Hong Kong;75.815,8;Life insurance;N/R;20.000;112;165;6,3;21,7;1,0;30-11-14
BNP Paribas;France;75.696,8;Banks;N/R;187.903;113;75;60,8;;3,0;31-12-14
American International Group;US;74.183,9;Nonlife insurance;N/R;65.000;114;114;54,8;10,5;0,9;31-12-14
Lowe's Companies;US;71.414,3;General retailers;56.223,0;266.000;115;199;74,4;27,5;1,2;30-01-15
National Australia Bank;Australia;71.303,9;Banks;N/R;42.853;116;107;29,5;15,2;5,9;30-09-14
Twenty-First Century Fox;US;71.181,8;Media;31.867,0;27.000;117;120;33,8;17,0;0,7;30-06-14
NTT DoCoMo;Japan;71.051,7;Mobile telecommunications;43.229,1;23.890;118;127;17,4;16,0;3,3;31-03-14
Starbucks;US;71.006,0;Travel & leisure;16.447,8;191.000;119;170;94,7;69,6;0,3;28-09-14
Morgan Stanley;US;70.545,3;Financial services;N/R;55.802;120;146;35,7;22,3;1,0;31-12-14
UBS;Switzerland;70.519,7;Banks;N/R;60.155;121;102;18,9;20,1;2,7;31-12-14
Bank of Communications;China;70.487,0;Banks;N/R;93.658;122;210;0,9;6,1;4,7;31-12-14
Telefonica;Spain;70.326,6;Fixed line telecommunications;60.915,4;123.700;123;117;14,2;19,2;5,7;31-12-14
Time Warner;US;70.129,3;Media;27.359,0;25.600;124;162;84,4;19,5;1,5;31-12-14
Nippon Telegraph & Telephone;Japan;70.111,7;Fixed line telecommunications;105.864,9;239.756;125;143;61,7;12,5;2,7;31-03-14
eBay;US;69.945,6;General retailers;17.902,0;34.600;126;119;57,7;;;31-12-14
Abbott Laboratories;US;69.910,9;Pharmaceuticals & biotechnology;20.247,0;77.000;127;157;46,3;30,9;1,9;31-12-14
Softbank;Japan;69.882,1;Mobile telecommunications;64.599,9;70.336;128;85;58,2;13,5;0,7;31-03-14
Diageo;UK;69.404,9;Beverages;17.535,0;26.588;129;105;27,6;18,0;3,2;30-06-14
Nike;US;68.620,7;Personal goods;27.799,0;56.500;130;182;100,3;33,8;0,9;31-05-14
United Parcel Service;US;68.085,1;Industrial transportation;58.232,0;270.000;131;126;96,9;29,6;2,8;31-12-14
Valeant Pharmaceuticals International;Canada;67.339,0;Pharmaceuticals & biotechnology;7.878,5;16.800;132;226;197,6;75,7;;31-12-14
Costco Wholesale;US;66.653,9;General retailers;112.640,0;195.000;133;201;151,5;32,6;0,9;31-08-14
E I Du Pont de Nemours;US;64.709,9;Chemicals;34.906,0;63.000;134;145;71,5;18,2;2,6;31-12-14
Naspers;South Africa;64.697,6;Media;5.955,4;22.557;135;215;154,3;;0,3;31-03-14
Lockheed Martin;US;64.192,5;Aerospace & defence;45.600,0;112.000;136;183;203,0;18,1;2,7;31-12-14
Saudi Basic Industries;Saudi Arabia;63.940,8;Chemicals;50.138,4;40.000;137;78;21,3;10,3;6,9;31-12-14
BBVA;Spain;63.794,0;Banks;N/R;109.239;138;121;10,1;19,1;4,4;31-12-14
Prudential;UK;63.738,0;Life insurance;N/R;23.047;139;175;24,8;18,3;2,3;31-12-14
Japan Tobacco;Japan;63.381,3;Tobacco;23.980,8;51.341;140;139;31,7;16,3;2,9;31-12-14
Express Scripts;US;63.237,3;Health care equipment & services;100.887,1;29.500;141;163;86,8;32,9;;31-12-14
CNOOC;Hong Kong;63.115,3;Oil & gas producers;44.517,4;21.046;142;129;1,4;6,4;5,0;31-12-14
China Merchants Bank;China;63.023,8;Banks;N/R;75.109;143;245;2,4;6,8;4,5;31-12-14
Ford Motor;US;63.010,7;Automobiles & parts;144.077,0;187.000;144;148;16,1;20,2;3,1;31-12-14
Eni;Italy;62.954,9;Oil & gas producers;132.825,9;84.405;145;84;17,3;40,3;7,9;31-12-14
Colgate-Palmolive;US;62.880,0;Personal goods;17.277,0;37.700;146;156;69,3;29,4;2,0;31-12-14
China Shenhua Energy;China;62.119,2;Mining;40.018,3;92.738;147;212;2,6;8,2;4,7;31-12-14
Reckitt Benckiser;UK;61.656,4;Household goods & home construction;13.763,2;37.200;148;160;86,1;12,4;2,5;31-12-14
Axa;France;61.520,4;Nonlife insurance;N/R;96.279;149;140;25,2;10,7;4,6;31-12-14
Simon Property Group;US;61.493,9;Real estate investment trusts;N/R;5.250;150;187;195,6;43,3;2,6;31-12-14
KDDI;Japan;61.042,8;Mobile telecommunications;41.992,9;27.073;151;184;22,7;17,6;0,6;31-03-14
Bank of Nova Scotia;Canada;60.687,1;Banks;N/R;86.932;152;123;50,2;9,9;4,5;31-10-14
Blackrock;US;60.511,8;Financial services;N/R;12.200;153;180;365,8;19,0;2,1;31-12-14
Priceline.com;US;60.465,0;Travel & leisure;8.442,0;12.700;154;142;1.164,2;25,5;;31-12-14
General Motors;US;60.388,7;Automobiles & parts;155.929,0;216.000;155;173;37,5;22,7;3,2;31-12-14
Teva Pharmaceutical;Israel;60.038,5;Pharmaceuticals & biotechnology;18.664,0;43.009;156;202;62,8;19,0;2,0;31-12-14
Danaher;US;60.034,1;General industrials;19.913,8;71.000;157;181;84,9;23,4;0,5;31-12-14
Texas Instruments;US;59.880,8;Technology hardware & equipment;13.045,0;31.003;158;191;57,2;22,3;2,2;31-12-14
Barclays;UK;59.431,5;Banks;N/R;132.300;159;135;3,6;;2,8;31-12-14
Hennes & Mauritz;Sweden;59.195,3;General retailers;20.297,7;93.351;160;141;40,5;25,0;3,2;30-11-14
Mondelez International;US;59.181,0;Food producers;34.244,0;104.000;161;159;36,1;28,2;1,6;31-12-14
Hutchison Whampoa;Hong Kong;59.168,8;General industrials;35.100,6;280.000;162;167;13,9;6,8;2,2;31-12-14
Honda Motor;Japan;58.953,6;Automobiles & parts;114.753,4;198.561;163;134;32,6;10,5;2,5;31-03-14
Telstra;Australia;58.935,2;Fixed line telecommunications;23.886,9;31.931;164;161;4,8;15,1;5,8;30-06-14
Accenture;US;58.673,8;Support services;31.874,7;305.000;165;193;93,7;20,7;2,0;31-08-14
Itau Unibanco;Brazil;58.391,1;Banks;N/R;93.175;166;112;11,1;7,5;3,2;31-12-14
Intesa Sanpaolo;Italy;56.781,5;Banks;N/R;89.486;167;171;3,4;37,8;2,4;31-12-14
Hewlett-Packard;US;56.635,1;Technology hardware & equipment;111.454,0;302.000;168;147;31,2;11,9;2,0;31-10-14
Metlife;US;56.577,5;Life insurance;N/R;68.000;169;155;50,6;9,3;2,6;31-12-14
Gazprom;Russia;56.569,8;Oil & gas producers;95.924,6;450.000;170;83;2,4;19,9;;31-12-14
ING;Netherlands;56.545,6;Banks;N/R;68.431;171;174;14,7;22,5;1,0;31-12-14
Statoil;Norway;56.499,9;Oil & gas producers;81.189,8;22.516;172;86;17,7;19,3;5,4;31-12-14
Citic Securities;China;56.453,9;Financial services;N/R;13.209;173;;3,7;24,7;1,3;31-12-14
Industrial Bank;China;56.423,2;Banks;N/R;50.214;174;366;3,0;7,4;3,0;31-12-14
Occidental Petroleum;US;56.251,3;Oil & gas producers;19.442,0;11.700;175;108;73,0;;3,9;31-12-14
Glencore;UK;55.505,2;Mining;209.216,7;181.349;176;128;4,2;24,9;3,8;31-12-14
Dow Chemical;US;55.274,0;Chemicals;58.167,0;53.000;177;158;48,0;16,7;3,2;31-12-14
BT Group;UK;54.437,1;Fixed line telecommunications;30.478,4;87.800;178;197;6,5;15,1;2,8;31-03-14
Monsanto;US;54.389,0;Food producers;15.848,0;22.400;179;154;112,5;21,6;1,6;31-08-14
Duke Energy;US;54.361,5;Gas, water & multiutilities;23.925,0;28.344;180;195;76,8;28,9;4,1;31-12-14
Sumitomo Mitsui Financial;Japan;54.257,0;Banks;N/R;66.475;181;149;38,4;6,5;3,0;31-03-14
Canadian National Railway;Canada;54.048,2;Industrial transportation;10.442,4;25.530;182;211;67,0;20,1;1,3;31-12-14
Thermo Fisher Scientific;US;53.303,8;Health care equipment & services;16.889,6;51.000;183;207;134,3;28,5;0,4;31-12-14
McKesson;US;52.669,4;Food & drug retailers;137.609,0;42.800;184;246;226,2;41,7;0,4;31-03-14
Target;US;52.667,5;General retailers;72.618,0;347.000;185;268;82,1;;2,4;31-01-15
Fanuc;Japan;52.425,2;Industrial engineering;4.370,0;5.469;186;236;218,9;39,8;0,8;31-03-14
Kraft Foods Group;US;51.234,7;Food producers;18.205,0;22.100;187;315;87,1;50,1;2,5;27-12-14
China Minsheng Banking;China;51.057,2;Banks;N/R;59.659;188;308;1,2;5,8;2,5;31-12-14
Airbus;France;50.953,8;Aerospace & defence;73.413,6;138.622;189;168;64,9;17,9;2,2;31-12-14
Singapore Telecom;Singapore;50.909,1;Mobile telecommunications;13.392,7;22.000;190;214;3,2;17,7;4,1;31-03-14
Zurich Financial Services;Switzerland;50.751,8;Nonlife insurance;N/R;54.551;191;218;339,0;13,9;5,0;31-12-14
EMC;US;50.527,6;Technology hardware & equipment;24.440,0;70.000;192;169;25,6;19,4;1,7;31-12-14
EOG Resources;US;50.288,8;Oil & gas producers;17.527,8;3.000;193;176;91,7;17,2;0,8;31-12-14
Nordea Bank;Sweden;49.449,9;Banks;N/R;29.400;194;164;12,2;12,7;6,1;31-12-14
ABB;Switzerland;49.165,7;Industrial engineering;37.152,4;140.400;195;153;21,2;20,2;2,6;31-12-14
China Citic Bank;China;49.087,0;Banks;N/R;50.735;196;330;0,8;5,4;;31-12-14
PNC Financial Services;US;48.549,1;Banks;N/R;53.587;197;213;93,2;12,8;2,0;31-12-14
Caterpillar;US;48.511,5;Industrial engineering;55.184,0;114.233;198;137;80,0;13,6;3,4;31-12-14
TJX Cos;US;48.257,4;General retailers;29.078,4;198.000;199;232;70,1;21,8;1,0;31-01-15
Henkel;Germany;48.145,6;Chemicals;19.864,6;49.750;200;220;104,4;23,0;1,5;31-12-14
GDF Suez;France;48.136,4;Gas, water & multiutilities;90.309,6;147.400;201;130;19,8;15,8;6,1;31-12-14
National Grid;UK;47.992,0;Gas, water & multiutilities;24.681,7;23.909;202;190;12,8;11,6;5,5;31-03-14
Deutsche Bank;Germany;47.978,8;Banks;N/R;98.138;203;217;34,8;21,5;2,6;31-12-14
China Pacific Insurance;China;47.585,1;Life insurance;N/R;90.000;204;427;4,8;23,8;1,7;31-12-14
Shanghai Pudong Development Bank;China;47.509,2;Banks;N/R;43.654;205;367;2,6;6,2;4,7;31-12-14
CK Hutchison;Hong Kong;47.440,3;Real estate investment & services;N/R;8.100;206;266;20,5;7,1;2,3;31-12-14
Canon;Japan;47.244,7;Technology hardware & equipment;31.122,6;191.889;207;243;35,4;18,5;3,5;31-12-14
Continental;Germany;47.106,4;Automobiles & parts;41.724,0;189.168;208;204;235,5;16,4;1,7;31-12-14
Shire;UK;47.009,3;Pharmaceuticals & biotechnology;5.699,1;5.016;209;375;79,6;14,5;0,3;31-12-14
Fedex;US;46.947,5;Industrial transportation;45.567,0;162.000;210;256;165,5;24,5;0,4;31-05-14
Nextera Energy;US;46.211,0;Electricity;17.021,0;13.400;211;240;104,1;18,6;2,8;31-12-14
Nissan Motor;Japan;46.140,1;Automobiles & parts;101.575,6;142.925;212;247;10,2;11,3;2,8;31-03-14
Rosneft;Russia;45.973,8;Oil & gas producers;92.628,5;248.900;213;122;4,3;7,9;3,2;31-12-14
Schneider Electric;France;45.418,5;Electronic & electrical equipment;30.156,0;185.965;214;189;77,7;19,0;3,0;31-12-14
AMX;Mexico;45.373,1;Mobile telecommunications;57.512,2;189.935;215;216;1,0;20,6;1,9;31-12-14
A P Moller - Maersk;Denmark;45.292,4;Industrial transportation;43.627,0;89.207;216;185;2.090,3;9,9;15,3;31-12-14
Regeneron Pharmaceuticals;US;45.008,9;Pharmaceuticals & biotechnology;2.819,6;2.925;217;364;451,5;;;31-12-14
Bank of New York Mellon;US;44.853,0;Financial services;N/R;50.300;218;250;40,2;18,7;1,6;31-12-14
General Dynamics;US;44.815,8;Aerospace & defence;30.852,0;99.500;219;272;135,7;18,3;1,8;31-12-14
EDF;France;44.625,9;Electricity;88.118,5;148.024;220;111;24,0;10,0;6,3;31-12-14
ASML Holding;Netherlands;44.616,4;Technology hardware & equipment;7.081,4;14.072;221;242;101,8;30,8;0,8;31-12-14
Air Liquide;France;44.391,6;Chemicals;18.571,1;50.300;222;235;128,7;21,9;2,4;31-12-14
Sun Hung Kai Properties;Hong Kong;44.303,3;Real estate investment & services;N/R;37.000;223;320;15,4;9,6;2,8;30-06-14
Saic Motor;China;44.211,8;Automobiles & parts;101.101,7;151.820;224;456;4,0;9,8;5,2;31-12-14
Liberty Global;US;44.101,9;Media;18.248,3;38.000;225;259;51,5;;;31-12-14
Las Vegas Sands;US;43.950,0;Travel & leisure;14.583,9;48.500;226;133;55,0;15,6;3,6;31-12-14
Heineken;Netherlands;43.939,5;Beverages;23.285,4;76.136;227;249;76,3;23,9;1,7;31-12-14
Walmex;Mexico;43.787,7;General retailers;29.899,0;229.946;228;238;2,5;25,0;3,6;31-12-14
Jardine Matheson;Hong Kong;43.661,8;General industrials;39.930,3;110.000;229;233;63,2;13,7;2,3;31-12-14
Salesforce.com;US;43.466,6;Software & computer services;5.373,6;16.000;230;295;66,8;;;31-01-15
Credit Suisse Group;Switzerland;43.320,3;Banks;N/R;45.800;231;186;27,0;25,0;2,6;31-12-14
Capital One Financial;US;43.308,3;Financial services;N/R;46.000;232;225;78,8;10,4;1,5;31-12-14
Danone;France;43.296,0;Food producers;25.567,1;99.927;233;223;67,3;29,5;2,7;31-12-14
Bradesco;Brazil;43.225,9;Banks;N/R;95.520;234;151;9,3;6,1;5,8;31-12-14
Mizuho Financial Group;Japan;43.161,3;Banks;N/R;54.911;235;205;1,8;6,5;3,4;31-03-14
Hon Hai Precision Industry;Taiwan;43.045,7;Electronic & electrical equipment;133.178,4;1.290.000;236;276;2,9;10,5;;31-12-14
DirecTV;US;42.788,4;Media;33.260,0;32.150;237;262;85,1;15,8;;31-12-14
Reliance Industries;India;42.707,3;Oil & gas producers;72.381,0;23.853;238;194;13,2;10,3;1,2;31-03-14
Anadarko Petroleum;US;42.686,7;Oil & gas producers;16.375,0;6.100;239;230;82,8;;1,2;31-12-14
Citic;Hong Kong;42.656,3;General industrials;51.858,0;125.273;240;;1,7;8,2;1,8;31-12-14
Phillips 66;US;42.626,9;Oil & gas producers;161.212,0;14.000;241;228;78,6;9,4;2,4;31-12-14
Orange;France;42.572,4;Fixed line telecommunications;47.696,5;156.000;242;257;16,1;37,4;4,5;31-12-14
Enel;Italy;42.536,3;Electricity;88.667,5;68.961;243;178;4,5;64,6;3,8;31-12-14
Suncor Energy;Canada;42.231,9;Oil & gas producers;34.304,8;13.980;244;188;29,2;18,4;3,0;31-12-14
Time Warner Cable;US;42.101,3;Media;22.812,0;55.170;245;269;149,9;21,1;2,0;31-12-14
Imperial Tobacco;UK;42.098,3;Tobacco;22.199,4;33.900;246;263;44,0;18,3;4,7;30-09-14
Richemont;Switzerland;42.081,6;Personal goods;14.761,6;29.101;247;198;80,6;15,7;2,0;31-03-14
BG Group;UK;42.019,4;Oil & gas producers;18.254,5;5.143;248;136;12,3;;2,3;31-12-14
Oil & Natural Gas;India;41.881,2;Oil & gas producers;29.067,9;33.988;249;219;4,9;9,4;3,3;31-03-14
LyondellBasell Industries;US;41.880,4;Chemicals;41.766,3;13.100;250;203;87,8;11,9;3,0;31-12-14
ITC;India;41.735,5;Tobacco;5.883,8;25.917;251;208;5,2;27,4;1,9;31-03-14
Dominion Resources;US;41.698,2;Electricity;12.436,0;14.400;252;244;70,9;31,6;3,4;31-12-14
Yahoo;US;41.596,5;Software & computer services;4.618,1;12.500;253;282;44,4;6,0;;31-12-14
Shenwan Hongyuan;China;41.361,9;Financial services;N/R;;254;;2,8;;;31-12-14
Ericsson;Sweden;41.336,0;Technology hardware & equipment;29.238,8;118.055;255;227;12,6;27,3;3,4;31-12-14
China Communications Construction;China;41.271,6;Construction & materials;58.980,4;103.357;256;;1,4;10,1;2,1;31-12-14
Wellpoint;US;41.194,6;Health care equipment & services;73.923,1;51.500;257;387;154,4;17,2;1,1;31-12-14
Iberdrola;Spain;41.179,6;Electricity;36.314,8;28.212;258;224;6,4;14,6;5,1;31-12-14
Fast Retailing;Japan;41.124,8;General retailers;13.290,0;30.448;259;264;387,7;55,1;0,7;31-08-14
Enbridge;Canada;41.075,4;Oil equipment & services;32.393,5;8.882;260;270;48,2;39,2;2,5;31-12-14
HDFC Bank;India;40.961,0;Banks;N/R;68.165;261;355;16,3;26,8;0,7;31-03-14
Infosys Technologies;India;40.710,5;Software & computer services;8.352,2;160.405;262;338;35,5;22,7;0,7;31-03-14
Automatic Data Processing;US;40.692,0;Support services;12.206,5;61.000;263;274;85,6;27,3;2,2;30-06-14
Denso;Japan;40.419,8;Automobiles & parts;39.689,5;139.842;264;234;45,7;13,1;2,2;31-03-14
Southern;US;40.289,4;Electricity;18.467,0;26.369;265;261;44,3;20,3;4,7;31-12-14
Standard Chartered;UK;40.139,6;Banks;N/R;90.940;266;192;16,2;16,7;5,2;31-12-14
Charles Schwab;US;39.967,8;Financial services;N/R;14.600;267;289;30,4;31,7;0,8;31-12-14
Unicredit;Italy;39.859,9;Banks;N/R;129.021;268;179;6,8;16,2;2,2;31-12-14
Hyundai Motor;South Korea;39.832,1;Automobiles & parts;81.580,3;65.340;269;150;151,9;6,2;1,8;31-12-14
American Tower;US;39.783,9;Real estate investment trusts;N/R;2.974;270;329;94,2;47,1;1,5;31-12-14
Lukoil;Russia;39.581,6;Oil & gas producers;81.537,4;;271;206;46,5;11,5;5,5;31-12-14
Takeda Pharmaceutical;Japan;39.511,9;Pharmaceuticals & biotechnology;16.392,6;31.225;272;271;50,0;38,2;3,5;31-03-14
Petrobras;Brazil;39.362,6;Oil & gas producers;143.351,0;86.111;273;90;3,0;;;31-12-14
Jardine Strategic;Hong Kong;39.220,3;General industrials;32.243,5;;274;248;35,0;11,6;0,8;31-12-14
China Railway Group;China;39.130,2;Construction & materials;95.093,5;293.592;275;;1,0;12,8;1,0;31-12-14
Kimberly-Clark;US;39.116,6;Personal goods;19.724,0;43.000;276;239;107,1;26,5;3,1;31-12-14
Societe Generale;France;38.888,3;Banks;N/R;148.322;277;200;48,3;13,7;3,0;31-12-14
Emerson Electric;US;38.796,1;Electronic & electrical equipment;24.537,0;115.100;278;209;56,6;18,7;3,0;30-09-14
Bank of Montreal;Canada;38.775,5;Banks;N/R;47.000;279;231;59,9;10,5;4,6;31-10-14
Atlas Copco;Sweden;38.718,3;Industrial engineering;12.019,7;44.056;280;294;29,6;23,1;2,6;31-12-14
Cognizant Technology Solutions;US;38.034,0;Software & computer services;10.262,7;211.500;281;348;62,4;26,5;;31-12-14
Deutsche Post;Germany;37.852,2;Industrial transportation;68.476,4;488.824;282;221;31,3;15,1;3,3;31-12-14
Credit Agricole;France;37.837,6;Banks;N/R;72.567;283;254;14,7;14,5;2,9;31-12-14
Williams Cos.;US;37.836,1;Oil equipment & services;7.637,0;6.742;284;395;50,6;17,3;3,9;31-12-14
Linde;Germany;37.787,2;Chemicals;20.613,1;65.591;285;275;203,4;28,3;1,9;31-12-14
Wesfarmers;Australia;37.740,1;General retailers;56.774,8;203.000;286;229;33,6;14,9;5,5;30-06-14
Boc Hong Kong;Hong Kong;37.706,1;Banks;N/R;14.926;287;352;3,6;11,9;3,9;31-12-14
Kroger;US;37.664,9;Food & drug retailers;108.465,0;400.000;288;498;76,7;22,0;0,9;31-01-15
Hanergy Thin Film Power Group;Hong Kong;37.504,2;Alternative energy;1.240,1;2.033;289;;0,9;;;31-12-14
Carnival;US/UK;37.364,6;Travel & leisure;15.884,0;94.100;290;363;47,8;30,1;2,1;30-11-14
Central Japan Railway;Japan;37.352,3;Travel & leisure;16.013,2;28.619;291;462;181,3;14,4;0,6;31-03-14
Seven & I Holding;Japan;37.349,9;General retailers;55.304,5;55.364;292;303;42,1;21,6;1,6;28-02-14
Halliburton;US;37.283,6;Oil equipment & services;32.870,0;80.000;293;196;43,9;10,7;1,4;31-12-14
Munich Re;Germany;37.258,2;Nonlife insurance;N/R;43.316;294;255;215,4;9,7;4,4;31-12-14
Hermes International;France;37.233,2;Personal goods;4.980,2;11.718;295;;352,7;35,4;2,7;31-12-14
Baxter International;US;37.231,9;Health care equipment & services;16.671,0;66.000;296;252;68,5;15,0;3,0;31-12-14
Qatar National Bank;Qatar;37.184,6;Banks;N/R;;297;284;53,1;13,0;3,9;31-12-14
Aetna;US;37.147,0;Health care equipment & services;58.003,2;48.800;298;407;106,5;18,8;0,9;31-12-14
China State Construction Engineering;China;37.115,3;Construction & materials;129.852,0;238.079;299;;1,2;10,3;2,4;31-12-14
Astellas Pharma;Japan;37.074,9;Pharmaceuticals & biotechnology;11.045,7;17.649;300;408;16,4;42,1;1,6;31-03-14
Delta Air Lines;US;37.059,3;Travel & leisure;40.362,0;79.655;301;362;45,0;57,6;0,7;31-12-14
Adobe Systems;US;36.989,9;Software & computer services;4.147,1;12.499;302;324;73,9;;;28-11-14
DBS Group;Singapore;36.802,6;Banks;N/R;21.000;303;336;14,8;12,1;3,0;31-12-14
American Airlines;US;36.769,2;Travel & leisure;42.650,0;113.300;304;;52,8;13,4;0,4;31-12-14
Reed Elsevier;Netherlands/UK;36.747,9;Media;9.001,6;28.500;305;313;17,2;25,7;2,4;31-12-14
Reynolds American;US;36.661,0;Tobacco;8.471,0;5.400;306;380;68,9;25,1;3,9;31-12-14
Ace;US;36.495,4;Nonlife insurance;N/R;21.000;307;317;111,5;13,2;2,3;31-12-14
Prudential Financial;US;36.475,5;Life insurance;N/R;48.331;308;260;80,3;24,9;2,7;31-12-14
China Unicom;Hong Kong;36.447,0;Mobile telecommunications;46.146,0;228.270;309;339;1,5;19,0;2,0;31-12-14
Illinois Tool Works;US;36.264,6;Industrial engineering;14.484,0;49.000;310;302;97,1;13,3;1,9;31-12-14
Kweichow Moutai;China;36.096,9;Beverages;4.881,0;17.487;311;429;31,6;14,6;2,2;31-12-14
Swiss RE;Switzerland;35.915,4;Nonlife insurance;N/R;12.224;312;297;96,9;10,3;7,5;31-12-14
BCE;Canada;35.621,4;Fixed line telecommunications;18.108,5;57.234;313;312;42,3;16,5;5,0;31-12-14
Alexion Pharmaceuticals;US;35.032,3;Pharmaceuticals & biotechnology;2.233,7;2.273;314;354;173,3;53,2;;31-12-14
Stryker;US;34.960,6;Health care equipment & services;9.675,0;26.000;315;346;92,3;68,3;1,4;31-12-14
CSR;China;34.953,6;Industrial engineering;19.000,5;88.925;316;;1,3;22,0;;31-12-14
Praxair;US;34.847,0;Chemicals;12.273,0;27.780;317;265;120,7;21,1;2,2;31-12-14
Travelers Cos.;US;34.749,6;Nonlife insurance;N/R;30.200;318;357;108,1;10,1;2,0;31-12-14
Hang Seng Bank;Hong Kong;34.646,2;Banks;N/R;10.192;319;349;18,1;17,8;4,0;31-12-14
Christian Dior;France;34.300,7;Personal goods;42.443,7;117.806;320;293;188,7;17,3;2,2;30-06-14
Haitong Securities;China;34.191,0;Financial services;N/R;7.464;321;;2,4;18,7;1,6;31-12-14
China Everbright Bank;China;34.156,4;Banks;N/R;39.015;322;;0,6;5,5;5,4;31-12-14
Yum! Brands;US;34.116,8;Travel & leisure;13.279,0;537.000;323;318;78,7;33,9;2,0;27-12-14
Public Storage;US;34.058,1;Real estate investment trusts;N/R;5.300;324;369;197,1;37,6;2,8;31-12-14
Ecolab;US;34.010,9;Chemicals;14.280,5;47.000;325;327;114,4;29,1;1,0;31-12-14
Sun Pharmaceutical Industries;India;33.886,6;Pharmaceuticals & biotechnology;2.679,0;14.000;326;;16,4;65,4;0,2;31-03-14
China Railway Construction;China;33.870,3;Construction & materials;92.974,6;249.624;327;;1,5;10,0;1,3;31-12-14
Imperial Oil;Canada;33.829,8;Oil & gas producers;30.015,7;5.500;328;253;39,9;10,3;1,1;31-12-14
Vinci;France;33.764,0;Construction & materials;47.210,4;185.300;329;222;57,2;10,6;3,7;31-12-14
Brookfield Asset Management;Canada;33.761,2;Financial services;N/R;30.000;330;434;53,5;11,7;1,2;31-12-14
General Mills;US;33.738,7;Food producers;17.909,6;43.000;331;334;56,6;20,0;2,7;25-05-14
Norfolk Southern;US;33.618,3;Industrial transportation;11.624,0;29.482;332;353;102,9;16,1;2,2;31-12-14
Vivendi;France;33.604,3;Media;12.199,5;15.000;333;273;24,8;5,8;4,9;31-12-14
Raytheon;US;33.575,0;Aerospace & defence;22.826,0;61.000;334;342;109,3;15,2;2,2;31-12-14
Canadian Natural Resources;Canada;33.486,8;Oil & gas producers;16.233,3;7.657;335;237;30,7;9,9;2,5;31-12-14
Saudi Telecom;Saudi Arabia;33.467,3;Fixed line telecommunications;12.213,5;;336;292;16,7;11,5;5,6;31-12-14
Cigna;US;33.462,6;Health care equipment & services;34.950,0;37.200;337;487;129,4;16,5;0,0;31-12-14
Manulife Financial;Canada;33.457,5;Life insurance;N/R;;338;288;17,0;10,8;2,9;31-12-14
Sands China;Hong Kong;33.405,0;Travel & leisure;9.507,5;;339;152;4,1;12,9;6,3;31-12-14
Keyence;Japan;33.259,2;Electronic & electrical equipment;2.568,0;2.038;340;441;547,0;39,8;0,1;20-03-14
Hitachi;Japan;33.178,3;Electronic & electrical equipment;93.181,0;320.725;341;286;6,9;12,9;1,5;31-03-14
Johnson Controls;US;33.153,9;Automobiles & parts;42.828,0;168.000;342;337;50,4;28,0;1,7;30-09-14
China CNR;China;33.135,7;Industrial engineering;16.738,4;86.762;343;;1,4;18,0;;31-12-14
Associated British Foods;UK;33.118,2;Food producers;21.500,0;118.209;344;280;41,8;26,1;1,3;13-09-14
Housing Development Finance;India;33.106,2;Financial services;N/R;1.956;345;481;21,0;24,7;1,1;31-03-14
CSL;Australia;33.081,3;Pharmaceuticals & biotechnology;5.702,4;12.196;346;341;70,4;25,2;1,7;30-06-14
CSX;US;32.841,5;Industrial transportation;12.669,0;32.000;347;368;33,1;17,3;1,9;26-12-14
Mitsubishi;Japan;32.778,7;Support services;73.984,8;68.383;348;347;20,2;9,5;3,3;31-03-14
Valero Energy;US;32.702,5;Oil & gas producers;130.844,0;10.065;349;385;63,6;9,3;1,7;31-12-14
Bridgestone;Japan;32.652,9;Automobiles & parts;30.677,6;144.632;350;374;40,2;12,6;2,1;31-12-14
Avago Technologies;US;32.581,4;Technology hardware & equipment;4.196,7;8.400;351;;127,0;;1,0;11-02-14
National Commercial Bank;Saudi Arabia;32.550,2;Banks;N/R;;352;;16,3;13,8;1,0;31-12-14
Femsa;Mexico;32.532,9;Beverages;17.861,8;;353;335;9,4;;1,6;31-12-14
Twitter;US;32.443,7;Software & computer services;1.403,0;3.638;354;400;50,1;;;31-12-14
Air Products & Chemicals;US;32.415,4;Chemicals;10.439,0;21.200;355;439;151,3;32,8;2,0;30-09-14
Royal Bank of Scotland;UK;32.374,8;Banks;N/R;108.700;356;328;5,1;;;31-12-14
Mitsubishi Estate;Japan;32.312,2;Real estate investment & services;N/R;7.952;357;321;23,2;51,6;0,5;31-03-14
State Bank of India;India;32.286,9;Banks;N/R;222.033;358;466;4,3;12,6;0,2;31-03-14
Panasonic;Japan;32.257,4;Leisure goods;74.967,1;271.789;359;391;13,2;25,8;1,0;31-03-14
Thomson Reuters;Canada;32.123,2;Media;12.607,0;53.000;360;392;40,5;17,3;3,3;31-12-14
V F;US;32.043,5;Personal goods;12.282,2;59.000;361;405;75,3;31,6;1,5;01-03-15
CME Group;US;31.949,5;Financial services;N/R;2.680;362;444;94,7;28,3;2,0;31-12-14
Northrop Grumman;US;31.935,4;Aerospace & defence;23.979,0;64.300;363;415;161,0;16,5;1,7;31-12-14
Franklin Resources;US;31.912,2;Financial services;N/R;9.300;364;301;51,3;13,5;0,9;30-09-14
Eaton;US;31.763,0;General industrials;22.552,0;102.000;365;287;67,9;18,1;2,9;31-12-14
Syngenta;Switzerland;31.646,3;Chemicals;13.981,8;29.000;366;291;340,5;20,9;3,3;31-12-14
East Japan Railway;Japan;31.630,9;Travel & leisure;26.191,3;73.551;367;365;80,4;16,3;1,5;31-03-14
HCA Holdings;US;31.559,3;Health care equipment & services;36.918,0;225.000;368;477;75,2;18,1;;31-12-14
Pernod-Ricard;France;31.398,5;Beverages;10.883,5;18.308;369;344;118,3;22,4;1,9;30-06-14
MTN Group;South Africa;31.257,1;Mobile telecommunications;12.697,7;;370;267;16,9;11,2;6,4;31-12-14
Sony;Japan;31.109,9;Leisure goods;75.264,8;140.900;371;;26,6;;0,9;31-03-14
Murata Manufacturing;Japan;31.058,9;Electronic & electrical equipment;8.204,7;37.061;372;;137,9;32,2;0,9;31-03-14
Oversea-Chinese Banking;Singapore;30.768,4;Banks;N/R;29.512;373;424;7,7;10,0;3,5;31-12-14
PPG Industries;US;30.763,1;Chemicals;15.360,0;44.400;374;413;225,5;15,0;1,2;31-12-14
Generali;Italy;30.614,7;Nonlife insurance;N/R;78.333;375;296;19,7;15,1;3,7;31-12-14
Luxottica;Italy;30.581,4;Personal goods;9.253,1;77.734;376;396;63,5;38,9;2,7;31-12-14
Investor;Sweden;30.357,7;Financial services;N/R;15.560;377;399;39,9;4,7;2,9;31-12-14
Telenor;Norway;30.349,2;Mobile telecommunications;14.255,1;33.000;378;309;20,2;25,3;4,8;31-12-14
State Street;US;30.315,0;Financial services;N/R;29.970;379;356;73,5;16,1;1,6;31-12-14
Transcanada;Canada;30.304,4;Oil equipment & services;8.765,1;6.059;380;331;42,8;20,1;4,3;31-12-14
Marsh & Mclennan;US;30.199,3;Nonlife insurance;N/R;57.000;381;410;56,1;21,2;1,9;31-12-14
Hindustan Unilever;India;30.199,1;Personal goods;4.870,3;;382;;14,0;45,0;1,6;31-03-14
Fresenius;Germany;30.129,9;Health care equipment & services;28.090,7;216.275;383;489;59,4;24,9;0,9;31-12-14
Swisscom;Switzerland;30.107,2;Fixed line telecommunications;11.773,7;21.125;384;333;581,2;17,7;;31-12-14
Canadian Pacific Railway;Canada;30.095,0;Industrial transportation;5.697,1;14.698;385;418;183,1;24,8;0,7;31-12-14
Becton Dickinson;US;29.983,2;Health care equipment & services;8.446,0;30.619;386;490;143,6;24,0;1,5;30-09-14
Southwest Airlines;US;29.946,5;Travel & leisure;18.605,0;46.278;387;;44,3;27,0;0,5;31-12-14
SK Hynix;South Korea;29.889,1;Technology hardware & equipment;15.652,8;;388;464;41,1;7,7;0,7;31-12-14
China Merchants Securities;China;29.820,2;Financial services;N/R;5.505;389;;5,1;46,6;1,4;31-12-14
E On;Germany;29.817,3;Gas, water & multiutilities;134.892,4;58.503;390;258;14,9;;4,1;31-12-14
Archer Daniels Midland;US;29.811,6;Food producers;81.201,0;33.900;391;382;47,4;13,8;1,8;31-12-14
Cardinal Health;US;29.800,9;Food & drug retailers;91.084,0;34.000;392;465;90,3;26,7;1,4;30-06-14
WPP;UK;29.790,9;Media;17.957,8;179.000;393;398;22,7;15,7;2,6;31-12-14
Precision Castparts;US;29.771,2;Aerospace & defence;9.616,0;29.100;394;279;210,0;17,3;0,1;30-03-14
Deere;US;29.770,4;Industrial engineering;36.066,9;59.600;395;310;87,7;10,2;2,5;31-10-14
China Shipbuilding Industries;China;29.736,0;Industrial engineering;9.896,0;55.779;396;;1,6;;0,6;31-12-14
Allstate;US;29.637,1;Nonlife insurance;N/R;40.200;397;437;71,2;11,4;1,6;31-12-14
Guosen Securities;China;29.336,7;Financial services;N/R;7.174;398;;3,6;32,5;0,8;31-12-14
Hilton Worldwide;US;29.248,1;Travel & leisure;10.502,0;157.000;399;;29,6;43,6;;31-12-14
Micron Technology;US;29.227,5;Technology hardware & equipment;16.358,0;30.400;400;442;27,1;10,7;;28-08-14
ICICI Bank;India;29.225,2;Banks;N/R;;401;463;5,0;15,8;0,4;31-03-14
Mitsui Fudosan;Japan;29.178,5;Real estate investment & services;N/R;16.585;402;411;29,4;34,6;0,7;31-03-14
Tesco;UK;29.163,7;Food & drug retailers;106.460,5;510.444;403;251;3,6;18,0;7,0;22-02-14
Safran;France;29.111,8;Aerospace & defence;18.191,1;68.945;404;373;69,8;;2,1;31-12-14
TE Connectivity;US;29.093,5;Electronic & electrical equipment;13.912,0;83.000;405;448;71,6;16,8;1,5;26-09-14
Ping An Bank;China;29.024,8;Banks;N/R;35.069;406;;2,5;11,0;0,8;31-12-14
Mylan;US;28.985,9;Pharmaceuticals & biotechnology;7.719,6;25.000;407;;59,4;23,8;;31-12-14
China Yangtze Power;China;28.983,3;Electricity;4.264,0;8.087;408;;1,8;14,7;3,4;31-12-14
Compass Group;UK;28.945,6;Travel & leisure;27.646,8;514.718;409;406;17,4;22,0;2,5;30-09-14
Exelon;US;28.937,8;Electricity;27.429,0;28.993;410;377;33,6;17,9;3,7;31-12-14
Great West Lifeco;Canada;28.818,4;Life insurance;N/R;;411;397;28,9;13,1;3,7;31-12-14
CIBC;Canada;28.795,6;Banks;N/R;44.000;412;299;72,5;10,4;4,8;31-10-14
Corning;US;28.776,4;Technology hardware & equipment;9.715,0;34.600;413;371;22,7;13,1;1,8;31-12-14
Tokio Marine;Japan;28.668,1;Nonlife insurance;N/R;33.310;414;480;37,8;16,2;1,8;31-03-14
Hong Kong Exchanges & Clearing;Hong Kong;28.631,1;Financial services;N/R;1.420;415;;24,5;43,0;2,1;31-12-14
Vertex Pharmaceuticals;US;28.559,2;Pharmaceuticals & biotechnology;580,4;1.830;416;;118,0;;;31-12-14
Woolworths;Australia;28.458,1;Food & drug retailers;57.502,3;198.000;417;241;22,5;12,2;5,7;29-06-14
PTT;Thailand;28.352,3;Oil & gas producers;86.147,5;;418;419;9,9;16,8;3,3;31-12-14
Mcgraw Hill Financial;US;28.340,3;Financial services;N/R;17.000;419;;103,4;;1,2;31-12-14
Equity Residential Trust Properties;US;28.325,3;Real estate investment trusts;N/R;3.500;420;;77,9;46,9;2,6;31-12-14
Mmc Norilsk Nickel;Russia;28.310,2;Industrial metals & mining;7.708,9;81.855;421;417;178,9;18,2;13,3;31-12-14
Shin-Etsu Chemical;Japan;28.284,6;Chemicals;11.296,8;17.892;422;446;65,5;25,3;1,5;31-03-14
Sampo;Finland;28.218,1;Nonlife insurance;N/R;6.739;423;370;50,5;15,2;4,7;31-12-14
Svenska Handelsbanken;Sweden;28.164,8;Banks;N/R;11.692;424;340;45,1;14,8;5,0;31-12-14
BB&T;US;28.106,1;Banks;N/R;33.400;425;381;39,0;14,2;2,4;31-12-14
Nokia;Finland;28.086,1;Technology hardware & equipment;15.395,4;61.656;426;393;7,6;20,1;2,2;31-12-14
Aflac;US;28.062,4;Life insurance;N/R;9.235;427;379;64,0;9,8;2,3;31-12-14
Marathon Petroleum;US;27.951,0;Oil & gas producers;97.928,0;45.340;428;435;102,4;11,7;1,8;31-12-14
Vale;Brazil;27.857,6;Mining;33.210,7;;429;118;5,6;;12,7;31-12-14
CBS;US;27.856,2;Media;13.806,0;17.310;430;300;60,6;11,5;0,9;31-12-14
MTR;Hong Kong;27.762,1;Travel & leisure;5.178,9;24.154;431;;4,8;13,6;2,9;31-12-14
Viacom;US;27.734,8;Media;13.783,0;9.900;432;124;68,3;12,6;1,8;30-09-14
Applied Materials;US;27.719,4;Technology hardware & equipment;9.072,0;14.000;433;447;22,6;25,9;1,8;26-10-14
Bank Central Asia;Indonesia;27.675,4;Banks;N/R;23.106;434;485;1,1;22,6;0,9;31-12-14
Baker Hughes;US;27.629,6;Oil equipment & services;24.551,0;62.000;435;383;63,6;16,2;1,0;31-12-14
Oriental Land;Japan;27.581,9;Travel & leisure;4.588,9;4.348;436;;75,8;37,0;0,1;31-03-14
L Brands;US;27.569,8;General retailers;11.454,1;80.100;437;;94,3;26,9;1,4;31-01-15
Crown Castle International;US;27.557,4;Real estate investment trusts;N/R;2.200;438;450;82,5;79,4;2,3;31-12-14
American Electric Power;US;27.541,2;Electricity;17.020,0;18.529;439;449;56,3;16,8;3,6;31-12-14
TeliaSonera;Sweden;27.514,7;Mobile telecommunications;12.960,9;26.166;440;326;6,4;14,8;6,0;31-12-14
Surgutneftegas;Russia;27.469,4;Oil & gas producers;15.344,6;118.000;441;332;0,6;1,6;;31-12-14
CaixaBank;Spain;27.350,6;Banks;N/R;31.210;442;325;4,7;36,5;4,6;31-12-14
Linkedin;US;27.299,2;Support services;2.218,8;6.897;443;;249,9;;;31-12-14
Huatai Securities;China;27.197,9;Financial services;N/R;6.421;444;;4,9;37,4;1,6;31-12-14
Health Care Reit;US;27.084,0;Real estate investment trusts;N/R;438;445;;77,4;54,1;4,1;31-12-14
United Overseas Bank;Singapore;27.071,8;Banks;N/R;25.009;446;402;16,8;11,3;3,2;31-12-14
Swedbank;Sweden;27.052,9;Banks;N/R;14.583;447;351;23,9;12,5;6,1;31-12-14
Sherwin-Williams;US;27.047,0;Construction & materials;11.129,5;39.674;448;;284,5;32,4;0,8;31-12-14
Emirates Telecom.;UAE;27.014,7;Mobile telecommunications;13.277,3;;449;428;3,4;12,2;4,7;31-12-14
Cielo;Brazil;26.971,1;Financial services;N/R;;450;440;14,3;19,3;1,2;31-12-14
Sempra Energy;US;26.964,9;Gas, water & multiutilities;11.018,0;17.046;451;472;109,0;23,5;2,4;31-12-14
Aon;US;26.937,7;Nonlife insurance;N/R;69.000;452;436;96,1;20,6;1,0;31-12-14
Renault;France;26.922,5;Automobiles & parts;49.643,3;117.395;453;378;91,0;10,9;2,5;31-12-14
Altice;Netherlands;26.855,2;Fixed line telecommunications;4.757,6;9.363;454;;108,3;;;31-12-14
Intuit;US;26.831,3;Software & computer services;4.506,0;8.000;455;500;97,0;31,1;0,8;31-07-14
Potash Corporation of Saskatchewan;Canada;26.813,3;Chemicals;6.783,5;5.136;456;345;32,2;18,4;4,2;31-12-14
Illumina;US;26.695,0;Pharmaceuticals & biotechnology;1.861,4;3.700;457;;185,6;78,3;;28-12-14
GF Securities;China;26.638,5;Financial services;N/R;9.276;458;;4,5;32,1;0,7;31-12-14
Humana;US;26.636,8;Health care equipment & services;48.500,0;57.000;459;;178,0;24,2;0,6;31-12-14
Korea Electric Power;South Korea;26.617,1;Electricity;52.532,0;20.223;460;;41,5;10,6;1,1;31-12-14
Tata Motors;India;26.614,0;Industrial engineering;38.790,1;66.593;461;;8,8;12,2;0,3;31-03-14
Danske Bank;Denmark;26.607,4;Banks;N/R;18.478;462;388;26,4;45,5;3,4;31-12-14
Astra International;Indonesia;26.550,4;Automobiles & parts;16.277,3;156.097;463;421;0,7;16,5;3,0;31-12-14
Numericable SFR;France;26.534,7;Media;2.623,9;11.800;464;;54,5;;;31-12-14
Philips Electronics;Netherlands;26.529,6;General industrials;25.865,8;105.365;465;322;28,4;51,6;3,4;31-12-14
Daqin Railway;China;26.450,2;Industrial transportation;8.759,9;102.503;466;;1,8;11,9;4,5;31-12-14
Unibail-Rodamco;France;26.442,8;Real estate investment trusts;N/R;2.089;467;438;269,6;13,0;4,3;31-12-14
China Overseas Land & Investments;Hong Kong;26.410,0;Real estate investment & services;N/R;25.705;468;;3,2;7,3;2,2;31-12-14
DNB;Norway;26.213,2;Banks;N/R;12.064;469;384;16,1;9,5;3,2;31-12-14
General Growth Properties;US;26.164,7;Real estate investment trusts;N/R;1.800;470;;29,6;42,8;2,1;31-12-14
Rolls-Royce;UK;26.145,4;Aerospace & defence;21.395,6;54.100;471;307;14,2;;;31-12-14
Intercontinental Exchange;US;26.128,3;Financial services;N/R;2.902;472;486;233,3;27,3;1,1;31-12-14
Fuji Heavy Industries;Japan;26.053,1;Automobiles & parts;23.334,8;28.545;473;;33,3;12,9;1,4;31-03-14
Broadcom;US;25.931,0;Technology hardware & equipment;8.428,0;10.650;474;;43,3;40,1;1,1;31-12-14
Firstrand;South Africa;25.852,3;Banks;N/R;38.542;475;;4,6;14,4;3,5;30-06-14
United Continental;US;25.839,2;Travel & leisure;38.901,0;84.000;476;;67,3;23,0;;31-12-14
KBC Group;Belgium;25.826,0;Banks;N/R;36.258;477;431;61,8;15,4;3,9;31-12-14
Fresenius Medical Care;Germany;25.800,0;Health care equipment & services;14.498,1;99.895;478;;82,9;26,2;1,1;31-12-14
Volvo;Sweden;25.764,8;Industrial engineering;36.288,1;92.822;479;304;12,1;;3,1;31-12-14
T-Mobile US;US;25.598,5;Mobile telecommunications;29.564,0;45.000;480;416;31,7;;;31-12-14
Repsol;Spain;25.592,9;Oil & gas producers;57.104,0;24.289;481;305;18,6;13,1;6,1;31-12-14
Mitsubishi Electric;Japan;25.576,6;Industrial engineering;39.286,7;124.305;482;461;11,9;17,3;1,4;31-03-14
Larsen & Toubro;India;25.543,1;Construction & materials;14.182,4;54.579;483;;27,5;30,9;0,9;31-03-14
SEB;Sweden;25.388,8;Banks;N/R;15.714;484;360;11,7;10,4;5,2;31-12-14
PG&E;US;25.370,9;Electricity;17.090,0;22.581;485;;53,1;17,3;3,4;31-12-14
Sky;UK;25.340,2;Media;13.046,1;497;486;468;14,7;15,5;3,7;30-06-14
Synchrony Financial;US;25.304,8;Financial services;N/R;11.000;487;;30,4;10,9;;31-12-14
NXP Semiconductors;US;25.265,7;Technology hardware & equipment;5.171,3;27.884;488;;100,4;48,3;;31-12-14
Kao;Japan;25.215,8;Personal goods;11.704,3;32.707;489;;50,0;38,5;1,2;31-12-14
Netflix;US;25.208,9;General retailers;5.504,7;2.450;490;;416,7;;;31-12-14
Discover Financial Services;US;25.139,7;Financial services;N/R;14.676;491;403;56,4;11,5;1,6;31-12-14
Cummins;US;25.136,3;Industrial engineering;19.221,0;54.600;492;401;138,6;15,4;2,0;31-12-14
Bharti Airtel;India;25.122,2;Mobile telecommunications;14.304,9;24.893;493;;6,3;52,3;1,0;31-03-14
Cerner;US;25.098,0;Software & computer services;3.402,7;15.800;494;;73,3;48,8;;01-03-15
Amerisourcebergen;US;24.962,5;Food & drug retailers;119.569,1;13.000;495;;113,7;;0,8;30-09-14
Al Rajhi Bank;Saudi Arabia;24.896,2;Banks;N/R;12.542;496;358;15,3;13,7;3,1;31-12-14
Waste Management;US;24.815,1;Support services;13.996,0;39.800;497;;54,2;;2,8;31-12-14
Bank Rakyat Indonesia;Indonesia;24.796,0;Banks;N/R;48.814;498;;1,0;12,8;2,0;31-12-14
China Vanke;China;24.794,0;Real estate investment & services;N/R;40.467;499;;2,2;9,7;3,6;31-12-14
Devon Energy;US;24.793,4;Oil & gas producers;17.555,0;6.600;500;404;60,3;15,4;1,6;31-12-14
Apple;US;724773.10;Technology hardware & equipment;182795.00;92600.00;1;1
Exxon Mobil;US;356548.70;Oil & gas producers;364763.00;75300.00;2;2
Berkshire Hathaway;US;356510.70;Nonlife insurance;0.00;316000.00;3;5
Google;US;345849.20;Software & computer services;66001.00;53600.00;4;4
Microsoft;US;333524.80;Software & computer services;868.33;128000.00;5;3
PetroChina;China;329715.10;Oil & gas producers;367853.70;534652.00;6;16
Wells Fargo;US;279919.70;Banks;0.00;264500.00;7;7
Johnson & Johnson;US;279723.90;Pharmaceuticals & biotechnology;74331.00;126500.00;8;6
Industrial & Commercial Bank of China;China;275389.10;Banks;0.00;462282.00;9;21
Novartis;Switzerland;267897.00;Pharmaceuticals & biotechnology;49550.70;133413.00;10;14
China Mobile;Hong Kong;267252.30;Mobile telecommunications;103977.00;241550.00;11;25
Wal-Mart Stores;US;265107.30;General retailers;485651.00;2200000.00;12;10
General Electric;US;249774.40;General industrials;148589.00;305000.00;13;8
Nestle;Switzerland;243701.80;Food producers;92165.30;339000.00;14;11
Toyota Motor;Japan;238924.80;Automobiles & parts;248954.60;338875.00;15;23
Roche;Switzerland;237747.60;Pharmaceuticals & biotechnology;47748.70;88509.00;16;9
JP Morgan Chase;US;225861.10;Banks;0.00;241359.00;17;13
Procter & Gamble;US;221279.60;Household goods & home construction;83062.00;118000.00;18;17
Samsung Electronics;South Korea;214039.70;Leisure goods;188475.90;99927.00;19;18
Pfizer;US;213621.90;Pharmaceuticals & biotechnology;49605.00;78300.00;20;19
China Construction Bank;China;209139.80;Banks;0.00;493583.00;21;29
Verizon Communications;US;198035.30;Fixed line telecommunications;127079.00;177300.00;22;22
Chevron;US;197381.30;Oil & gas producers;191755.00;64700.00;23;15
Bank of China;China;197225.60;Banks;0.00;308128.00;24;52
Anheuser-Busch InBev;Belgium;196554.30;Beverages;43098.80;154029.00;25;32
Royal Dutch Shell;UK;192134.90;Oil & gas producers;385634.50;94000.00;26;12
Agricultural Bank of China;China;189297.40;Banks;0.00;493583.00;27;38
Oracle;US;188438.80;Software & computer services;38275.00;122000.00;28;27
Facebook;US;183860.10;Software & computer services;12466.00;9199.00;29;49
Walt Disney;US;178267.10;Media;48813.00;180000.00;30;39
Tencent;Hong Kong;177960.60;Software & computer services;12718.30;27690.00;31;42
Coca-Cola;US;177142.30;Beverages;46052.00;129200.00;32;31
Amazon.com;US;172797.30;General retailers;88988.00;154100.00;33;35
AT&T;US;169458.80;Fixed line telecommunications;132447.00;253000.00;34;26
HSBC;UK;164249.60;Banks;0.00;257603.00;35;24
Merck;US;163139.30;Pharmaceuticals & biotechnology;42237.00;70000.00;36;33
Bank of America;US;161908.80;Banks;0.00;224000.00;37;28
IBM;US;158642.00;Software & computer services;92793.00;379592.00;38;20
China Life Insurance;China;157029.70;Life insurance;0.00;103123.00;39;131
Citigroup;US;156359.80;Banks;0.00;241000.00;40;37
Home Depot;US;148533.10;General retailers;83176.00;371000.00;41;59
Intel;US;148094.70;Technology hardware & equipment;55870.00;106700.00;42;46
Gilead Sciences;US;145532.90;Pharmaceuticals & biotechnology;24890.00;7000.00;43;60
Comcast;US;142798.50;Media;68775.00;139000.00;44;44
PepsiCo;US;141742.70;Beverages;66683.00;271000.00;45;47
Cisco Systems;US;140507.80;Technology hardware & equipment;47142.00;74042.00;46;56
Sanofi;France;130260.00;Pharmaceuticals & biotechnology;41244.30;113496.00;47;40
Visa;US;128455.30;Financial services;0.00;7000.00;48;61
Volkswagen;Germany;124335.30;Automobiles & parts;244810.20;592586.00;49;50
Bayer;Germany;124157.70;Chemicals;51075.00;118888.00;50;57
BHP Billiton;Australia/UK;122335.40;Mining;69372.10;47044.00;51;30
Amgen;US;121303.90;Pharmaceuticals & biotechnology;20063.00;17900.00;52;80
Taiwan Semiconductor Manufacturing;Taiwan;120577.10;Technology hardware & equipment;24112.30;43591.00;53;67
Actavis;US;120536.10;Pharmaceuticals & biotechnology;13062.30;21600.00;54;285
Sinopec;China;119104.80;Oil & gas producers;433310.20;358571.00;55;74
Unilever;Netherlands/UK;118902.50;Personal goods;58568.30;173000.00;56;51
Total;France;118541.90;Oil & gas producers;194159.30;100307.00;57;34
BP;UK;118345.60;Oil & gas producers;334605.90;84500.00;58;36
CVS Caremark;US;117170.80;Food & drug retailers;139367.00;217800.00;59;88
Philip Morris International;US;116693.10;Tobacco;29767.00;82500.00;60;43
Commonwealth Bank of Australia;Australia;115688.20;Banks;0.00;44329.00;61;55
Qualcomm;US;114380.50;Technology hardware & equipment;26487.00;31300.00;62;41
Ping An Insurance;China;113119.00;Life insurance;0.00;235999.00;63;172
Novo Nordisk;Denmark;112977.60;Pharmaceuticals & biotechnology;14428.30;40957.00;64;68
UnitedHealth Group;US;112812.60;Health care equipment & services;130474.00;170000.00;65;100
GlaxoSmithKline;UK;111649.60;Pharmaceuticals & biotechnology;35834.80;98702.00;66;45
Medtronic;US;111140.90;Health care equipment & services;17005.00;49000.00;67;144
Bristol Myers Squibb;US;107500.10;Pharmaceuticals & biotechnology;15879.00;25000.00;68;93
Schlumberger;US;106628.40;Oil equipment & services;48631.00;120000.00;69;48
United Technologies;US;106470.30;Aerospace & defence;65100.00;211000.00;70;62
Banco Santander;Spain;105960.30;Banks;0.00;185405.00;71;58
Boeing;US;105032.20;Aerospace & defence;90762.00;165500.00;72;81
3M;US;104795.40;General industrials;31821.00;89800.00;73;87
Daimler;Germany;103741.00;Automobiles & parts;157039.90;279972.00;74;66
L'Oreal;France;103279.40;Personal goods;27245.50;78611.00;75;71
Inditex;Spain;100013.20;General retailers;22539.10;128313.00;76;79
Biogen Idec;US;99063.50;Pharmaceuticals & biotechnology;9703.30;7550.00;77;115
Altria Group;US;98505.20;Tobacco;17945.00;9000.00;78;109
British American Tobacco;UK;96536.70;Tobacco;21761.70;90118.00;79;63
Mastercard;US;96001.80;Financial services;0.00;10300.00;80;95
Union Pacific;US;95451.80;Industrial transportation;23988.00;47201.00;81;94
Westpac Banking;Australia;93870.40;Banks;0.00;36373.00;82;70
McDonald's;US;93651.40;Travel & leisure;27441.30;420000.00;83;73
Abbvie;US;93204.10;Pharmaceuticals & biotechnology;19960.00;26000.00;84;97
Walgreen;US;92298.90;Food & drug retailers;76392.00;251000.00;85;138
Celgene;US;92292.00;Pharmaceuticals & biotechnology;7670.40;6012.00;86;166
Basf;Germany;91489.50;Chemicals;89874.30;113292.00;87;65
Ambev;Brazil;90732.60;Beverages;14326.40;51871.00;88;54
Kinder Morgan;US;90622.50;Oil equipment & services;16190.00;11535.00;89;314
Siemens;Germany;90196.50;General industrials;90808.40;343000.00;90;53
LVMH;France;89497.40;Personal goods;37047.20;121289.00;91;82
SAP;Germany;88793.30;Software & computer services;21233.40;74406.00;92;69
Mitsubishi UFJ Financial;Japan;87866.40;Banks;0.00;106141.00;93;104
Royal Bank Canada;Canada;86842.80;Banks;0.00;78000.00;94;77
AstraZeneca;UK;86763.10;Pharmaceuticals & biotechnology;24695.50;57500.00;95;98
Vodafone Group;UK;86760.20;Mobile telecommunications;63910.10;92812.00;96;72
SabMiller;UK;84939.60;Beverages;17430.10;69947.00;97;101
Deutsche Telekom;Germany;83314.00;Mobile telecommunications;75765.40;227811.00;98;116
Lloyds Banking Group;UK;82941.00;Banks;0.00;84490.00;99;89
Goldman Sachs;US;81883.60;Financial services;0.00;34000.00;100;110
Honeywell International;US;81427.30;General industrials;40306.00;127000.00;101;113
Eli Lilly;US;80714.40;Pharmaceuticals & biotechnology;19615.60;39135.00;102;132
BMW;Germany;80263.30;Automobiles & parts;97220.10;116324.00;103;99
Tata Consultancy Services;India;79935.90;Software & computer services;13629.40;300464.00;104;125
American Express;US;79617.90;Financial services;0.00;54000.00;105;76
Allianz;Germany;79417.80;Nonlife insurance;0.00;147425.00;106;106
Toronto-Dominion Bank;Canada;79165.70;Banks;0.00;81137.00;107;91
US Bancorp;US;77784.50;Banks;0.00;66750.00;108;103
ANZ Banking;Australia;77424.40;Banks;0.00;50328.00;109;96
Rio Tinto;Australia/UK;77074.50;Mining;45107.70;59775.00;110;64
ConocoPhillips;US;76670.70;Oil & gas producers;52464.00;19100.00;111;92
AIA Group;Hong Kong;75815.80;Life insurance;0.00;20000.00;112;165
BNP Paribas;France;75696.80;Banks;0.00;187903.00;113;75
American International Group;US;74183.90;Nonlife insurance;0.00;65000.00;114;114
Lowe's Companies;US;71414.30;General retailers;56223.00;266000.00;115;199
National Australia Bank;Australia;71303.90;Banks;0.00;42853.00;116;107
Twenty-First Century Fox;US;71181.80;Media;31867.00;27000.00;117;120
NTT DoCoMo;Japan;71051.70;Mobile telecommunications;43229.10;23890.00;118;127
Starbucks;US;71006.00;Travel & leisure;16447.80;191000.00;119;170
Morgan Stanley;US;70545.30;Financial services;0.00;55802.00;120;146
UBS;Switzerland;70519.70;Banks;0.00;60155.00;121;102
Bank of Communications;China;70487.00;Banks;0.00;93658.00;122;210
Telefonica;Spain;70326.60;Fixed line telecommunications;60915.40;123700.00;123;117
Time Warner;US;70129.30;Media;27359.00;25600.00;124;162
Nippon Telegraph & Telephone;Japan;70111.70;Fixed line telecommunications;105864.90;239756.00;125;143
eBay;US;69945.60;General retailers;17902.00;34600.00;126;119
Abbott Laboratories;US;69910.90;Pharmaceuticals & biotechnology;20247.00;77000.00;127;157
Softbank;Japan;69882.10;Mobile telecommunications;64599.90;70336.00;128;85
Diageo;UK;69404.90;Beverages;17535.00;26588.00;129;105
Nike;US;68620.70;Personal goods;27799.00;56500.00;130;182
United Parcel Service;US;68085.10;Industrial transportation;58232.00;270000.00;131;126
Valeant Pharmaceuticals International;Canada;67339.00;Pharmaceuticals & biotechnology;7878.50;16800.00;132;226
Costco Wholesale;US;66653.90;General retailers;112640.00;195000.00;133;201
E I Du Pont de Nemours;US;64709.90;Chemicals;34906.00;63000.00;134;145
Naspers;South Africa;64697.60;Media;5955.40;22557.00;135;215
Lockheed Martin;US;64192.50;Aerospace & defence;45600.00;112000.00;136;183
Saudi Basic Industries;Saudi Arabia;63940.80;Chemicals;50138.40;40000.00;137;78
BBVA;Spain;63794.00;Banks;0.00;109239.00;138;121
Prudential;UK;63738.00;Life insurance;0.00;23047.00;139;175
Japan Tobacco;Japan;63381.30;Tobacco;23980.80;51341.00;140;139
Express Scripts;US;63237.30;Health care equipment & services;100887.10;29500.00;141;163
CNOOC;Hong Kong;63115.30;Oil & gas producers;44517.40;21046.00;142;129
China Merchants Bank;China;63023.80;Banks;0.00;75109.00;143;245
Ford Motor;US;63010.70;Automobiles & parts;144077.00;187000.00;144;148
Eni;Italy;62954.90;Oil & gas producers;132825.90;84405.00;145;84
Colgate-Palmolive;US;62880.00;Personal goods;17277.00;37700.00;146;156
China Shenhua Energy;China;62119.20;Mining;40018.30;92738.00;147;212
Reckitt Benckiser;UK;61656.40;Household goods & home construction;13763.20;37200.00;148;160
Axa;France;61520.40;Nonlife insurance;0.00;96279.00;149;140
Simon Property Group;US;61493.90;Real estate investment trusts;0.00;5250.00;150;187

View File

@@ -6,6 +6,16 @@
using namespace std;
void getfloat(ifstream& s, float& f, const char sep) {
s >> f;
s.ignore();
}
void getint(ifstream& s, int& f, const char sep) {
s >> f;
s.ignore();
}
/*void getfloat(ifstream& s, float& f, const char sep) {
string tmp;
getline(s, tmp, sep);
@@ -23,9 +33,9 @@ void getfloat(ifstream& s, float& f, const char sep) {
}
f = stof(tmp);
}
}*/
void getint(ifstream& s, int& f, const char sep) {
/*void getint(ifstream& s, int& f, const char sep) {
string tmp;
getline(s, tmp, sep);
@@ -34,4 +44,4 @@ void getint(ifstream& s, int& f, const char sep) {
return;
f = stoi(tmp);
}
}*/

View File

@@ -1,9 +1,21 @@
#pragma once
#include <fstream>
#include <iomanip>
#include <iostream>
using namespace std;
void getfloat(ifstream& s, float& f, const char sep);
void getint(ifstream& s, int& f, const char sep);
template <class T>
void format(T t, int w) {
cout << left << setw(w) << t << " ";
}
template <class T>
void format(T t) {
format(t, 4);
}

View File

@@ -23,7 +23,7 @@ void lire(M& map, const string filename) {
return;
}
f.ignore(200, '\n');
//f.ignore(200, '\n');
while (!f.eof()) {
V a;
a.saisie(f);
@@ -32,7 +32,7 @@ void lire(M& map, const string filename) {
// map[a.key()] = a;
map.insert(make_pair(a.key(), a));
f.ignore(2000, '\n');
// f.ignore(2000, '\n');
}
}
@@ -61,8 +61,6 @@ void affichage(M& map) {
affichage_range(map.begin(), map.end());
}
void chercher(const map<string, Entreprise>& entreprises) {
string r;
@@ -77,6 +75,7 @@ void chercher(const map<string, Entreprise>& entreprises) {
cout << "Entreprise trouvée!" << endl;
Entreprise e = it->second;
e.affichage();
cout << endl;
}
}
@@ -117,11 +116,17 @@ void entreprises_ranking(const map<string, Entreprise>& entreprises) {
cout << "Le turnover maximum est : " << e_max->second.getTurnover() << " pour l'entreprise " << e_max->first << endl;
}
void toupper(string& s) {
for (int i = 0; i < s.size(); i++)
s[i] = toupper(s[i]);
}
void pays_region( const multimap<string, Pays>& pays) {
string recherche;
cout << "Entrez le nom de la région cherchée: ";
getline(cin, recherche);
toupper(recherche);
auto range = pays.equal_range(recherche);

View File

@@ -152,7 +152,7 @@ bool comparer_prix(T& a, T& b) {
template <class C>
void plus_cher(C& cont) {
// pour obtenir les bières LES + chers ont peu soit
// pour obtenir les bières LES + chers on peut soit
// itérer pour récupérer le max() en prix
// puis réitéré et n'afficher que les bières ou
// prix == max

31
TP8/COQ/COQ.sln Normal file
View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "COQ", "COQ.vcxproj", "{B01EA899-3FB4-4537-BC98-F70A30C56399}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Debug|x64.ActiveCfg = Debug|x64
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Debug|x64.Build.0 = Debug|x64
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Debug|x86.ActiveCfg = Debug|Win32
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Debug|x86.Build.0 = Debug|Win32
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Release|x64.ActiveCfg = Release|x64
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Release|x64.Build.0 = Release|x64
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Release|x86.ActiveCfg = Release|Win32
{B01EA899-3FB4-4537-BC98-F70A30C56399}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CEFA4EB7-CAEA-4B51-B46C-5AAD3C89E542}
EndGlobalSection
EndGlobal

135
TP8/COQ/COQ.vcxproj Normal file
View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{b01ea899-3fb4-4537-bc98-f70a30c56399}</ProjectGuid>
<RootNamespace>COQ</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

4
TP8/COQ/COQ.vcxproj.user Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

Binary file not shown.

245
TP8/COQ/main.cpp Normal file
View File

@@ -0,0 +1,245 @@
#include <iostream>
#include <vector>
#include <list>
#include <string>
#include <algorithm>
using namespace std;
class Poule;
class Oeuf;
template <class C>
void affiche_cont(C& cont) {
for (auto& volaille : cont) {
volaille.affiche();
cout << endl;
}
}
class Coq {
string Nom;
int Age;
public:
void saisie();
void affiche();
Oeuf Cocorico(Poule p);
bool operator<(Coq& c2) {
return Age < c2.Age;
}
template <class C>
void CocoricoPoules(C&c) {
vector<Oeuf> oeufs;
oeufs.reserve(c.size());
for (auto poule : c) {
oeufs.push_back(Cocorico(poule));
}
affiche_cont(oeufs);
}
};
class Poule {
string Nom;
int Poids;
friend Coq;
protected:
void set_poids(int poids) { Poids = poids; }
public:
void saisie();
void affiche();
float get_poids() {
return Poids;
}
bool operator<(Poule& c2) {
return Poids < c2.Poids;
}
};
class Oeuf : public Poule {
char Qualite;
public:
Oeuf(int poids) {
set_poids(poids);
cout << "L'oeuf a bien ete pondu et pese : "<<poids<<"(gr)" << endl;
}
void saisie();
void affiche();
};
template <class C, class T>
void saisie(C& cont, const string nom) {
int n;
cout << "Combien de " << nom << " ? : ";
cin >> n; cin.ignore();
while (n-- > 0) {
T p;
p.saisie();
cont.insert(cont.begin(), p);
}
}
int poids_poules(list<Poule> poules) {
int S = 0;
for (Poule& p : poules) {
S += p.get_poids() / 1000;
}
return S;
}
pair<Poule, Coq> couple(list<Poule> poules, vector<Coq> coqs) {
auto poule = max_element(poules.begin(), poules.end());
auto coq = min_element(coqs.begin(), coqs.end());
if (poule == poules.end() || coq == coqs.end()) {
cout << "Aucun couple n'a pu être formé";
exit(1);
}
cout << "Le couple formé est ";
coq->affiche();
cout << " et ";
poule->affiche();
cout << endl;
return make_pair(*poule, *coq);
}
Coq plus_vieux_coq(vector<Coq> coqs) {
auto coq = max_element(coqs.begin(), coqs.end());
if (coq == coqs.end()) {
cout << "Il n'y a pas de coq!";
exit(1);
}
return *coq;
}
// Faut-il effacer l'unique élément si le conteneur ne contient qu'un seul élément ?
// Supprimer la première moitié? que vaut la moitié pour 1 élement.
template <class C>
void effacer_moitie(C& c) {
auto it = c.begin();
for (int i = 0; i < c.size() / 2; i++) it++;
c.erase(c.begin(), it);
}
int menu() {
int c;
cout << "1) Saisir_Clav 1 List de Poule(s) (insertion au début) + Affichage" << endl
<< "2) Saisir_Clav 1 Vector de Coq(s) (insertion au début) + Affichage" << endl
<< "3) Calculer et afficher la Somme des poids en Kg : Sp" << endl
<< "4) Le plus jeune des Coqs épouse la Poule la plus lourde" << endl
<< "5) Le Coq fait Cocorico et toutes les Poules pondent + Affichage" << endl
<< "6) Effacer la première moitié de List et de Vector + Affichage" << endl
<< "Votre choix : ";
cin >> c; cin.ignore();
return c;
}
int main() {
list<Poule> poules;
vector<Coq> coqs;
float Sp;
setlocale(LC_ALL, "");
while (true) {
switch (menu()) {
case 1:
saisie<list<Poule>, Poule>(poules, "Poules");
affiche_cont(poules);
break;
case 2:
saisie<vector<Coq>, Coq>(coqs, "Coqs");
affiche_cont(coqs);
break;
case 3:
Sp = poids_poules(poules);
cout << "Somme de Poids des poules en Kg : " << Sp;
break;
case 4:
couple(poules, coqs);
break;
// Cocorico
case 5:
plus_vieux_coq(coqs).CocoricoPoules(poules);
break;
case 6:
effacer_moitie(coqs);
effacer_moitie(poules);
affiche_cont(coqs);
affiche_cont(poules);
break;
default:
return 0;
}
}
return 0;
}
void Poule::saisie() {
cout << "Le nom ? : ";
getline(cin, Nom);
cout << "Le poids ? : ";
cin >> Poids; cin.ignore();
}
void Coq::saisie() {
cout << "Le nom ? : ";
getline(cin, Nom);
cout << "L' age ? : ";
cin >> Age; cin.ignore();
}
void Poule::affiche() {
cout << Nom << "(" << Poids << ") ";
}
void Coq::affiche() {
cout << Nom << "(" << Age << ") ";
}
void Oeuf::affiche() {
cout << Qualite << "(" << get_poids() << "gr)";
}
void Oeuf::saisie() {
cout << "Saisir qualité de l'oeuf (A, B ou C) ? : ";
cin >> Qualite;
}
Oeuf Coq::Cocorico(Poule p) {
Oeuf oeuf(p.get_poids() / 10);
oeuf.saisie();
return oeuf;
}

Binary file not shown.

31
TP8/EtudProf/EtudProf.sln Normal file
View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EtudProf", "EtudProf.vcxproj", "{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Debug|x64.ActiveCfg = Debug|x64
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Debug|x64.Build.0 = Debug|x64
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Debug|x86.ActiveCfg = Debug|Win32
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Debug|x86.Build.0 = Debug|Win32
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Release|x64.ActiveCfg = Release|x64
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Release|x64.Build.0 = Release|x64
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Release|x86.ActiveCfg = Release|Win32
{D6DEC2BC-4A3C-4AA0-BD88-5FE3113CF810}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2112B69A-D512-4F99-A3CE-CBDB944F07B8}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{d6dec2bc-4a3c-4aa0-bd88-5fe3113cf810}</ProjectGuid>
<RootNamespace>EtudProf</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<Text Include="Etud_M.txt" />
<Text Include="Prof_M.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Text Include="Prof_M.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
<Text Include="Etud_M.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

4
TP8/EtudProf/Etud_M.txt Normal file
View File

@@ -0,0 +1,4 @@
15103A;Aladdin;3;5;15;13;
15095X;Jasmine;5;15;11;19;7;18;
14109C;Asterix;4;12;10;14;8;
19150B;Obelix;2;0;20;

5
TP8/EtudProf/Prof_M.txt Normal file
View File

@@ -0,0 +1,5 @@
Tournesol;3;Math;Philo;Chimie;
Einstein;2;Physique;Méca;
BruceLee;4;kungfu;Karaté;TaiChiChuan;Gung-Li;
StephenWilliamHawking;2;Cosmologie;Physique;
IsaacNewton;4;Math;Physique;Philo;Astronomie;

220
TP8/EtudProf/main.cpp Normal file
View File

@@ -0,0 +1,220 @@
#include <iostream>
#include <string>
#include <map>
#include <fstream>
#include <iomanip>
#include <set>
using namespace std;
const int ENTREE_MAX = 10;
template <class T>
class Personne {
string nom;
int nbr_entrees;
T entrees[ENTREE_MAX];
public:
void Lire(ifstream& f);
void afficher();
T lire_entree(ifstream& f);
string get_key() { return nom; }
string get_nom() { return nom; }
};
class Etud : public Personne<float> {
string Id;
public:
void Lire(ifstream& f);
void afficher();
string get_key() { return Id; }
};
class Prof : public Personne<string> {};
template <class M, class T>
void lecture(M& mp, const string fname) {
ifstream f(fname);
if (!f.is_open()) {
cout << "Erreur lors de la lecture du fichier"<<endl;
exit(1);
}
while (!f.eof()) {
T obj;
obj.Lire(f);
f.ignore();
mp[obj.get_key()] = obj;
}
}
template <class C>
void afficher(const C& mp) {
for (auto pair : mp) {
pair.second.afficher();
cout << endl;
}
cout << endl;
}
template <class C>
void afficher(const set<C>& s) {
for (auto e : s) {
cout << e;
cout << endl;
}
cout << endl;
}
int menu() {
int c;
cout << "1 : Lire Etud_M.txt et stocker les données dans une Map1 dEtudiants + affichage" << endl
<< "2 : Lire Prof_M.txt et stocker les données dans une Map2 de PROFs + affichage" << endl
<< "3 : Chercher selon le nom dans Map1 et dans Map2 si élément existe et lEffacer + affichage" << endl
<< "4 : Mettre les noms des étudiants et des PROFs dans un CnTri + affichage" << endl
<< "5 : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" << endl;
cout << "Choix : ";
cin >> c; cin.ignore();
return c;
}
bool is_equal_ignorecase(string s1, string s2) {
if (s1.size() != s2.size()) return false;
for (int i = 0; i < s1.size(); i++) {
if (tolower(s1[i]) != tolower(s2[i]))
return false;
}
return true;
}
template <class T>
auto find(T& t, const string nom) {
auto it = t.begin();
for (; it != t.end(); it++) {
if (is_equal_ignorecase(it->second.get_nom(), nom))
break;
}
return it;
}
void effacer_nom(map<string, Etud>& etuds, map<string, Prof>& profs) {
string nom;
cout << "Nom : ";
getline(cin, nom);
auto itE = find(etuds, nom);
auto itP = find(profs, nom);
if (itE == etuds.end() && itP == profs.end()) {
cout << "Ce nom n'existe pas" << endl;
return;
}
if (itE != etuds.end()) {
etuds.erase(itE);
}
if (itP != profs.end()) {
profs.erase(itP);
}
afficher(etuds);
afficher(profs);
}
template <class T>
void ajout_nom(set<string>& noms, T& map) {
for (auto& p : map) {
noms.insert(p.second.get_nom());
}
}
int main() {
map<string, Etud> etuds;
map<string, Prof> profs;
set<string> noms;
while (true) {
switch (menu()) {
case 1:
lecture<map<string, Etud>, Etud>(etuds, "Etud_M.txt");
afficher(etuds);
break;
case 2:
lecture<map<string, Prof>, Prof>(profs, "Prof_M.txt");
afficher(profs);
break;
case 3:
effacer_nom(etuds, profs);
break;
case 4:
noms.clear();
ajout_nom(noms, etuds);
ajout_nom(noms, profs);
afficher(noms);
break;
default:
return 0;
}
}
}
template <class T>
void Personne<T>::Lire(ifstream& f) {
getline(f, nom, ';');
f >> nbr_entrees; f.ignore();
for (int i = 0; i < nbr_entrees; i++) {
entrees[i] = lire_entree(f);
}
}
string Personne<string>::lire_entree(ifstream& f) {
string entree;
getline(f, entree, ';');
return entree;
}
float Personne<float>::lire_entree(ifstream& f) {
float entree;
f >> entree; f.ignore();
return entree;
}
void Etud::Lire(ifstream& f) {
getline(f, Id, ';');
Personne::Lire(f);
}
template <class T>
void Personne<T>::afficher() {
cout << left << setw(22) << nom << " " << nbr_entrees << " ";
for (int i = 0; i < nbr_entrees; i++) {
cout << left << setw(8) << entrees[i] << " ";
}
}
void Etud::afficher() {
cout << setw(6) << Id << " ";
Personne<float>::afficher();
}

Binary file not shown.

View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocalProfEtud", "LocalProfEtud.vcxproj", "{83B564F0-1E99-46B8-BB4A-C56173748CA2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Debug|x64.ActiveCfg = Debug|x64
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Debug|x64.Build.0 = Debug|x64
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Debug|x86.ActiveCfg = Debug|Win32
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Debug|x86.Build.0 = Debug|Win32
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Release|x64.ActiveCfg = Release|x64
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Release|x64.Build.0 = Release|x64
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Release|x86.ActiveCfg = Release|Win32
{83B564F0-1E99-46B8-BB4A-C56173748CA2}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0D26026B-8543-4D1F-8BC1-774CD02E70A1}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{83b564f0-1e99-46b8-bb4a-c56173748ca2}</ProjectGuid>
<RootNamespace>LocalProfEtud</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

224
TP8/LocalProfEtud/main.cpp Normal file
View File

@@ -0,0 +1,224 @@
#include <iostream>
#include <vector>
#include <list>
#include <string>
using namespace std;
class Personne {
string nom;
int mat1, mat2;
public:
void saisie();
void affiche();
string getnom() { return nom; }
int getmat1() { return mat1; }
int getmat2() { return mat2; }
};
class Local {
string nom;
list<int> mat;
public:
void saisie();
void affiche();
string getnom() { return nom; }
void personnes(list<Personne> etuds, vector<Personne> profs);
template <class T>
bool affiche_local(T t, int m);
};
template <class C, class T>
void saisie(C& cont, const string name) {
int n;
cout << "Nbr " << name << " : ";
cin >> n; cin.ignore();
while (n-- > 0) {
T obj;
obj.saisie();
cont.insert(cont.end(), obj);
//cont.push_back(saisie);
}
}
template <class T>
void affiche_el(T t) {
t.affiche();
}
void affiche_el(string t) {
cout << t;
}
template <class C>
void affiche(C cont) {
for (auto v : cont) {
affiche_el(v);
cout << endl;
}
cout << endl;
}
template <class C>
void copie_nom(list<string>& cont, C c) {
for (auto a : c) {
cont.push_back(a.getnom());
}
}
void tri_doublon(list<string>& c) {
c.sort();
c.unique();
}
void local_prof_etud(list<Local> locaux, list<Personne> etuds, vector<Personne> profs) {
for (auto local : locaux) {
local.personnes(etuds, profs);
}
}
int menu() {
int c;
cout << "1) Saisie d1 Vector de Prof (insertion à la Fin) + Affichage" << endl
<< "2) Saisie d1 List de Etud(insertion à la Fin) + Affichage" << endl
<< "3) Copie des noms des Prof et Etud dans List2" << endl
<< "4) TRI et Supprime les doublons(noms) de la List2 + Affichage" << endl
<< "5) Saisie des \"Local\" + Affichage" << endl
<< "6) Pour tout mat_i appartenant au Local Afficher Prof + Etud" << endl;
cout << "Choix : ";
cin >> c; cin.ignore();
return c;
}
int main() {
vector<Personne> profs;
list<Personne> etuds;
list<string> list2;
list<Local> locaux;
setlocale(LC_ALL, "");
while (true) {
switch (menu()) {
case 1:
saisie<vector<Personne>, Personne>(profs, "Prof");
affiche(profs);
break;
case 2:
saisie<list<Personne>, Personne>(etuds, "Etud");
affiche(etuds);
break;
case 3:
copie_nom(list2, profs);
copie_nom(list2, etuds);
affiche(list2);
break;
case 4:
tri_doublon(list2);
affiche(list2);
break;
case 5:
saisie<list<Local>, Local>(locaux, "Locaux");
affiche(locaux);
break;
case 6:
local_prof_etud(locaux, etuds, profs);
break;
default:
return 0;
}
}
return 0;
}
void Personne::saisie() {
cout << "Son nom ? : ";
getline(cin, nom);
cout << "Sa mat1 ? : ";
cin >> mat1; cin.ignore();
cout << "Sa mat2 ? : ";
cin >> mat2; cin.ignore();
}
void Personne::affiche() {
cout << "Nom : " << nom << endl;
cout << "Mat1 : " << mat1 << endl;
cout << "Mat2 : " << mat2 << endl;
}
void Local::saisie() {
cout << "Son nom ? : ";
getline(cin, nom);
cout << "nbr mat ? :";
int m;
cin >> m;
for(int i = 0; i< m;i++) {
int a;
cout << "Mat"<<i<<" ? : ";
cin >> a; cin.ignore();
mat.insert(mat.begin(), a);
}
}
void Local::affiche() {
cout << "Nom : " << nom << endl;
int i = 0;
for (auto m : mat) {
cout << "Mat"<<i<<" : " << m << endl;
i++;
}
}
void Local::personnes(list<Personne> etuds, vector<Personne> profs) {
cout << nom << " " << endl;
for (auto m : mat) {
cout << " " << "Mat" << m << " : ";
bool f;
f = affiche_local(etuds, m);
f |= affiche_local(profs, m);
if (!f) {
cout << "NULL";
}
cout << endl;
}
}
template <class T>
bool Local::affiche_local(T t, int m) {
bool f = false;
for (auto e : t) {
if (e.getmat1() == m || e.getmat2() == m) {
cout << e.getnom() << ", ";
f = true;
}
}
return f;
}

Binary file not shown.

View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PAPILLONS", "PAPILLONS.vcxproj", "{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Debug|x64.ActiveCfg = Debug|x64
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Debug|x64.Build.0 = Debug|x64
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Debug|x86.ActiveCfg = Debug|Win32
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Debug|x86.Build.0 = Debug|Win32
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Release|x64.ActiveCfg = Release|x64
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Release|x64.Build.0 = Release|x64
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Release|x86.ActiveCfg = Release|Win32
{EA3BDFDD-EE87-4A19-BF13-B5B55F4FDE50}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {464C1159-1EE2-4873-AD3C-6E29E4DB6FB0}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{ea3bdfdd-ee87-4a19-bf13-b5b55f4fde50}</ProjectGuid>
<RootNamespace>PAPILLONS</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="PapB.txt" />
<Text Include="PapJ.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="PapJ.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
<Text Include="PapB.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

4
TP8/PAPILLONS/PapB.txt Normal file
View File

@@ -0,0 +1,4 @@
3
P5;B;
Chrys;B;
P6;B;

5
TP8/PAPILLONS/PapJ.txt Normal file
View File

@@ -0,0 +1,5 @@
4
P1;J;
Bap;J;
Buti;J;
P4;J;

228
TP8/PAPILLONS/main.cpp Normal file
View File

@@ -0,0 +1,228 @@
#include <iostream>
#include <vector>
#include <list>
#include <fstream>
#include <string>
#include <iomanip>
#include <algorithm>
#include <set>
using namespace std;
class Papillon {
string Nom;
char couleur;
public:
Papillon() {};
Papillon(char couleur) : couleur(couleur) {};
void saisie(ifstream& f);
void saisie();
void afficher();
string nomcouleur() {
return couleur == 'J' ? "Jaune" : "Bleu";
}
char getcouleur() {
return couleur;
}
string getnom() {
return Nom;
}
bool operator<(Papillon b) {
return Nom > b.Nom; /* tri décroissant */
}
bool operator==(Papillon p) {
return Nom == p.Nom && couleur == p.couleur;
}
};
template <class T>
void lecture(T& cont, const string name) {
ifstream f(name);
if (!f.is_open()) {
cout << "Erreur lors de l'ouverture du fichier" << endl;
exit(1);
}
int n;
f >> n; f.ignore();
while (!f.eof()) {
Papillon p;
p.saisie(f);
f.ignore();
cont.insert(cont.begin(), p);
}
}
template <class T>
void afficher_el(T& el) {
el.afficher();
}
void afficher_el(string el) {
cout << el;
}
template <class T>
void afficher(T cont) {
for (auto el : cont) {
// el.afficher();
afficher_el(el);
cout << endl;
}
cout << endl;
}
template <class T>
void tri_affichage(T& cont) {
sort(cont.begin(), cont.end());
afficher(cont);
}
// spécialisation de template
template <class A>
void tri_affichage(list<A>& cont) {
cont.sort(); afficher(cont);
}
Papillon saisie_papillon() {
Papillon p;
p.saisie();
return p;
}
template <class A>
bool effacer_papillon(A& cont, Papillon rec) {
auto it = find(cont.begin(), cont.end(), rec);
if (it == cont.end()) {
return false;
}
cont.erase(it);
return true;
}
void effacer_papillon(list<Papillon>& cont1, vector<Papillon>& cont2) {
Papillon p = saisie_papillon();
if (!effacer_papillon(cont1, p)) {
cout << "Papillon non trouvé dans la liste jaune"<<endl;
}
if(!effacer_papillon(cont2, p)) {
cout << "Papillon non trouvé dans le vecteur bleu" << endl;
}
afficher(cont1);
afficher(cont2);
}
template <class T>
void remplir_set(T cont, set<string>& s) {
for (auto a : cont) {
s.insert(a.getnom());
}
}
int menu() {
int c;
cout << "1) Lire PapJ.txt(Papillon Jaune) et stocker les données dans List" << endl
<< "2) Lire PapB.txt(Papillon Bleu) et stocker les données dans Vector" << endl
<< "3) Tri par ordre décroissant selon le nom + Affichage" << endl
<< "4) Ajout d1 Papillon dans List ou Vector selon sa couleur + Affichage" << endl
<< "5) Cherche la position d1 Papillon dans List et Vector et lefface" << endl
<< "6) Construit un SET avec les noms de tous les Papillons de List et Vector + Affichage" << endl;
cout << "Choix : ";
cin >> c; cin.ignore();
return c;
}
int main() {
list<Papillon> j;
vector<Papillon> b;
set<string> noms;
Papillon p;
while (true) {
switch (menu()) {
case 1:
lecture(j, "PapJ.txt");
afficher(j);
break;
case 2:
lecture(b, "PapB.txt");
afficher(b);
break;
case 3:
tri_affichage(j);
tri_affichage(b);
break;
case 4:
p = saisie_papillon();
if (p.getcouleur() == 'J') {
j.push_back(p);
afficher(j);
}
else {
b.push_back(p);
afficher(b);
}
break;
case 5:
effacer_papillon(j, b);
break;
case 6:
noms.clear();
remplir_set(j, noms);
remplir_set(b, noms);
afficher(noms);
break;
default:
return 0;
}
}
}
void Papillon::saisie(ifstream& f) {
getline(f, Nom, ';');
f >> couleur; f.ignore();
}
void Papillon::afficher() {
cout << left << setw(8) << Nom << " " << nomcouleur();
}
void Papillon::saisie() {
cout << "Nom : ";
getline(cin, Nom);
couleur = '\0';
while (couleur != 'J' && couleur != 'B') {
cout << "Couleur (J/B) : ";
cin >> couleur; cin.ignore();
couleur = toupper(couleur);
}
}

Binary file not shown.

View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ParcoursVita", "ParcoursVita.vcxproj", "{E000E911-87DE-426A-A425-A796F5A8CC97}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E000E911-87DE-426A-A425-A796F5A8CC97}.Debug|x64.ActiveCfg = Debug|x64
{E000E911-87DE-426A-A425-A796F5A8CC97}.Debug|x64.Build.0 = Debug|x64
{E000E911-87DE-426A-A425-A796F5A8CC97}.Debug|x86.ActiveCfg = Debug|Win32
{E000E911-87DE-426A-A425-A796F5A8CC97}.Debug|x86.Build.0 = Debug|Win32
{E000E911-87DE-426A-A425-A796F5A8CC97}.Release|x64.ActiveCfg = Release|x64
{E000E911-87DE-426A-A425-A796F5A8CC97}.Release|x64.Build.0 = Release|x64
{E000E911-87DE-426A-A425-A796F5A8CC97}.Release|x86.ActiveCfg = Release|Win32
{E000E911-87DE-426A-A425-A796F5A8CC97}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6848ED2D-79A2-415E-B230-BEFE036DDB2C}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{e000e911-87de-426a-a425-a796f5a8cc97}</ProjectGuid>
<RootNamespace>ParcoursVita</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

197
TP8/ParcoursVita/main.cpp Normal file
View File

@@ -0,0 +1,197 @@
#include <iostream>
#include <list>
#include <vector>
#include <set>
#include <iomanip>
#include <algorithm>
#include <string>
using namespace std;
class Participant {
string Nom;
int age;
public:
void Affichage();
void Saisie();
int getAge() { return age; }
string getNom() { return Nom; }
// Tri par l'age
bool operator<(Participant p) {
return Nom < p.Nom;
}
};
template <class C, class T>
void saisie(C& c) {
int n;
cout << "Nombre de participants à saisir : ";
cin >> n; cin.ignore();
while ((n--) > 0) {
T participant;
participant.Saisie();
c.insert(c.begin(), participant);
}
}
template <class C>
void affichage(C c) {
for (auto p : c) {
p.Affichage(); cout << endl;
}
cout << endl;
}
void affichage(set<string> c) {
for (auto a : c) {
cout << a << endl;
}
cout << endl;
}
template <class C>
void affichage(C c, const string name) {
cout << "Affichage de " << name << endl;
affichage(c);
}
// template <class A, class B>
bool tri_age(Participant a, Participant b) {
return a.getAge() < b.getAge();
}
// template <class A, class B>
bool tri_age_dec(Participant a, Participant b) {
return !tri_age(a, b);
}
template <class A, class B, class F>
void erase_max(A& a, B& b, F cmp, string txt) {
auto ita = max_element(a.begin(), a.end(), cmp);
auto itb = max_element(b.begin(), b.end(), cmp);
cout << txt;
if (ita != a.end()
&& (itb == b.end() || cmp(*itb, *ita))) {
ita->Affichage();
a.erase(ita);
}
else if (itb != b.end()
&& (ita == a.end() || cmp(*ita, *itb))) {
itb->Affichage();
b.erase(itb);
}
else {
cout << "NULL";
}
cout << endl;
}
template <class A, class B>
void erase_jeune_age(A& a, B& b) {
erase_max(a, b, tri_age, "Le plus vieux = ");
erase_max(a, b, tri_age_dec, "Le plus jeune = ");
}
template <class A, class B>
void add_allnom(A source, B& b) {
for(auto a : source) {
b.insert(a.getNom());
}
}
int menu() {
int c;
cout << "1. Saisie liste L1 + affichage" << endl
<< "2. Saisie vector V1 + affichage" << endl
<< "3. Efface le + jeune et le + agé (L1/V1)" << endl
<< "4. Tri croissant selon age (L1/V1) + affichage" << endl
<< "5. Conteneur de noms de L1/V1 trié+sans doublons" << endl
<< "6. Afficher L1 et V1" << endl;
cout << "Choix : " << endl;
cin >> c; cin.ignore();
return c;
}
int main() {
list<Participant> L1;
vector<Participant> V1;
set<string> noms;
setlocale(LC_ALL, "");
while (true) {
switch (menu()) {
case 1:
saisie<list<Participant>, Participant>(L1);
affichage(L1, "L1");
break;
case 2:
saisie<vector<Participant>, Participant>(V1);
affichage(V1, "V1");
break;
case 3:
erase_jeune_age(L1, V1);
affichage(L1, "L1");
affichage(V1, "V1");
break;
case 4:
L1.sort(tri_age);
sort(V1.begin(), V1.end(), tri_age);
affichage(L1, "L1");
affichage(V1, "V1");
break;
case 5:
add_allnom(L1, noms);
add_allnom(V1, noms);
affichage(noms, "Affichage du conteneur :");
break;
case 6:
affichage(L1, "L1");
affichage(V1, "V1");
break;
default:
return 0;
}
}
}
template <class T>
void affiche(T t, int w) {
cout << left << setw(w) << t << " ";
}
void Participant::Affichage() {
affiche(Nom, 10);
affiche(age, 4);
}
void Participant::Saisie() {
// Saisie de du nom : via getline();
cout << "Son nom ? : ";
getline(cin, Nom);
// Saisie de l'age
cout << "Son age ? : ";
cin >> age; cin.ignore();
}

5
TP8/Pizzeria/CLIENT.txt Normal file
View File

@@ -0,0 +1,5 @@
4
Leonardo;1;oignons;
Raphael;1;sauce tomate;
Donatello;3;fruits secs;champignon;poivrons;
Michel angelo;2;fromage;sauce tomate;

Binary file not shown.

7
TP8/Pizzeria/PIZZA_4.txt Normal file
View File

@@ -0,0 +1,7 @@
6
Vegetarienne;4;sauce tomate;poivrons;courgette;oignons;
4 Fromages;2;creme blanche;fromage;
Prosciutto;3;sauce tomate;fromage;jambon;
Frutti di mare;3;sauce tomate;fromage;fruits de mer;
Carbonara;3;creme blanche;fromage;lardons;
Forestière;3;sauce tomate;fromage;champignon;

31
TP8/Pizzeria/Pizzeria.sln Normal file
View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pizzeria", "Pizzeria.vcxproj", "{2370802E-F9E9-4D3C-8733-3CF28B29D22E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Debug|x64.ActiveCfg = Debug|x64
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Debug|x64.Build.0 = Debug|x64
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Debug|x86.ActiveCfg = Debug|Win32
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Debug|x86.Build.0 = Debug|Win32
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Release|x64.ActiveCfg = Release|x64
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Release|x64.Build.0 = Release|x64
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Release|x86.ActiveCfg = Release|Win32
{2370802E-F9E9-4D3C-8733-3CF28B29D22E}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CECACC32-5416-4BA7-9C0E-C88B223F18A9}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{2370802e-f9e9-4d3c-8733-3cf28b29d22e}</ProjectGuid>
<RootNamespace>Pizzeria</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="CLIENT.txt" />
<Text Include="PIZZA_4.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="PIZZA_4.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
<Text Include="CLIENT.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

265
TP8/Pizzeria/main.cpp Normal file
View File

@@ -0,0 +1,265 @@
#include <iostream>
#include <fstream>
#include <map>
#include <list>
#include <string>
#include <iomanip>
#include <vector>
using namespace std;
class Base {
string nom;
vector<string> ing;
public:
string getNom() const { return nom; }
vector<string> getIng() { return ing; }
bool operator=(Base b) { return b.nom == nom; }
bool operator<(Base b) const { return nom < b.nom; }
void lecture(ifstream& f);
void saisie();
void affichage();
};
class Pizza : public Base {
public:
bool contient_allergene(string allergene);
float getPrix();
};
class Client : public Base {
public:
bool est_allergique(Pizza p);
};
template <class C, class T>
void lecture(C& c, const string name) {
ifstream f(name);
if (!f.is_open()) {
cout << "Erreur lors de la lecture du fichier" << endl;
exit(1);
}
int N;
f >> N; f.ignore();
while ((N--) > 0) {
T t;
t.lecture(f);
c.push_back(t);
f.ignore();
}
}
void Base::lecture(ifstream& f) {
getline(f, nom, ';');
int N;
f >> N; f.ignore();
while ((N--) > 0) {
string t;
getline(f, t, ';');
ing.push_back(t);
}
}
template <class T>
void afficher(T t, int w) {
cout << left << setw(w) << t << " ";
}
void Base::affichage() {
cout << nom << " : ";
cout << "(";
for (int i = 0; i < ing.size()-1; i++) {
cout << ing[i] << ", ";
}
if (ing.size() > 0)
cout << ing[ing.size()-1];
cout << ")";
}
void Base::saisie() {
cout << "Nom : ";
getline(cin, nom);
int N;
cout << "Nbr ing : ";
cin >> N; cin.ignore();
for (int i = 0; i < N; i++) {
string s;
cout << "Ing" << (i + 1) << " : ";
getline(cin, s);
ing.push_back(s);
}
}
float Pizza::getPrix() {
return getIng().size() * 2.0;
}
template <class C>
void affichage(C c) {
for (auto a : c) {
a.affichage();
cout << endl;
}
cout << endl;
}
bool Client::est_allergique(Pizza p) {
for (string ing : getIng()) {
if (p.contient_allergene(ing))
return true;
}
return false;
}
bool Pizza::contient_allergene(string ing) {
for (string i : getIng()) {
if (ing == i)
return true;
}
return false;
}
void pizza_alergenes(multimap<Client, Pizza>& mp, vector<Pizza> pizzas, list<Client> clients) {
for (Client c : clients) {
for (Pizza p : pizzas) {
if (c.est_allergique(p))
continue;
mp.insert(make_pair(c, p));
}
}
}
void affiche_map(multimap<Client, Pizza> mp, list<Client> clients) {
/* auto it = mp.begin();
while (it != mp.end()) {
Client c = it->first;
cout << c.getNom() << " : " << endl;
int i = 1;
while (it != mp.end() && it->first.getNom() == c.getNom()) {
cout << " ";
cout << "(" << i << ") : ";
it->second.affichage();
cout << endl;
it++; i++;
}
cout << endl;
} */
clients.sort();
for (Client c : clients) {
cout << c.getNom() << " : " << endl;
int i = 0;
auto r = mp.equal_range(c);
for (; r.first != r.second; r.first++) {
cout << " ";
cout << "(" << i << ") : ";
r.first->second.affichage();
cout << endl;
i++;
}
}
}
void ajout_pizza(vector<Pizza>& pizzas) {
Pizza p;
char c;
cout << "Ajout au début (O/N) : ";
cin >> c; cin.ignore();
auto it = c == 'O' ? pizzas.begin() : pizzas.end();
p.saisie();
pizzas.insert(it, p);
cout << "Prix calculé de cette pizza = " << p.getPrix() << " euros" << endl;
}
void del_pizza(vector<Pizza>& pizzas) {
string ing;
cout << "Ingr_allergie : ";
getline(cin, ing);
auto it = pizzas.begin();
while (it != pizzas.end()) {
if (it->contient_allergene(ing)) {
it = pizzas.erase(it);
}
it++;
}
cout << "Il reste : ";
for (int i = 0; i < pizzas.size()-1; i++) {
cout << pizzas[i].getNom() << ", ";
}
if (pizzas.size() > 0) {
cout << pizzas[pizzas.size() - 1].getNom();
}
cout << endl;
}
int menu() {
int c;
cout << "1. Lire Pizza(s)" << endl
<< "2. Lire Client(s)" << endl
<< "3. Créer multimap<client, pizza>" << endl
<< "4. Ajouter (début ou fin) pizza + prix (2euros/ing.)" << endl
<< "5. Supprimer toutes les pizzas" << endl;
cout << "Choix : ";
cin >> c; cin.ignore();
return c;
}
int main() {
vector<Pizza> pizzas;
list<Client> clients;
multimap<Client, Pizza> mp;
setlocale(LC_ALL, "");
while (true) {
switch (menu()) {
case 1:
lecture<vector<Pizza>, Pizza>(pizzas, "PIZZA_4.txt");
affichage(pizzas);
break;
case 2:
lecture<list<Client>, Client>(clients, "CLIENT.txt");
affichage(clients);
break;
case 3:
pizza_alergenes(mp, pizzas, clients);
affiche_map(mp, clients);
break;
case 4:
ajout_pizza(pizzas);
affichage(pizzas);
break;
case 5:
del_pizza(pizzas);
affichage(pizzas);
break;
default:
return 0;
}
}
}

Binary file not shown.

31
TP8/ROBOT/ROBOT.sln Normal file
View File

@@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ROBOT", "ROBOT.vcxproj", "{D8576F8D-202E-43D4-B649-16F43537FEC7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Debug|x64.ActiveCfg = Debug|x64
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Debug|x64.Build.0 = Debug|x64
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Debug|x86.ActiveCfg = Debug|Win32
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Debug|x86.Build.0 = Debug|Win32
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Release|x64.ActiveCfg = Release|x64
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Release|x64.Build.0 = Release|x64
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Release|x86.ActiveCfg = Release|Win32
{D8576F8D-202E-43D4-B649-16F43537FEC7}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5AFDF616-7FA6-4C58-98EB-A32F1A90369E}
EndGlobalSection
EndGlobal

139
TP8/ROBOT/ROBOT.vcxproj Normal file
View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Text Include="Robot1.txt" />
<Text Include="Robot2.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{d8576f8d-202e-43d4-b649-16f43537fec7}</ProjectGuid>
<RootNamespace>ROBOT</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="Robot1.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
<Text Include="Robot2.txt">
<Filter>Fichiers de ressources</Filter>
</Text>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

7
TP8/ROBOT/Robot1.txt Normal file
View File

@@ -0,0 +1,7 @@
6
R;7;
R;3;
N;8;
B;1;
N;8;
R;9;

6
TP8/ROBOT/Robot2.txt Normal file
View File

@@ -0,0 +1,6 @@
5
B;3;
B;4;
N;8;
R;4;
B;2;

264
TP8/ROBOT/main.cpp Normal file
View File

@@ -0,0 +1,264 @@
#include <iostream>
#include <list>
#include <vector>
#include <fstream>
#include <map>
#include <set>
#include <string>
using namespace std;
class Boule {
char couleur;
int points;
public:
void saisie(ifstream& f);
void affichage();
char getCouleur();
int getPoints();
bool operator==(Boule b);
bool operator<(Boule b) const;
};
char Boule::getCouleur() { return couleur; }
int Boule::getPoints() { return points; }
void Boule::saisie(ifstream& f) {
f >> couleur; f.ignore();
f >> points; f.ignore();
}
void Boule::affichage() {
cout << couleur << " : " << points;
}
bool Boule::operator==(Boule b) {
return couleur == b.couleur && points == b.points;
}
bool Boule::operator<(Boule b) const {
return (couleur == b.couleur) ? points < b.points : couleur < b.couleur;
}
template <class C>
void lec_boules(C& cont, const string fname) {
ifstream f(fname);
if (!f.is_open()) {
cout << "Erreur lors de la lecture du fichier" << endl;
exit(1);
}
cout << "Lecture du fichier " << fname << endl;
int N;
f >> N; f.ignore();
while ((N--) > 0) {
Boule b;
b.saisie(f); f.ignore();
cont.push_back(b);
}
}
template <class C>
void affichage(C cont) {
for (auto a : cont) {
a.affichage(); cout << endl;
}
}
template <class C>
void affichage(multimap<string, C> cont) {
for (auto a : cont) {
a.second.affichage(); cout << endl;
}
}
template <class C>
int penalite(C cont, char c) {
int i = 0;
for (auto a : cont) {
if (a.getCouleur() != c) {
i++;
}
}
return i;
}
template <class C>
int Som(C cont, char c) {
int score = 0;
for (auto a : cont) {
if (a.getCouleur() == c) {
score += a.getPoints();
}
else {
score -= a.getPoints();
}
}
return score;
}
// Robot1 = 1, Robot2 = 2, égalité = 0
template <class A, class B>
int getWinner(A a, char ac, B b, char bc) {
int SL = Som(a, ac);
int SV = Som(b, bc);
/*cout << "Score Robot1 : " << SL << endl;
cout << "Score Robot2 : " << SV << endl;
cout << endl;*/
if (SL > SV) {
return 1;
}
else if (SL < SV) {
return 2;
}
else {
return 0;
}
}
template <class C>
void fill(multiset<Boule> &set, C c) {
for (Boule b : c) {
set.insert(b);
}
}
template <class C>
void fill(multimap<string,Boule> &m, C& c) {
affichage(m);
for (auto it = c.begin(); it != c.end(); ) {
cout << endl;
string k = it->getCouleur() + to_string(it->getPoints());
cout << "MMap : " << endl;
m.insert(make_pair(k, *it));
it = c.erase(it);
affichage(m);
cout << "Boules perdant : " << endl;
affichage(c);
}
}
template <class C>
void del_half(C& c) {
for (auto it = c.begin(); it != c.end();) {
if (it != c.end()) it++;
else break;
if (it != c.end())
it = c.erase(it);
}
}
int menu() {
int c;
cout << "1- LectureSaisieL et Affichage " << endl
<< "2- LectureSaisieV et Affichage" << endl
<< "3- Compter le nombre de boules pénalisantes dans L et V" << endl
<< "4- Qui est le gagnant? " << endl
<< "5- Déposer les boules du Robot perdant dans une MMap" << endl
<< "6- Afficher L, V et MMap " << endl
<< "7- Supprimer un élément sur deux de L, V et MMap" << endl;
cout << "Choix : ";
cin >> c; cin.ignore();
return c;
}
int main() {
setlocale(LC_ALL, "");
list<Boule> L1;
vector<Boule> V1;
int winner;
// Je ne comprend absolument pas pourquoi il faut utiliser une multimap
// Au lieu d'un multiset
// Ils veulent que la clé soit couleur + score concat??!
// C'est plus malin avec juste un set un opérateur de tri bien choisis (voir Boule::operator< )
// Dcp je vais faire en version set et version multimap
multimap<string, Boule> MMap;
multiset<Boule> MSet;
while (true) {
switch (menu()) {
case 1:
lec_boules(L1, "Robot1.txt");
affichage(L1);
break;
case 2:
lec_boules(V1, "Robot2.txt");
affichage(V1);
break;
case 3:
cout << "L : nombre de boules pénalisantes = " << penalite(L1, 'R') << endl;
cout << "V : nombre de boules pénalisantes = " << penalite(V1, 'B') << endl;
break;
case 4:
winner = getWinner(L1, 'R', V1, 'B');
switch (winner) {
case 1:
case 2:
cout << "Le gagnant est : Robot"<<winner << endl;
break;
default:
cout << "Pas de gagnant!" << endl;
break;
}
break;
case 5:
winner = getWinner(L1, 'R', V1, 'B');
switch (winner) {
case 1:
fill(MSet, V1);
fill(MMap, V1);
break;
case 2:
fill(MSet, L1);
fill(MMap, V1);
break;
default:
cout << "Pas de gagnant!" << endl;
break;
}
break;
case 6:
cout << "L1 : " << endl;
affichage(L1);
cout << "V1 : " << endl;
affichage(V1);
cout << "MMap : " << endl;
affichage(MMap);
break;
case 7:
del_half(L1);
del_half(V1);
del_half(MMap);
break;
default:
return 0;
}
}
}