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

Вывод содержимого при работе с файлом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите найти ошибку в приведенном листинге http://www.cyberforum.ru/cpp-beginners/thread911202.html
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> #include <conio.h> using namespace std; void main() { setlocale(0,"russian")
C++ СЛОВА (не все предложение) отобразить зеркально и записать строкой во второй файл Задача следующая: Имеется файл со строкой. Нужно СЛОВА (не все предложение) отобразить зеркально и записать строкой во второй файл. Как развернуть всю строку char (не используя файл я знаю), а как описано выше не могу придумать. http://www.cyberforum.ru/cpp-beginners/thread911181.html
В массив, упорядоченный по убыванию значений элементов, добавить новое число так, чтобы не нарушить упорядоченность C++
Имеется задача. В массив Х(N), N≤20, упорядоченный по убыванию значений элементов, добавить новое число так, чтобы не нарушить упорядоченность. Пожалуйста помогите решить!
C++ Найти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символов
Дана строка. Словом текста считается любая последовательность цифр; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова текста, которые образованы неубывающей последовательностью символов. Все остальные слова удалить. Вот нужно написать такую программу, я очень долго пытался сам сделать, но не получается :( Как я понял, суть в...
C++ Триангуляция многоугольника http://www.cyberforum.ru/cpp-beginners/thread911161.html
Добрый вечер. Ни у кого случайно нет алгоритма для триангуляции ПРОИЗВОЛЬНОГО многоугольника? Многоугольник задан количеством вершин и точками вершин в порядке обхода против часовой стрелки.
C++ Перебор массива и поиск повторяющихся чисел День добрый, подскажите пожалуйста, задача следующая, имеем массив {1,2,3,9,4,5,6,9,7,8,0}, тут девятка встречается два раза, необходимо обнулить элементы массива которые повторяются в нём, то бишь обнулить девятки. Я как понимаю нужно перебрать таким образом: for (int i = 0; i < size; i++) { for (int y = 0; y < size; y++) { } } подробнее

Показать сообщение отдельно
RidoTTi
1 / 1 / 0
Регистрация: 11.06.2012
Сообщений: 34

Вывод содержимого при работе с файлом - C++

24.06.2013, 23:13. Просмотров 367. Ответов 6
Метки (Все метки)

Есть программа для работы с файлом.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct infa
{
char fio[50];
int nomer, vozrast, rost,ves;
} bf;
 
void show ()
{
cout << bf.fio << endl
<< bf.nomer << endl
<< bf.vozrast << endl
<< bf.rost << endl
<< bf.ves << endl
<< "-------------------" << endl;
}   
 
void set ()
{
cout << "fio ";
cin >> bf.fio;
cout << "nomer";
cin >> bf.nomer;
cout << "vozrast";
cin >> bf.vozrast;
cout << "rost";
cin >> bf.rost;
cout << "ves :";
cin >> bf.ves;
}
 
int main()
{
FILE *f;
if ( (f = fopen ("c:\\file.txt", "rb")) != 0 )               //создание чтение 
      f = fopen ("c:\\file.txt", "ab+");                     //окрыть добав
else 
      f = fopen ("c:\\file.txt", "wb+");                     // вывод
 
cout << "1 - zapishet infy\n2 - pokazat vsy infy\n3 - zadanie\n";
short int sel;
cin >> sel;
switch (sel)
 {
    case 1 : 
    {
        int count;
        cout << "Kol-vo zapiseu\? :";
        cin >> count;
        for (int i=0; i<count; i++)
        {
            set();
            fwrite (&bf, sizeof(infa), 1, f);    // запись / чтение  __что именно__, _размер_ вычисляем размер - сумму всех полей __кол-во раз, куда- в файл.
        }
    }; break;
    case 2 :
    {
        while (feof(f) == 0)
        {
            fread (&bf, sizeof (infa), 1, f);
            show ();
        }
    }; break;
case 3 :
  {
    int ves, vozrast, rost;
    char *fio = new char;
    fread(&bf, sizeof (infa), 1, f);
    ves = bf.ves;
    vozrast = bf.vozrast;
    rost = bf.rost; 
        while (feof(f) == 0)
        {
            fread(&bf, sizeof (infa), 1, f);
            if ( (ves < bf.ves) && (vozrast < bf.vozrast) && ( rost > bf.rost) )
            {
                fio = bf.fio; 
                ves = bf.ves;
                vozrast = bf.vozrast;
                rost = bf.rost;     
            }     
        }
    cout <<"FIO- "<< fio << endl; cout <<"VES- "<< ves << endl;
    cout <<"VOZRAST- "<< vozrast << endl;
    cout <<"ROST- "<< rost << endl;
    }; break;
    }
 
system ("PAUSE");
return 0;
}
Проблема в том, что при выполнении задания(клавиша 3), вывод всё кроме фамилии(вместо фамилии непонятные закорючки). В чем может быть проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru