Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > не делает файл в бинарном виде(


Автор: Tema1 29.4.2013, 20:58
Вот что нужно сделать - "Написать функцию, которая принимает на вход целое число и возвращает количество единиц в бинарном представлении указанного числа", как я понял делаю Текстовый  файл и вношу все в бинарном виде. Все хорошо, только фай он мне не делает, почему не пойму( 
Код

#include <iostream>
#define _CRT_SECURE_NO_DEPRECATE

using namespace std;
/* Текстовый массив полностью пишем в файл
в бинарном виде
*/
int fun(int chis){
    FILE *f;
    f=fopen("New.txt","wb");
    unsigned char b;
    fwrite(&chis,1,sizeof(chis),f);
    fclose(f);
    return 0;
}

void main(){
    int h;
    cout << "Begin number = " << endl;
    cin >> h;
    int fun(int h);
    cout << "Eng" << endl;
    system("pause");
}

кто может подсказать почему?

Автор: math64 29.4.2013, 21:35
Потому что функцию fun(h) ты не вызываешь.
Но она не делает, то что нужно.
Ведь нужно посчитать число единиц, а не записать число в файл.
Дели число на 2 - остаток от деления будет младшая цифра двоичного представления,
Суммируй остатки пока не получишь частное 0.

Автор: Tema1 29.4.2013, 22:00
ааа т.е не так я делаю, хорошо спасибо, ну а все же про ф-кцию, а разве в мейне я ее не вызвал (тут уже интересно, допустим надо число в файл записать в бинарном виде)
Код

int fun(int h);

вот так?

Автор: Dem_max 30.4.2013, 04:16
Цитата(Tema1 @ 29.4.2013,  22:00)
ааа т.е не так я делаю, хорошо спасибо, ну а все же про ф-кцию, а разве в мейне я ее не вызвал (тут уже интересно, допустим надо число в файл записать в бинарном виде)
Код

int fun(int h);

вот так?

Это описание прототипа функции, а не ее вызов, для начала почитай умные книжки.

Автор: Tema1 30.4.2013, 10:06
Dem_max хороший ответ, мне понравился, спасибо...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)