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

Файл произвольного доступа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Делимся знаниями по С++ http://www.cyberforum.ru/cpp-beginners/thread329054.html
По вашему зачем нужна виртуальная функция в программе? Какой от нее толк если она вызывается как обычная функция. Да я знаю что полиморфизм тут. Но по мне так достаточно одного базового класса который играет роль обобщенного интерфейса. Там тоже есть функции... У меня уже есть своя версия насчет виртуальной функции зачем она нужна и как её использовать в пользу в программе. Я хотел бы услышать...
C++ Программа на рекурсию - Перестановка ! Доброго времени суток, уважаемые знатоки. Возникла проблема с решением данной программы. Надеюсь услышать не глупые советы в стиле - решается простой рекурсией, или что тут всё просто как два пальца Суть : Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. Ввод В первой строке файла находится исходная строка. Вывод Вывести в каждой... http://www.cyberforum.ru/cpp-beginners/thread329004.html
C++ Функции языка с++ и считывание данных в массив
Помогите найти ошибку в решении задачки на функции с++ и хранение данных в массиве. Программа должна запрашивать ввод данных (счета при какой-то игре) и сохранять их в массив, после чего считать средний результат. Счет данных и подсчет среднего значения должны управляться отдельными функциями. Максимальное кол-во данных - 10. У пользователя должна быть возможность прерывать ввод данных при вводе...
C++ Пмогите допилить програмку
#include <iostream> using namespace std; int main() { struct list { int data; list *next; list *prev; }; list *cur=0;
C++ Форматирование тексту + ошибки + лишнее http://www.cyberforum.ru/cpp-beginners/thread328954.html
Вот задача + решение // xz.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using std::cout; using std::cin; using std::endl;
C++ Функции языка с++ Пожалуйста не поленитесь, прочитайте всё и помогите :) . Заранее СПАСИБО! Разработайте функцию calculate(), принимающую два значения типа double и указатель на функцию, которая принимает в качестве аргументов два значения типа double и возвращает значение типа double. Функция calculate() также должна иметь тип double. Она должна возвращать значение, вычисляемое функцией, на которую указывает... подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
03.07.2011, 15:27  [ТС]     Файл произвольного доступа
Цитата Сообщение от easybudda Посмотреть сообщение
А это просто не корректно. Функция должна string возвращать, возвращает то ли char* то ли const char*... Оно может само как-нибудь и приводится к нужному виду, но я бы как-то так сделал:
Переводится Хотя я попробую сделать как Вы написали, может эти преобразования как-то затрагивают мою запись в файл ...
Цитата Сообщение от Gepar Посмотреть сообщение
И самое главное, что не понятно - а где собственно объекты ClientData инициализируются?
Так вот же в .h файле всё инициализируется:
Цитата Сообщение от Gepar Посмотреть сообщение
//конструктор по умолчанию который устанавливает
//номер =0, имя = пустой строке и баланс =0
ClientData(int=0,string="",double=0.0);
Добавлено через 1 минуту
Цитата Сообщение от pito211 Посмотреть сообщение
хотя может и правильно, но как то криво. Эта строка
Ага, строка, из которой я потом копирую данные в массив символов.


Цитата Сообщение от pito211 Посмотреть сообщение
кстати фаил не закрыл
Сам закроется после выполнения, у меня пока беда в том что записывается криво, красивости и проверки я и потом могу навести ...

Добавлено через 1 минуту
Цитата Сообщение от easybudda Посмотреть сообщение
скопирует, сколько сможет, и '\0' не добавит. Добавьте
Кстати с вашим кодом будет два хвоста у файла (если меньше 14 символов то будет один символ конца например 10ым, а потом 14ым, можно тоже добавить проверку, ну да пока пусть так

Добавлено через 2 минуты
Учёл все правки, по прежнему каждый раз при открытии файла текстовым редактором символы разные после каждого запуска программы Код в первом посте сейчас поправлю с учётом правок.

Добавлено через 3 минуты
А нет, не поправлю, в любом случае код ClientData.cpp (реализация самого класса) теперь такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <string>
using std::string;
 
#include <cstring>
#include "ClientData.h"
 
ClientData::ClientData(int i, string n, double b)
{
    setID(i);
    setName(n);
    setBalance(b);
}
 
void ClientData:: setID(int i)
{
    ID=i;
}
 
int ClientData:: getID() const
{
    return ID;
}
 
void ClientData:: setName(string n)
{
    strncpy(name,n.data(),14);
    name[14] = '\0';
}
 
string ClientData:: getName() const
{
    string ret(name);
    return ret;
}
 
void ClientData:: setBalance(double b)
{
    balance=b;
}
 
double ClientData:: getBalance() const
{
    return balance;
}
Всё остальное не изменилось, что же ещё не так не пойму никак, соответственно если работать с таким классом то потом данные у меня с него читаются не корректно так что надо разобраться почему они записываются каждый раз по разному ... посмотрите ещё пожалуйста, может Вы чего увидите ещё подозрительного ...
 
Текущее время: 21:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru