Мне нужно было выполнить задание в колледже по C++, но, поскольку я лучше знаком с C, я попробовал просто использовать библиотеки C и выполнить его таким образом. Но мой код просто записал в файл какую-то тарабарщину, но она оказалась предсказуемой тарабарщиной, поскольку каждый раз при одних и тех же входных данных она была бы одинаковой. Мне нужно было закончить задание по C++, но я не знаю, что именно пошло не так с моим кодом на C
Вывод, который я получил, когда я ввел значения от 1 до 10 включительно, набрав по одному на строку в выходном текстовом файле, был следующим:
ϡ
/
9
10
9
10
Я понятия не имею, что пошло не так, и был бы очень признателен, почему произошел такой вывод. Заранее спасибо.
Мне нужно было выполнить задание в колледже по C++, но, поскольку я лучше знаком с C, я попробовал просто использовать библиотеки C и выполнить его таким образом. Но мой код просто записал в файл какую-то тарабарщину, но она оказалась предсказуемой тарабарщиной, поскольку каждый раз при одних и тех же входных данных она была бы одинаковой. Мне нужно было закончить задание по C++, но я не знаю, что именно пошло не так с моим кодом на C [code]#include using namespace std; int main() { FILE* input =fopen("","r"); FILE* output =fopen("","w"); if(input==NULL||output==NULL) { printf("Error opening file\n"); return 1; } float curnum=0, avg=0, max=-5555555, sum=0; int count=0; while(fread(&curnum,sizeof(float),1,input)!=0) { sum=sum+curnum; count++; if(curnum>max) { max=curnum; } } char newline='\n'; fclose(input); avg=(sum/(float)count); fwrite(&avg,sizeof(float),1,output); fwrite(&newline,sizeof(char),1,output); fwrite(&sum,sizeof(float),1,output); fwrite(&newline,sizeof(char),1,output); fwrite(&max,sizeof(float),1,output); fclose(output); }
[/code] Вывод, который я получил, когда я ввел значения от 1 до 10 включительно, набрав по одному на строку в выходном текстовом файле, был следующим: ϡ / 9 10 9 10 Я понятия не имею, что пошло не так, и был бы очень признателен, почему произошел такой вывод. Заранее спасибо.