Форум программистов CodeGuru
18 Январь 2018, 16:12:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: не работает код  (Прочитано 1711 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Igor95
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 07 Январь 2013, 10:46:57 »

Привет!
Столкнулся с проблемой, вроде бы заменил в файле отрицательные числа нулем, пытаюсь выводить и тут облом - выводит совершенно не то(((
Код:
#include <iostream>
using namespace std;
int N;//количество элементов
int i;//итератор для прохода по одномерному массиву
int c=1;

FILE *file;//файловая переменная
char filename[100];//имя файла (адрес его нахождения)
int intin[100];//элементы одномерного массива
int intout[100];//выходной буфер
int retvalue;
void main() {
cout << "Specify the path to the file: ";
gets(filename);
file=fopen(filename, "w+b");
if (file==NULL) {
cout << "Error opening the file...";
}
else {
cout << "Enter the amount of the elements you want to enter: ";
cin >> N;
while (N<=0 || N>100) {
cout << "Wrong amount. Re-enter: ";
cin >> N;
}
cout << "Enter " << N << " digits" << "\n";
//блок ввода элементов (1)
for (i=0; i<N; i++) {
cout << "# " << c << ": ";
cin >> intin[i];
c++;
}
retvalue=fwrite(intin, sizeof(int), N, file);//в переменную retvalue запишется реально считанное количество байт
cout << "The amount of the read elements is: " << retvalue << "\n";
rewind(file);
fread(intout, sizeof(int), N, file);
cout << "In the file(what you've entered): " << "\n";
for (i=0; i<retvalue; i++) {
cout << intout[i];
}
    
for (i=0; i<N; i++) {
fseek(file, sizeof(int)*i, 0);
retvalue=fread(intout, sizeof(int), 1, file);
cout << "retvalue: " << retvalue << "\n";
cout << "intout[" << i << "]: " << intout[i] << "\n";
if (intout[i]<0) {
intout[i]=0;
cout << "intout[" << i << "]: " << intout[i] << "\n";
}
}

for (i=0; i<N; i++) {
cout << intout[i];
}

rewind(file);
retvalue=fwrite(intout, sizeof(int), N, file);
cout << "\n";
cout << "retvalue: " << retvalue;
cout << "\n";
cout << "In the file(result): " << "\n";
fread(intout, sizeof(int), N, file);
for (i=0; i<retvalue; i++) {
cout << intout[i];
}
}
fclose(file);
system("pause");
}
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 07 Январь 2013, 13:24:03 »

А чего конкретно вы от программы получить хотите ?
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!