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

[C++] Работа с файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка функций в C++ http://www.cyberforum.ru/cpp-beginners/thread34602.html
Создать класс Integer для работы с целыми числами. Определить перегруженную функцию, возвращающую sin аргумента. Функция не является членом класса целых чисел. перегруженные функции имеют аргументы типа int, double, integer. Тело перегруженных функций должны быть одинаковыми.
C++ компонент SpeedButton1 значит накладываю на спидбаттон картинку, прямоугольник 150х33 в котором по центру нарисована кнопка с закругленными концами и белым бортиком 2 пикселя примерно, кнопка соответственно имеет размеры 150х33. Проблема в том что когда запускается форма там где закругленные конци у кнопки вместо белого фона картинки мною загруженой проглядывается цвет просто кнопки, а он далеко не белый. Смориться... http://www.cyberforum.ru/cpp-beginners/thread34591.html
Двумерный динамический массив - найти ошибку в коде C++
пишу код: int **array; cout << "Size: "; int n; cin >> n; array = new int ; понимаю что в синтаксисе ошибка, но сам разобраться не могу. Помогите пожалуйста.
Вычисление арктангенса малых чисел C++
Привет всем! программировать я только учусь. мне необходимо вычислить значение atan(2^(-x)) в пределах x=0,...,2048 где-то до1100 я получаю нормальные значения, а дальше 0 объясните пожалуйсто что не так
C++ Файловый ввод вывод. небольшая загвоздка http://www.cyberforum.ru/cpp-beginners/thread34583.html
имеем текстовый файл.нужно переписать в новый файл все его строки, вставив в конец каждой строки количество символов в ней. #include "fstream" #include "iostream" #include "string" using namespace std; int main() { ifstream in("f.txt"); ofstream out ("g.txt");
C++ График в С++. Отладка Задача собственно такая: "Построить график функции p=2*y (этой буквой я заменила букву "фи" греч алфавит) " Вот текст программы: #include<iostream.h> #include<conio.h> #include<math.h> #include<graphics.h> main() {int driver,mode; driver=DETECT; initgraph(&driver,&mode,"d:\turboC\bgi"); подробнее

Показать сообщение отдельно
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.05.2009, 05:43     [C++] Работа с файлами
вот, нужно данные игроков хранить в одном файле

C
1
2
3
4
5
6
7
8
struct igrok {
    char name[100];
    char nick[100];
    char s4et[100];
    int  mon;
    int  win;
    int  los;
} someone;
эта структура временно хранит данные игрока, с неё потом формируется и файл вывода

то есть ты заносишь данные в эту структуру вопросами, потом эту структуру записываешь в общую базу (добавляешь - это fopen("database", "ab") )
потом, загружая всех игроков из этой базы в массив таких структур, ты сможешь их сортировать в массиве, или искать игрока в массиве
вот, и отдельно уже делаешь сохранение их файлов (это может быть и один файл для всех результатов в удобочитаемом виде, а может быть как у тебя - для каждого игрока отдельный файл, имя которого будет браться из someone.name )
C
1
2
3
    char filename[100];
 
    sprintf(filename, "%s%s", someone.name, ".txt");
потом fopen(filename, "w") и по новой каждый раз пишешь, чтобы старые результаты там переписывались новыми (они будут браться из общей базы и подсчитываться, пока находятся в массиве структур в программе, там же нужно победы складывать и поражения тоже)

то есть не нужно делать то, с чем работает программа и то, что потом будет читать человек, в одном флаконе
потому что читать иногда вообще проще через fread (это непрерывно загрузит одну запись для одного игрока по байтам, не различая где там имя где результат, главное надёжно), а уже потом в прочитанном к элементам структуры обращаться и они будут сами знать сколько байт занимают

и у тебя здесь не одно меню, а два - нужно написать две функции (они тогда получатся маленькие и понятные), если ещё и каждый пункт меню оформить как функцию, тогда программа начнёт разделяться на части (будет становится понятнее и многие участки можно будет совершенствовать или заменять целыми блоками)
например, в функции сохранения в файл (для одного игрока) можно вызвать функцию подсчёта всех результатов, а можно не вызывать её и от этого изменится вывод (там либо будет дописан общий результат, либо нет) - это проще, чем внутри программы где-то что-то менять, что может повлиять на другие свойства вывода (тут просто - одно строку закомментил и программа по-другому работает и тоже правильно)

в общем базу данных отдельно, файлы результатов отдельно, так как первое удобно обрабатывать, а второе удобно читать потом
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru