Ребят проблема С++ Файлами
Ребя, помогите пожалуйста, у меня задание, есть текстовый файл что на картинке, нужно эти строки из текста обработать и вывести день у которого наименьшая продолжительность занятий, не получается этого сделать.
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <fstream>
using namespace std;
struct Days {
char DayName[50];
unsigned int kl, kp, klab, h;
};
int main() {
ifstream fin("GG.txt");
ofstream fout("BB.txt");
if (! http://fin.is/ _open()) {
cout << "Файл не найден" << endl;
} else {
cout << "Файл открыт" << endl;
}
Days base[50];
int n = 0;
while (fin.getline(base[n].DayName, 50, ',')) {
fin >> base[n].kl >> base[n].kp >> base[n].klab >> base[n].h;
n++;
}
int min = base[1].h;
n = n - 1;
for(int i = 0; i < n; i++) {
if(min > base[i].h) {
min = base[i].h;
}
}
char S[50];
for(int i = 0; i < n; i++) {
if(min == base[i].h) {
for(int i = 0; i < strlen(DayName); i++){
S[i] = base[i].DayName;
}
}
}
cout << " День с наименшим " << min << endl;
fin.close();
fout.close();
return 0;
}
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
int main()
{
char a='a',line[256]={0},number[6]={0},minday[15]={0},day[15]={0};
int pos=0,hh=0,mm=0,min=1000, minhh=0, minmm=0;
FILE *f;
f=fopen("GG.txt","wt");
if(!f) exit(1);
fprintf(f,"%s", "Monday 3 3hrs.60min and 50minbreak\n");
fprintf(f,"%s", "Tuesday 2 4hrs.40min and 30minbreak\n");
fprintf(f,"%s", "Wednesday 3 3hrs.60min and 50minbreak\n");
fprintf(f,"%s", "Thursday 1 1hr.20min and 10minbreak\n");
fprintf(f,"%s", "Friday 4 4hrs.80min and 80minbreak\n");
fprintf(f,"%s", "Saturday 1 1hr.20min and 10minbreak\n");
fclose(f);
printf("File saved\n");
f=fopen("GG.txt","rt");
if(!f) exit(1);
printf("\nFrom file GG.txt:\n");
while(fscanf(f,"%c",&a)!=EOF)
{//while
if((a!='\n'&&isalnum(a))||
(a!='\n'&&isblank(a))||
(a!='\n'&&ispunct(a)))
line[pos++] = a;
else
{
line[pos]='\n';
printf("%s",line);
pos=0;
char *word=strtok(line," ");
memset(day,'\0',sizeof(day));
strcpy(day,word);
word=strtok(NULL," ");
word=strtok(NULL," ");
word=strtok(word,"hr");
strcpy(number,word);
for(int i = 0; i < strlen(number); i++)
if(isalpha(number[i]))
number[i]='\0';
hh=atoi(number);
word=strtok(NULL,".");
word=strtok(NULL,"min");
memset(number,'\0',sizeof(number));
strcpy(number,word);
for(int i = 0; i < strlen(number); i++)
if(isalpha(number[i]))
number[i]='\0';
mm=atoi(number);
if( min > (hh*60+mm) )
{//if
minhh=hh;
minmm=mm;
min=hh*60+mm;
memset(minday,'\0',sizeof(minday));
strcpy(minday,day);
}//if
memset(line,'\0',sizeof(line));
}
}//while
fclose(f);
f=fopen("BB.txt","wt");
if(!f) exit(1);
fprintf(f,"Minimal time of study: %s %dhr(s) %dmin(s)",
minday,minhh,minmm);
fclose(f);
f=fopen("BB.txt","rt");
char str[256]={0};
fgets(str,sizeof(str),f);
printf("\nFrom file BB.txt:\n%s",str);
fclose(f);
system("pause");
return 0;
}
