9511_project01

project 1 for algorithms & programming I (9511) prof. Cardozo
Index Commits Files Refs README
commit e39cf4e127941c0833379a99abc02ab6e2a719d8
parent 3ff41d4e8a44c9cd2b5ce55b994c594810de7ce3
Author: klewer-martin <martin.cachari@gmail.com>
Date:   Tue,  2 Feb 2021 20:37:05 -0300

Update on load_country_codes.c, now finally working as expected;
However there are still optimizations to do;

Diffstat:
A.~lock.iso3166-1_numbers_and_countries.csv# | 2++
MMakefile | 12+++++-------
Miso3166-1_numbers_and_countries.csv | 229++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Diso3166-1_numbers_and_countries_def.csv | 249-------------------------------------------------------------------------------
Ciso3166-1_numbers_and_countries.csv -> iso3166-1_numbers_and_countries_short.csv | 0
Mload_country_codes.c | 24++++++++++++++----------
Mload_country_codes.h | 4++--
Mmain.c | 1-
8 files changed, 251 insertions(+), 270 deletions(-)
diff --git a/.~lock.iso3166-1_numbers_and_countries.csv# b/.~lock.iso3166-1_numbers_and_countries.csv#
@@ -0,0 +1 @@
+,mk,inspiron.localdomain,02.02.2021 20:20,file:///home/mk/.config/libreoffice/4;
+\ No newline at end of file
diff --git a/Makefile b/Makefile
@@ -1,13 +1,13 @@
 $(CC)=gcc
 
-all: make_main clean
+all: main clean
 
 
-make_main: main.o arguments.o data.o load_country_codes.o
-    $(CC) main.o arguments.o data.o load_country_codes.o -o main 
+main: main.o arguments.o data.o load_country_codes.o
+    $(CC) main.o arguments.o data.o load_country_codes.o -g -o main 
 
 main.o: main.c main.h arguments.h macros.h
-    $(CC) -c main.c
+    $(CC) -g -c main.c
 
 arguments.o: arguments.c arguments.h macros.h
     $(CC) -c arguments.c
@@ -19,9 +19,7 @@ load_country_codes.o: load_country_codes.h main.h
     $(CC) -c load_country_codes.c 
 
 clean:
-    rm -f *.o
+    rm -f *.o main 
 
 run: 
     ./main -in input.csv
-
-
diff --git a/iso3166-1_numbers_and_countries.csv b/iso3166-1_numbers_and_countries.csv
@@ -1,5 +1,5 @@
 4,Afghanistan
-248,Aland Islands
+248,Åland Islands
 8,Albania
 12,Algeria
 16,American Samoa
@@ -20,3 +20,230 @@
 52,Barbados
 112,Belarus
 56,Belgium
+84,Belize
+204,Benin
+60,Bermuda
+64,Bhutan
+68,Bolivia (Plurinational State of)
+535,"Bonaire, Sint Eustatius and Saba"
+70,Bosnia and Herzegovina
+72,Botswana
+74,Bouvet Island
+76,Brazil
+86,British Indian Ocean Territory
+96,Brunei Darussalam
+100,Bulgaria
+854,Burkina Faso
+108,Burundi
+132,Cabo Verde
+116,Cambodia
+120,Cameroon
+124,Canada
+136,Cayman Islands
+140,Central African Republic
+148,Chad
+152,Chile
+156,China
+162,Christmas Island
+166,Cocos (Keeling) Islands
+170,Colombia
+174,Comoros
+178,Congo
+180,"Congo, Democratic Republic of the"
+184,Cook Islands
+188,Costa Rica
+384,Côte d'Ivoire
+191,Croatia
+192,Cuba
+531,Curaçao
+196,Cyprus
+203,Czechia
+208,Denmark
+262,Djibouti
+212,Dominica
+214,Dominican Republic
+218,Ecuador
+818,Egypt
+222,El Salvador
+226,Equatorial Guinea
+232,Eritrea
+233,Estonia
+748,Eswatini
+231,Ethiopia
+238,Falkland Islands (Malvinas)
+234,Faroe Islands
+242,Fiji
+246,Finland
+250,France
+254,French Guiana
+258,French Polynesia
+260,French Southern Territories
+266,Gabon
+270,Gambia
+268,Georgia
+276,Germany
+288,Ghana
+292,Gibraltar
+300,Greece
+304,Greenland
+308,Grenada
+312,Guadeloupe
+316,Guam
+320,Guatemala
+831,Guernsey
+324,Guinea
+624,Guinea-Bissau
+328,Guyana
+332,Haiti
+334,Heard Island and McDonald Islands
+336,Holy See
+340,Honduras
+344,Hong Kong
+348,Hungary
+352,Iceland
+356,India
+360,Indonesia
+364,Iran (Islamic Republic of)
+368,Iraq
+372,Ireland
+833,Isle of Man
+376,Israel
+380,Italy
+388,Jamaica
+392,Japan
+832,Jersey
+400,Jordan
+398,Kazakhstan
+404,Kenya
+296,Kiribati
+408,Korea (Democratic People's Republic of)
+410,"Korea, Republic of"
+414,Kuwait
+417,Kyrgyzstan
+418,Lao People's Democratic Republic
+428,Latvia
+422,Lebanon
+426,Lesotho
+430,Liberia
+434,Libya
+438,Liechtenstein
+440,Lithuania
+442,Luxembourg
+446,Macao
+450,Madagascar
+454,Malawi
+458,Malaysia
+462,Maldives
+466,Mali
+470,Malta
+584,Marshall Islands
+474,Martinique
+478,Mauritania
+480,Mauritius
+175,Mayotte
+484,Mexico
+583,Micronesia (Federated States of)
+498,"Moldova, Republic of"
+492,Monaco
+496,Mongolia
+499,Montenegro
+500,Montserrat
+504,Morocco
+508,Mozambique
+104,Myanmar
+516,Namibia
+520,Nauru
+524,Nepal
+528,Netherlands
+540,New Caledonia
+554,New Zealand
+558,Nicaragua
+562,Niger
+566,Nigeria
+570,Niue
+574,Norfolk Island
+807,North Macedonia
+580,Northern Mariana Islands
+578,Norway
+512,Oman
+586,Pakistan
+585,Palau
+275,"Palestine, State of"
+591,Panama
+598,Papua New Guinea
+600,Paraguay
+604,Peru
+608,Philippines
+612,Pitcairn
+616,Poland
+620,Portugal
+630,Puerto Rico
+634,Qatar
+638,Réunion
+642,Romania
+643,Russian Federation
+646,Rwanda
+652,Saint Barthélemy
+654,"Saint Helena, Ascension and Tristan da Cunha"
+659,Saint Kitts and Nevis
+662,Saint Lucia
+663,Saint Martin (French part)
+666,Saint Pierre and Miquelon
+670,Saint Vincent and the Grenadines
+882,Samoa
+674,San Marino
+678,Sao Tome and Principe
+682,Saudi Arabia
+686,Senegal
+688,Serbia
+690,Seychelles
+694,Sierra Leone
+702,Singapore
+534,Sint Maarten (Dutch part)
+703,Slovakia
+705,Slovenia
+90,Solomon Islands
+706,Somalia
+710,South Africa
+239,South Georgia and the South Sandwich Islands
+728,South Sudan
+724,Spain
+144,Sri Lanka
+729,Sudan
+740,Suriname
+744,Svalbard and Jan Mayen
+752,Sweden
+756,Switzerland
+760,Syrian Arab Republic
+158,"Taiwan, Province of China"
+762,Tajikistan
+834,"Tanzania, United Republic of"
+764,Thailand
+626,Timor-Leste
+768,Togo
+772,Tokelau
+776,Tonga
+780,Trinidad and Tobago
+788,Tunisia
+792,Turkey
+795,Turkmenistan
+796,Turks and Caicos Islands
+798,Tuvalu
+800,Uganda
+804,Ukraine
+784,United Arab Emirates
+826,United Kingdom of Great Britain and Northern Ireland
+840,United States of America
+581,United States Minor Outlying Islands
+858,Uruguay
+860,Uzbekistan
+548,Vanuatu
+862,Venezuela (Bolivarian Republic of)
+704,Viet Nam
+92,Virgin Islands (British)
+850,Virgin Islands (U.S.)
+876,Wallis and Futuna
+732,Western Sahara
+887,Yemen
+894,Zambia
+716,Zimbabwe
diff --git a/iso3166-1_numbers_and_countries_def.csv b/iso3166-1_numbers_and_countries_def.csv
@@ -1,249 +0,0 @@
-4,Afghanistan
-248,Åland Islands
-8,Albania
-12,Algeria
-16,American Samoa
-20,Andorra
-24,Angola
-660,Anguilla
-10,Antarctica
-28,Antigua and Barbuda
-32,Argentina
-51,Armenia
-533,Aruba
-36,Australia
-40,Austria
-31,Azerbaijan
-44,Bahamas
-48,Bahrain
-50,Bangladesh
-52,Barbados
-112,Belarus
-56,Belgium
-84,Belize
-204,Benin
-60,Bermuda
-64,Bhutan
-68,Bolivia (Plurinational State of)
-535,"Bonaire, Sint Eustatius and Saba"
-70,Bosnia and Herzegovina
-72,Botswana
-74,Bouvet Island
-76,Brazil
-86,British Indian Ocean Territory
-96,Brunei Darussalam
-100,Bulgaria
-854,Burkina Faso
-108,Burundi
-132,Cabo Verde
-116,Cambodia
-120,Cameroon
-124,Canada
-136,Cayman Islands
-140,Central African Republic
-148,Chad
-152,Chile
-156,China
-162,Christmas Island
-166,Cocos (Keeling) Islands
-170,Colombia
-174,Comoros
-178,Congo
-180,"Congo, Democratic Republic of the"
-184,Cook Islands
-188,Costa Rica
-384,Côte d'Ivoire
-191,Croatia
-192,Cuba
-531,Curaçao
-196,Cyprus
-203,Czechia
-208,Denmark
-262,Djibouti
-212,Dominica
-214,Dominican Republic
-218,Ecuador
-818,Egypt
-222,El Salvador
-226,Equatorial Guinea
-232,Eritrea
-233,Estonia
-748,Eswatini
-231,Ethiopia
-238,Falkland Islands (Malvinas)
-234,Faroe Islands
-242,Fiji
-246,Finland
-250,France
-254,French Guiana
-258,French Polynesia
-260,French Southern Territories
-266,Gabon
-270,Gambia
-268,Georgia
-276,Germany
-288,Ghana
-292,Gibraltar
-300,Greece
-304,Greenland
-308,Grenada
-312,Guadeloupe
-316,Guam
-320,Guatemala
-831,Guernsey
-324,Guinea
-624,Guinea-Bissau
-328,Guyana
-332,Haiti
-334,Heard Island and McDonald Islands
-336,Holy See
-340,Honduras
-344,Hong Kong
-348,Hungary
-352,Iceland
-356,India
-360,Indonesia
-364,Iran (Islamic Republic of)
-368,Iraq
-372,Ireland
-833,Isle of Man
-376,Israel
-380,Italy
-388,Jamaica
-392,Japan
-832,Jersey
-400,Jordan
-398,Kazakhstan
-404,Kenya
-296,Kiribati
-408,Korea (Democratic People's Republic of)
-410,"Korea, Republic of"
-414,Kuwait
-417,Kyrgyzstan
-418,Lao People's Democratic Republic
-428,Latvia
-422,Lebanon
-426,Lesotho
-430,Liberia
-434,Libya
-438,Liechtenstein
-440,Lithuania
-442,Luxembourg
-446,Macao
-450,Madagascar
-454,Malawi
-458,Malaysia
-462,Maldives
-466,Mali
-470,Malta
-584,Marshall Islands
-474,Martinique
-478,Mauritania
-480,Mauritius
-175,Mayotte
-484,Mexico
-583,Micronesia (Federated States of)
-498,"Moldova, Republic of"
-492,Monaco
-496,Mongolia
-499,Montenegro
-500,Montserrat
-504,Morocco
-508,Mozambique
-104,Myanmar
-516,Namibia
-520,Nauru
-524,Nepal
-528,Netherlands
-540,New Caledonia
-554,New Zealand
-558,Nicaragua
-562,Niger
-566,Nigeria
-570,Niue
-574,Norfolk Island
-807,North Macedonia
-580,Northern Mariana Islands
-578,Norway
-512,Oman
-586,Pakistan
-585,Palau
-275,"Palestine, State of"
-591,Panama
-598,Papua New Guinea
-600,Paraguay
-604,Peru
-608,Philippines
-612,Pitcairn
-616,Poland
-620,Portugal
-630,Puerto Rico
-634,Qatar
-638,Réunion
-642,Romania
-643,Russian Federation
-646,Rwanda
-652,Saint Barthélemy
-654,"Saint Helena, Ascension and Tristan da Cunha"
-659,Saint Kitts and Nevis
-662,Saint Lucia
-663,Saint Martin (French part)
-666,Saint Pierre and Miquelon
-670,Saint Vincent and the Grenadines
-882,Samoa
-674,San Marino
-678,Sao Tome and Principe
-682,Saudi Arabia
-686,Senegal
-688,Serbia
-690,Seychelles
-694,Sierra Leone
-702,Singapore
-534,Sint Maarten (Dutch part)
-703,Slovakia
-705,Slovenia
-90,Solomon Islands
-706,Somalia
-710,South Africa
-239,South Georgia and the South Sandwich Islands
-728,South Sudan
-724,Spain
-144,Sri Lanka
-729,Sudan
-740,Suriname
-744,Svalbard and Jan Mayen
-752,Sweden
-756,Switzerland
-760,Syrian Arab Republic
-158,"Taiwan, Province of China"
-762,Tajikistan
-834,"Tanzania, United Republic of"
-764,Thailand
-626,Timor-Leste
-768,Togo
-772,Tokelau
-776,Tonga
-780,Trinidad and Tobago
-788,Tunisia
-792,Turkey
-795,Turkmenistan
-796,Turks and Caicos Islands
-798,Tuvalu
-800,Uganda
-804,Ukraine
-784,United Arab Emirates
-826,United Kingdom of Great Britain and Northern Ireland
-840,United States of America
-581,United States Minor Outlying Islands
-858,Uruguay
-860,Uzbekistan
-548,Vanuatu
-862,Venezuela (Bolivarian Republic of)
-704,Viet Nam
-92,Virgin Islands (British)
-850,Virgin Islands (U.S.)
-876,Wallis and Futuna
-732,Western Sahara
-887,Yemen
-894,Zambia
-716,Zimbabwe
diff --git a/iso3166-1_numbers_and_countries.csv b/iso3166-1_numbers_and_countries_short.csv
diff --git a/load_country_codes.c b/load_country_codes.c
@@ -19,7 +19,7 @@ status_t empty_country_codes(char country_codes[COUNTRIES_NUMBER][ARRAYS_LENGTH]
     size_t i, j;
     for(i = 0; i < COUNTRIES_NUMBER; i++)
         for(j = 0; j < (ARRAYS_LENGTH - 1); j++) {
-            country_codes[i][j] = 'a';
+            country_codes[i][j] = '\0';
         
         country_codes[i][ARRAYS_LENGTH - 1] = '\n';
         }
@@ -31,6 +31,8 @@ status_t load_country_codes(char country_codes[COUNTRIES_NUMBER][ARRAYS_LENGTH])
 {
     FILE *fp;
 
+    empty_country_codes(country_codes);
+
     char *buff;
     char buff_2[INITIAL_SIZE];
     buff_2[INITIAL_SIZE] = '\0';
@@ -50,15 +52,11 @@ status_t load_country_codes(char country_codes[COUNTRIES_NUMBER][ARRAYS_LENGTH])
 
     while(fgets(buff, INITIAL_SIZE, fp) != NULL) {
         clean(country_name, INITIAL_SIZE);
-        for(i = 0, j = 0, part = CODE; (*(buff + i)) != '\0'; i++) {
-//            putchar((*(buff + i)));
-            if((*(buff + i)) == ',') {
-                country_code = atoi(buff_2);
-                clean(buff_2, INITIAL_SIZE);
-//                printf("%d\n", country_code);
+        for(i = 0, j = 0, part = CODE; buff[i] != '\0'; i++) {
+            if(buff[i] == ',') {
                 part = NAME;
                 i++;
-            } else if (*(buff + i + 1) == '\n') {
+            } else if (buff[i] == '\n') {
                 part = CODE;
                 j = 0;
             }
@@ -69,8 +67,14 @@ status_t load_country_codes(char country_codes[COUNTRIES_NUMBER][ARRAYS_LENGTH])
                 case NAME: country_name[j] = *(buff + i); j++; break;
             }
         }
-        printf("%s\n", country_name);
-        strcpy(country_name, country_codes[country_code]);
+        country_code = atoi(buff_2);
+//        printf("%d\n", country_code);
+        clean(buff_2, INITIAL_SIZE);
+
+
+//        printf("%s\n", country_name);
+        strcpy(country_codes[country_code], country_name);
+//        printf("n. %d is: %s\n", country_code, country_codes[country_code]);
     }
 
     fclose(fp);
diff --git a/load_country_codes.h b/load_country_codes.h
@@ -3,8 +3,8 @@
 
 #include "main.h"
 
-#define COUNTRIES_NUMBER    500
-#define ARRAYS_LENGTH        25
+#define COUNTRIES_NUMBER    1000
+#define ARRAYS_LENGTH        100
 
 typedef enum {
     CODE,
diff --git a/main.c b/main.c
@@ -34,7 +34,6 @@ int main(int argc, char * argv[])
         return ERROR_LOADING_COUNTRY_CODES;    
 
 
-    printf("Hello world! (after load_country_codes call)\n");
     printf("the country number 32 of iso 3166 is: %s\n", country_codes[32]);
 
     fpi = fopen(src, "r");