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

Создать программу обработки файла типа запись "Успеваемость студента" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ API & C++ http://www.cyberforum.ru/cpp-beginners/thread368797.html
Приветствую Вас уважаемыые форумчане... Не подскажете какой справочник по функциям API С++
C++ Проверить правильность расстановки символов “/*” и “*/” для комментариев Проверить правильность расстановки символов “/*” и “*/” для комментариев в фрагменте программы на языке С++. http://www.cyberforum.ru/cpp-beginners/thread368784.html
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ C++
После каждого слова текста, заканчивающегося заданной подстрокой, вставить указанный символ. помогите! :)
Рассортировать числа по частоте встречаемости, используя алгоритм обмена C++
Известно, что в массиве размерности N могут быть только целые числа из диапазона 1..31. Рассортировать эти числа по частоте встречаемости, используя алгоритм обмена.
C++ Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы. http://www.cyberforum.ru/cpp-beginners/thread368779.html
Две строки целочисленной матрицы назовём похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк в максимальном множестве попарно непохожих строк заданной...
C++ Открытие txt файла для просмотра #include <stdio.h> int main() { FILE * fi; fi = fopen("test.txt","rt"); int n; while( !feof(fi) ) { fscanf( fi, "%d\n", &n ); printf("%d\n",n ); подробнее

Показать сообщение отдельно
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
19.10.2011, 12:09
Цитата Сообщение от p1ggy Посмотреть сообщение
Но там есть еще индивид задание, где надо вывести тех людей, Н-ной группы, у которых ФИО начинается на А, Б, В.
Читаешь файл, если очередной считанный элемент удовлетворяет условию, то выводишь на экран.
Цитата Сообщение от p1ggy Посмотреть сообщение
Плюс к этому не знаю как реализовать именно "редактирование старых" данных.
Данные записываются блоками фиксированного размера (равного размеру структуры).
Открываешь файл с режимом "r+b", что означает чтение\запись в бинарном режиме.
Далее выбираешь нужную запись, устанавливаешь указатель в файле на начало этой записи, используя функцию
C
1
int fseek ( FILE * stream, long int offset, int origin );
где stream - указатель на файл, offset - насколько байтов нужно сместить указатель, origin - относительно чего отсчитывать. offset = <номер_записи>*<размер_структуры>, origin = SEEK_SET, что означает отсчет будет вестись относительно начала файла.
Затем считываешь структуру, меняешь нужные элементы в ней, возвращаешь указатель в файле опять на начало редактируемой записи, записываешь.
Выглядит примерно так:
C
1
2
3
4
5
6
n = 2; // номер редактируемой записи, нумерация идет с 0!!!
fseek(Fz, n*sizeof(T_BD), SEEK_SET);
fread(&BD, 1, Fz);
// изменяем нужные элементы записи
fseek(Fz, n*sizeof(T_BD), SEEK_SET);
fwrite(&BD, 1, Fz);
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru