0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
||||||
1 | ||||||
Работа с файлами. Неверный вывод.01.06.2012, 00:38. Показов 1386. Ответов 15
Метки нет (Все метки)
Всем доброго времени суток!
Ребят, нужна ваша помощь! В общем, создаю файл. Потом через функцию addClient добавления нового клиента в конец файла создаю структуру. Ввожу фамилию, язык, день, месяц, год. Потом вывожу все, что ввёл в функции showLib. и у меня выводит нечто очень странное: много букв М и какие-то непонятные цифры.. Помогите, пожалуйста, в чем дело?
0
|
01.06.2012, 00:38 | |
Ответы с готовыми решениями:
15
Работа с файлами. Вывод Ввод вывод.Работа с файлами C++ работа с файлами, вывод слов Работа с файлами, ввод/вывод |
61 / 61 / 12
Регистрация: 11.12.2009
Сообщений: 248
|
|||||||||||
01.06.2012, 00:50 | 2 | ||||||||||
Попробуй в пути к файлу про экранировать все символы.
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
||||||
02.06.2012, 00:57 [ТС] | 3 | |||||
исправил
в b.name b.lang b.day b.month b.year заносятся какие-то непонятные значения.. ): Добавлено через 23 часа 24 минуты что же Я делаю не так? ):
0
|
61 / 61 / 12
Регистрация: 11.12.2009
Сообщений: 248
|
|
02.06.2012, 12:18 | 4 |
Это же список. Попробуй в процедуре добавления создать переменную такой же структуры но без указателя на следующий елемент. Короче говоря попробуй убрать language *next; и посмотреть что получится.
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
||||||
02.06.2012, 14:46 [ТС] | 5 | |||||
Изменений особых нету.. после того как убрал список.. ):
Вот так выглядит код.. у меня изначально пустой файл.. Я в него ввожу данные. Ввел данные о двух клиентах и вот результат, когда Я привожу в действие функцию showLib: а в файле txt.txt записывается вот это:
0
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
|
02.06.2012, 15:40 | 6 |
У меня именно этот код работает успешно. Может быть, вы данные набираете как-то неправильно или фамилии слишком длинные?
Вообще-то, если файл изначально не существует всё работает. А если существует, но пустой - нет. Судя по всему, количество записей в начале файла записывается неверно...
1
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
||||||
02.06.2012, 15:46 | 7 | |||||
Надо поменять местами блоки кода таким образом:
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
|
02.06.2012, 16:15 [ТС] | 8 |
да, вроде теперь выводит на экране адекватное что-то, спасибо большое!
а вот что делать в самом текстовом файле? там опять какая-то абракадабра записывается ):
0
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
||||||
02.06.2012, 16:23 | 9 | |||||
Это нормальное положение вещей. Например, строка из 30 символов заполнена не полностью, и после символа окончания строки '\0' будет находится мусор. Его можно предотвратить так:
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
|
02.06.2012, 18:24 [ТС] | 10 |
0
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
|
02.06.2012, 18:31 | 11 |
Да, будут. Если хочется полностью текстового файла, можно переводить числа в текст и записывать их в строку через разделитель. Но это будет сложнее реализовать.
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
||||||
02.06.2012, 19:51 [ТС] | 12 | |||||
спасибо большое за помощь!
Добавлено через 2 минуты остался только последний вопрос (: чтобы произвести сортировку, к примеру по году рождения, прокатит ли такой код: // сортировка методом пузырька
0
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
||||||
02.06.2012, 20:17 | 13 | |||||
Ну, если разрешено использовать c++, я бы написал проще. Считываем все записи, сортируем и записываем обратно в файл. Функция сортировки есть стандартная, sort, надо только подключить файл algorithm и указать правильное условие сортировки.
1
|
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
|
||||||
02.06.2012, 20:46 [ТС] | 14 | |||||
судя по всему так не прокатит.. Я же изначально в массив структур заносил данные..
как же произвести сортировку по году?
из этого теперь возможно сделать сортировку? Добавлено через 12 минут спасибо! Но вот не как не могу понять, как нужно вывести результат на экран (:
0
|
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
|
|
02.06.2012, 20:52 | 15 |
Для вывода на экран можно выбрать пункт 2 в меню. Мне кажется, сортировке достаточно только сортировать.
1
|
0 / 0 / 1
Регистрация: 14.05.2013
Сообщений: 27
|
|
30.05.2013, 12:22 | 16 |
а в яве можете сделать так же
0
|
30.05.2013, 12:22 | |
30.05.2013, 12:22 | |
Помогаю со студенческими работами здесь
16
Работа с Файлами (запись/вывод) Работа с файлами, необычный вывод из файла Работа с типизированными файлами. Вывод в файл Работа с файлами.Ввод,вывод в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |