将从数组中提取数据转换为从csv文件中提取

时间:2020-04-20 15:03:32

标签: c arrays csv

这是一个工作代码,可以从covid数据[]中打印静态信息,运行它以便您可以理解,我想将此代码转换为不从此covid数据[]中读取,而是从我充满数据的csv文件中读取就像在covid数据中一样[] 我不知道该怎么做,如果可以的话,请复制工作代码,非常感谢!

此数组covid数据[]是csv文件的一部分,因此您可以理解。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
    unsigned int SNo;
    char ObservationDate[11];
    char Province_State[50];
    char Country_Region[50];
    char Last_Update[50];
    float Confirmed;
    float Deaths;
    float Recovered;
}covid;

void printGraph(int number) {
int i;
    for (i = 0; i < number; i++) {
        printf("*");
    }
    printf("\n");
}

void printDistribution(covid data[], int datalength, char country[50], char date[11]) {
int i;
    for (i = 0; i < datalength; i++) {
        if (strcmp(country, data[i].Country_Region) == 0) {
            if (strcmp(date, data[i].ObservationDate) == 0) {
                printf("Total Cases: %f", data[i].Confirmed);
                printGraph(data[i].Confirmed);
                printf("Total Deaths: %f", data[i].Deaths);
                printGraph(data[i].Deaths);
                printf("Total Recovered: %f", data[i].Recovered);
                printGraph(data[i].Recovered);
                float fatalityRate = (data[i].Deaths / data[i].Confirmed) * 100;
                float recoveryRate = (data[i].Recovered / data[i].Confirmed) * 100;
                printf("Fatality Rate: %f%%\n", fatalityRate);
                printf("Recovery Rate: %f%%\n", recoveryRate);
            }
        }
    }
}
int main(int argc, char** argv) {
    covid data[] = {
                    {1, "1/22/2020", "Anhui", "Mainland China", "1/22/2020 5:00:00 PM", 1, 0 , 0},
                    {2, "1/22/2020", "Beijing", "Mainland China", "1/22/2020 5:00:00 PM", 14, 0 , 0},
                    {3, "1/22/2020", "Fujian", "Mainland China", "1/22/2020 5:00:00 PM", 6, 0 , 0},
                    {4, "1/22/2020", "Washington", "US", "1/22/2020 5:00:00 PM", 1, 0 , 0},
                    {5, "1/22/2020", "Beirut", "Lebanon", "1/22/2020 5:00:00 PM", 1, 0 , 0},
                    {6, "2/22/2020", "Anhui", "Mainland China", "2020-02-22T07:43:03", 989, 6 , 597},
                    {7, "2/22/2020", "Beijing", "Mainland China", "1/22/2020 5:00:00 PM", 399, 4 , 178},
                    {8, "2/22/2020", "Fujian", "Mainland China", "1/22/2020 5:00:00 PM", 293, 1 , 162},
                    {9, "2/22/2020", "Washington", "US", "1/22/2020 5:00:00 PM", 150, 10 , 96},
                    {10, "2/13/2020", "Beirut", "Lebanon", "1/22/2020 5:00:00 PM", 50, 10 , 15},
                    {11, "3/13/2020", "Anhui", "Mainland China", "1/22/2020 5:00:00 PM", 1500, 20 , 785},
                    {12, "3/13/2020", "Beijing", "Mainland China", "1/22/2020 5:00:00 PM", 450, 50 , 300},
                    {13, "3/13/2020", "Fujian", "Mainland China", "1/22/2020 5:00:00 PM", 6, 0 , 0},
                    {14, "3/13/2020", "Washington", "US", "1/22/2020 5:00:00 PM", 1, 0 , 0},
                    {15, "3/13/2020", "Beirut", "Lebanon", "1/22/2020 5:00:00 PM", 1, 0 , 0},
                    {16, "4/15/2020", "Anhui", "Mainland China", "2020-02-22T07:43:03", 989, 6 , 597},
                    {17, "4/15/2020", "Beijing", "Mainland China", "1/22/2020 5:00:00 PM", 399, 4 , 178},
                    {18, "4/15/2020", "Fujian", "Mainland China", "1/22/2020 5:00:00 PM", 293, 1 , 162},
                    {19, "4/15/2020", "Washington", "US", "1/22/2020 5:00:00 PM", 150, 10 , 96},
                    {20, "4/15/2020", "Beirut", "Lebanon", "1/22/2020 5:00:00 PM", 50, 10 , 15},
    };
    char country[] = "US";
    char date[] = "4/15/2020";
    printDistribution(data, 20, country, date);

    return 0;
}

0 个答案:

没有答案