char buff[11];
float a=0;
ofstream file;
file.open("C:/Users/Desktop/test.txt");
file << "0123456789";
file.close(); //создал, открыл, записал, закрыл
ifstream fin("C:/Users/Desktop/test.txt"); // открыл для чтения
fin >> buff; // считали первое слово из файла
cout << buff; // напечатали это слово
fin.getline(buff, 11); // считали строку из файла
fin.close(); // закрываем файл
for (int i = 0; i < 11; i++){
a += buff[i];
cout << buff[i] << "\t" << a << endl;
}
a += buff[i];
Вы суммируете коды символов, а не их числовые значения. Правильно a += buff[i] - '0';
fin >> buff;
fin.getline(buff, 11);
for (int i = 0; i < 11; i++)
— неуниверсальная конструкция. Плюс цифр в строчке всего 10, поэтому надо i < 10
.