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

fread изменяет неиспользуеммые ею переменные - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напечатать повторяющиеся слова из текста http://www.cyberforum.ru/cpp-beginners/thread214460.html
Дан текст, нужно вывести на печать повторяющиеся слова. Уже несколько дней пытаюсь сделать, не получается, мозги кипят :) Помогите пожалуйста. Вот что пока у меня получилось... #include <conio.h> #include <string> #include <iostream> using namespace std; void main()
C++ Найти строчки в файле Здравствуйте помогите пожалуйсто решить задачку. Дан файл, содержащий сведения об автомобилях: марка, номер и фамилия владельца. Найти фамилии владельцев и номера всех автомобилей данной марки. http://www.cyberforum.ru/cpp-beginners/thread214453.html
C++ Удаление слов из строки
Добрый вечер. Помогите пожалуйсто решить задачку. "Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Исключить из строки слова, состоящие из символов русского и латинского алфавитов одновременно."
C++ вывод элементов по спирали. НЕ так, как в решённой.
помогите, пожалуйста, написать аналогичную программу для матрицы 7 6 5 16 8 1 4 15 9 2 3 14 10 11 12 13 только элементы нужно вывести так: 1, 4, 3, 2, 9, 8, 7, 6, 5 ,16, 15, 14 , 13, 12, 11, 10
C++ ИСПРАВЬТЕ ЧТО НЕ ТАК. http://www.cyberforum.ru/cpp-beginners/thread214421.html
В матрице посчитать среднее арифметическое положительных и отрицательных элементов матрицы. Вот что получилось...все по ходу верно...но выдает не правильный ответ.Исправьте пожалуйста! #include <vcl.h> #include <conio.h> #include <iostream.h> #pragma hdrstop //---------------------------------------------------------------------------
C++ Подсчитать слова, состоящие из латинских прописных букв. int main(int argc, char* argv) { int cnt=0, i; char *str="I can use the online Help system from the Help menu."; for (i=1; strlen(str); i++) if (str in ) cnt++; printf("Stroka = %s", str); printf("Dlina slov = %d", cnt); getchar(); подробнее

Показать сообщение отдельно
Exeil
 Аватар для Exeil
5 / 5 / 1
Регистрация: 06.12.2010
Сообщений: 50
19.12.2010, 12:26     fread изменяет неиспользуеммые ею переменные
Всем привет моя задача сделать программу для регистрации пассажиров, я сделал функцию и встретился с такой проблемой, что после использования fread сбивается несколько переменных, не используемых в ней.

Вот то получается в цикле после первого использования fread
Картинка

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
int call_reg()
{
    int k;
    FILE *freg;
    reis n_reg;
    if ((freg = fopen("reg.dat", "rb+")) == NULL)
    {
        fprintf(stderr, "\nЋиЁЎЄ*: ”*©« reis.dat *Ґ ¬®¦Ґв Ўлвм Їа®зЁв**.\n");
        return -2;
    }
 
    printf("  ");
    ramka(74, 0);
    //‚лў®¤ ३ᮢ Ё§ д*©«*
    int size_type_reg = 32*sizeof(char)+14*sizeof(int);
    unsigned long kol_reg = filelength(fileno(freg)) / size_type_reg;
    int i = 0;
    //for(i = 0; i < kol_reg; i++)
    for(i = 0; i < kol_reg; i++)
    {
        fread(&n_reg, size_type_reg, 1, freg);
        printf("%2dє Їг*Єв: %16s ®вЇа*ўЄ*: %2d.%2d.%2d ЇаЁЎлвЁҐ: %2d.%2d.%2d Ї®б*¤ЄЁ: %16s *®¬Ґа б*¬.: %2d є\n", i, n_reg.punkt, n_reg.time_start.p_day, n_reg.time_start.p_chas, n_reg.time_start.p_menuta, n_reg.time_finish.p_day, n_reg.time_finish.p_chas, n_reg.time_finish.p_menuta, n_reg.promej_posadki, n_reg.sam);
    }
    printf("  ");
    ramka(74, 1);
 
    //।*ЄвЁа®ў**ЁҐ б*¬®«Ґв*
    char komanda[90];
    char *l;
    printf("\n‚ўҐ¤ЁвҐ *®¬Ґа ३б*: \n");
    scanf("%s", &komanda);
    flushall();
 
    if (l = strstr(komanda, "edit"))
    {
        l += 4;
        k = atoi(l);
        printf("\n‚ўҐ¤ЁвҐ *®¬Ґа ३б* Ї®¤«Ґ¦*饣® Ё§¬Ґ*Ґ*Ёо: \n*0-*ЁзҐЈ® *Ґ ¬Ґ*пвм\n");
 
        if(k < 0 || k >= i) return 1;
        printf("‚ўҐ¤ЁвҐ ў в*Є®¬ в*Є®¬ Ї®ап¤ЄҐ: [Їг*Єв] [ўаҐ¬п ®вЇа*ўЄЁ] [ўаҐ¬п ЇаЎлвЁп] [Їа®¬Ґ¦гв®з*лҐ Ї®б*¤ЄЁ][*®¬Ґа б*¬®«Ґв*]\n *ЎҐ§ ЁбЇ®«м§®ў**Ёп бЄ®Ў®Є []\n");
        gets(komanda);
 
        //ђ*бЇ®§**Ґ¬ ўўҐ¤Ґ**го Ё*д®а¬*жЁо
        l = strtok(komanda, " ");
        strcpy(n_reg.punkt, l);              //Їг*Єв
 
        //ўаҐ¬п ®вЇа*ўЄЁ ў в*Є®¬ д®а¬*вҐ: [¤Ґ*м.з*б.¬Ё*гв*]
        l = strtok(NULL, " ");
        n_reg.time_start.p_day = atoi(l);    //¤Ґ*м ®вЇа*ўЄЁ
        n_reg.time_start.p_chas = atoi(l+3);
        n_reg.time_start.p_menuta = atoi(l+6);
        //ўаҐ¬п ЇаЁЎлвЁп
        l = strtok(NULL, " ");
        n_reg.time_finish.p_day = atoi(l);     //¤Ґ*м ®вЇа*ўЄЁ
        n_reg.time_finish.p_chas = atoi(l+3);  //з*б
        n_reg.time_finish.p_menuta = atoi(l+6);//¬Ё*гв*
 
        //Їа®¬Ґ¦гв®з*лҐ Ї®б*¤ЄЁ
        l = strtok(NULL, " ");
        strcpy(n_reg.promej_posadki, l);
 
        //*®¬Ґа б*¬®«Ґв*
        l = strtok(NULL, " ");
        n_reg.sam = atoi(l);
 
        //¬Ґ*塞 ў д*©«Ґ
        fseek(freg, k*size_type_reg, SEEK_SET);
        fwrite(&n_reg, size_type_reg, 1, freg);
        fclose(freg);
        printf("‡*ЇЁбм Ё§¬Ґ*Ґ**.");
        getch();
        return -1;
    }
    else
    {
        k = atoi(komanda) - 1;
        return k;
    }
 
}
В чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru