I've accounted for the user input. This code runs but it won't let the user input more than once.
Code:
#include<stdio.h>
int main(int argc, char ** argv){
int hh, mm, min;
int total_min = 0;
int c=0;
int longest = 0;
int amt;
float avg;
if(argc == 2){
//File mode
FILE *fp;
fp = fopen(argv[1], "r");
if(fp==NULL){
printf("Unable to open file");
return 0;
}
while(!feof(fp)){
fscanf(fp, "%d:%d", &hh, &mm);
min = hh*60+mm;
total_min += min;
if(min>longest) {
longest = min;
c++;
}
}
}else{
printf("How many dive times would you like to enter?");
scanf(%s, &amt);
while(amt){
printf("Enter dive time in format(HH:MM):");
scanf(%s %s, &hh, &mm);
min = hh*60+mm;
total_min += min;
if(min>longest) {
longest = min;
c++;
}
amt--;
}
}
avg = total_min/c;
printf("Total dive time is %02d:%02d\n", (total_min/60), (total_min%60));
printf("Average dive time is %02d:%02d\n", (avg/60), (avg%60));
printf("Longest dive time is %02d:%02d\n", (longest/60), (longest%60));
return 0;
}