I've been trying to calculate the Second standard deviation but the average in the second loop isn't calculating correctly which is causing the standard deviation (method 2) to not calculate correctly. I can't find anything wrong. please help

Code:#include <iostream> #include <iomanip> #include <string> #include <fstream> #include <cmath> using namespace std; int main () { cout << "\nThis program will produce statistics (Mean, Standard Deviation, " "Maximum and Minimum values of the list) for a list of integer values." "The user will provide the names of input and output files.\n" ; cout <<"\nEnter the name and location of the input file: " ; string file_input ; getline(cin, file_input); ifstream fin( file_input.c_str() ) ; if(fin.fail()) { cout << "Bad file name or location.\n" ; exit(0); } cout <<"Enter the name and location of the output file: "; string file_output ; getline(cin, file_output); ofstream fout( file_output.c_str() ); cout << "\nReading values first time. . .\n" ; fout << "\nReading values first time. . .\n" ; int num; int count = 0 ; double total = 0 ; int Min = 100; int Max = 0; double totalSq=0; double avg=0; double stdDev=0; fin >> num; while(!fin.eof()) { cout << num << ' ' ; fout << num << ' ' ; if( ++count%10 == 0 ) { cout << '\n' ; fout << '\n' ; } { total += num ; if( num > Max ) Max = num ; if( num < Min ) Min = num ; totalSq+= num*num; fin >> num; } } avg = total / count ; if (count>0) { stdDev = sqrt((totalSq/count) - pow(avg,2)); cout << fixed << setprecision(3); cout << "\n\nNumber of values read: " << count << endl; cout << setw(40) << right << "Mean of the values: " << avg << endl; cout << setw(40) << right << "Standard deviation using method 1: " << stdDev << endl; cout << setw(40) << right << "Greatest value: " << Max << '\n' ; cout << setw(40) << right << "Least value: " << Min << '\n' ; fout << fixed << setprecision(3); fout << "\n\nNumber of values read: " << count << endl; fout << setw(40) << right << "Mean of the values: " << avg << endl; fout << setw(40) << right << "Standard deviation using method 1: " << stdDev << endl; fout << setw(40) << right << "Greatest value: " << Max << '\n' ; fout << setw(40) << right << "Least value: " << Min << '\n' ; fin.close(); } fin.open(file_input.c_str()); cout << "\nReading values second time. . ." << endl; fout << "\nReading values second time. . ." << endl; stdDev=0, totalSq=0; total=0; avg = total/count; count = -1; fin >> num; while(!fin.eof()) { if(++count%3 == 0) { cout << setw(3) << num; fout << setw(3) << num ; total += num; totalSq+= (num-avg) * (num-avg); } fin >> num; } count = (int)(count/3) + 1; if (count > 0) { stdDev = sqrt(totalSq/count); cout << "\n\nNumber of values read: " << count << endl; fout << "\n\nNumber of values read: " << count << endl; cout << setw(40) << right << "\n\tStandard Deviation using method 2: "<< stdDev <<endl; fout << setw(40) << right << "\n\tStandard Deviation using method 2: "<< stdDev <<endl; } return 0; }