Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2022, 21:22   #1
livexxq
Новичок
Джуниор
 
Регистрация: 13.10.2022
Сообщений: 2
По умолчанию язык си. работа с csv файлами

есть csv файл:
Vaclav van Bouse;m;1994/07/13;zilinsky;73.66;81.72;66.83;92.70 ;78.78;68.95
Pavel Skoda;m;1998/10/25;bratislavsky;87.84;76.95;97.76;6 5.86;76.69;81.8 3
Jan Eduard Hubka;m;1989/02/23;kosicky;95.85;85.75;75.80;95.83; 78.77;93.95
Viktor Hollmann;m;1991/11/11;zilinsky;88.76;95.93;95.84;72.66 ;89.77;97.65
Kristina Kovacova-Kruta;f;1993/08/12;presovsky;91.65;65.76;84.96;77.6 9;79.75;83.76
Lucia Handzusova;f;1999/01/31;banskobystricky;95.86;87.87;70.2 9;83.66;72.18;6 6.37
Dominik Komar;m;1994/06/04;trnavsky;83.18;69.67;86.56;76.79 ;95.67;84.78
Anna Maria Kollarova;f;2001/09/30;nitriansky;95.39;77.87;83.59;80. 57;75.58;85.59
Eva Meszarosova;f;1997/02/29;zilinsky;65.79;77.98;66.27;84.59 ;93.59;76.88
Martin Drab;m;1999/05/06;trnavsky;76.38;75.97;69.77;96.48 ;76.56;65.19
Dana Ivana Sanna-Smith;f;1995/12/06;bratislavsky;90.39;83.09;96.76;8 7.77;99.18;67.7 8

помимо написания функции main() нужно сделать функцию sum(), которая при активировании выпишет текст для каждого имени в следующем форамте:
Vaclav van Bouse, born 1994, male, City: zilinzsky
Test results: 73.66;81.72;66.83;92.70;78.78;68.95
...

Код:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdbool.h>
 
int main(){
 
    char *sp;
 
    FILE *fp;
 
    fp = fopen("studenti.csv", "r");
 
    if (fp == NULL){
        printf("Subor nie je mozne precitat.");
        exit(0);
    }
 
    char name[30];
    char sex[10];
    int birthday;
    char city[30];
    float points1;
    float points2;
    float points3;
    float points4;
    float points5;
    float points6;
 
 
    char line[300];
 
    while (fgets(line, 300, fp) != NULL){
      //  printf("\n%s", line); //
 
        sp = strtok(line, ";");
        strcpy(name, sp);
 
        sp = strtok(NULL, ";");
        strcpy(sex, sp);
 
        sp = strtok(NULL, ";");
        birthday = atoi(sp);
 
        sp = strtok(NULL, ";");
        strcpy(city, sp);
 
        sp = strtok(NULL, ";");
        points1 = atof(sp);
 
        sp = strtok(NULL, ";");
        points2 = atof(sp);
 
        sp = strtok(NULL, ";");
        points3 = atof(sp);
 
        sp = strtok(NULL, ";");
        points4 = atof(sp);
 
        sp = strtok(NULL, ";");
        points5 = atof(sp);
 
        sp = strtok(NULL, ";");
        points6 = atof(sp);
 
        
        // printf("\n %s, nar. %d, %s, Kraj: %s", name, birthday, sex, city);  //
 
  
 
 
    }
    fclose(fp);
 
}
livexxq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
язык СИ. Робота с файлами dimchas Помощь студентам 4 02.12.2021 12:56
Язык СИ. Работа с функциями и файлами dimchas Помощь студентам 1 29.11.2021 23:35
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами Konlor Общие вопросы C/C++ 2 18.05.2014 12:37
язык C, работа с файлами korovko Помощь студентам 4 07.11.2011 19:03
Язык С, работа с файлами. (проверка кода) TIT0 Помощь студентам 0 08.12.2010 15:49