Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mercial
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 6
#1

Вывести список команд,набравших более Z очков - C++

14.06.2012, 06:17. Просмотров 461. Ответов 3
Метки нет (Все метки)

Вывести список команд,набравших более Z очков. Мой пример проверьте плз и подскажите что исправить.Нет вывода.Уверен что ошибка в
C++
1
2
if (as<=r.koloch) 
printf ("\n\t%10s \t%6.2d  \t\t%5d ",r.naz, r.koligr,as);


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void zad1()
{clrscr();
int as;
 FILE *fp;
 fp=fopen("spisok","r");
 printf ("\n Введите очки: ");
 scanf ("%d",as);
 while ((fp=fopen ("spisok","r"))==NULL)
{puts (" \n Не удалось открыть файл \n ");
 return;
}
 
while (fread(&r,sizeof(r),1,fp)==1)
{ if (as<=r.koloch)
printf ("\n\t%10s \t%6.2d  \t\t%5d ",r.naz, r.koligr,as);
}
getch();
 
fclose(fp);
printf ("\n\n\n\n\n\n\t Для возврата в главное меню нажмите любую клавишу...");
getch();
menu6();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2012, 06:17     Вывести список команд,набравших более Z очков
Посмотрите здесь:

Вывести список сотрудников, проработавших на предприятии более 20 лет. C++
C++ Отсортировать список каманд по суммам очков....
Отсортировать список команд C++
Дано символ C - исходная ориентация локатора и целые числа N1 и N2 - две посланные команды. Вывести ориентацию после выполнения этих команд C++
С++ Отсортировать список спортивных команд C++
C++ Как вывести более точное значение
C++ Вывести в порядке возрастания стоимости список товаров, хранящихся более одного месяца
C++ Вывести ориентацию локатора после выполнения команд
Вывести на печать номера участников в порядке возрастания набранных ими очков C++
Вывести список сотрудников, проработавших на предприятии более 20 лет C++
Вывести список книг издательства "Дрофа", стоимость которых составляет более 300 руб C++
C++ Вывести слова строки, содержащие не более 4 букв

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
14.06.2012, 06:37     Вывести список команд,набравших более Z очков #2
А разве для работы с fread не требуется читать файл в двоичном (не преобразуемом) виде?
Я имею ввиду:
C++
1
fp=fopen("spisok.txt","rb");
И создавать его перед этим так же, не вручную.
Mercial
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 6
14.06.2012, 06:58  [ТС]     Вывести список команд,набравших более Z очков #3
Цитата Сообщение от FireOwl Посмотреть сообщение
А разве для работы с fread не требуется читать файл в двоичном (не преобразуемом) виде?
Я имею ввиду:
C++
1
fp=fopen("spisok.txt","rb");
И создавать его перед этим так же, не вручную.
Не совсем понял.Это фрагмент программы.Одно из заданий вывести список команд,набравших более Z очков,и этот фрагмент привёл.
FireOwl
62 / 44 / 5
Регистрация: 01.07.2009
Сообщений: 145
14.06.2012, 16:55     Вывести список команд,набравших более Z очков #4
Вы читаете файл таблицы как "r". Это обычное чтение файла, которое приводит его к текстовому виду.

Команды fread и fwrite - двоичные команды. Они требуют, насколько я знаю, чтобы файл с которым происходит работа записывался и читался как "rb" или "wb". То есть - в двоичном виде. Не в текстовом. Иначе данные покорежатся и вывода не будет, т.к. нифига не считалось.

Как-то так.
Yandex
Объявления
14.06.2012, 16:55     Вывести список команд,набравших более Z очков
Ответ Создать тему
Опции темы

Текущее время: 20:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru