Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Перевод чисел из десятичной системы счисления в любую другую Считать с клавиатуры целое неотрицательное число в десятичной системе счисления и основание новой системы счисления (целое число от 2 до 10). Вывести в консоль число, записанное в новой системе счисления. Задача решается без массивов. Вот моя програма она работает медленно. Как сделать быстрее без масивов #include <stdio.h> void print(int number, int step, int base) { if ( step != 0... https://www.cyberforum.ru/ c-beginners/ thread1278790.html Дано предложение. В нем только два слова одинаковые. Найти эти слова C (СИ)
Дано предложение. В нем только два слова одинаковые. Найти эти слова (можно использовать string.h)
C (СИ) Дано слово. Определить сколько различных букв в нём (можно использовать string.h) https://www.cyberforum.ru/ c-beginners/ thread1278657.html
Дано слово. Определить сколько различных букв в нём (можно использовать string.h), например, если вводим greeterg, результат будет 4
C (СИ) Перевод кода из с++ в с Господа, помогите перевести из с++ в си фрагменты кода, очень надеюсь) // пользовательские функции // меняем местами строки в массиве с коэфицентами уравнения void exchange(double **mas, int razmer,int from, int to){ for(int i=0; i < razmer; i++){ mas = mas + mas; mas = mas - mas; mas = mas - mas; } https://www.cyberforum.ru/ c-beginners/ thread1278656.html
Ввести строку, вывести на экран только слова, имеющие заданную длину C (СИ)
Ввести строку, вывести на экран только слова, имеющие заданную длину.
C (СИ) Удалить из массива все числа-соседи https://www.cyberforum.ru/ c-beginners/ thread1278619.html
Задан целочисленный массив размера N. Удалить из массива все числа-соседи (два одинаковых м стоящих рядом числа, являются соседями). Например: 12234 Вывести: 134
C (СИ) Обобщить функцию линейного поиска Обобщить функцию линейного поиска size_t linear_search(const int *a, size_t size, int key) { size_t idx = 0; while (a!=key && idx<size) ++idx; return idx; }для применения при поиске элемента в массиве от элемента с индексом first по элемент с индексом last. https://www.cyberforum.ru/ c-beginners/ thread1278600.html Проверить истинность высказывания: «Цифры данного числа образуют возрастающую последовательность» C (СИ)
Дано трехзначное число. Проверить истинность высказывания: «Цифры данного числа образуют возрастающую последовательность».использовать только оператор if
C (СИ) Удвоить каждое вхождение символа в строку Помогите перекинуть с Паскаля на Си. var s:string; c:char; begin writeln('Введите строку'); readln(s); write('Введите символ '); readln(c); for i:=length(s) downto 1 do if s=c then insert(c,s,i); https://www.cyberforum.ru/ c-beginners/ thread1278580.html C (СИ) Сортировка строк матрицы: Вывести отсортированную матрицу по суммам строк https://www.cyberforum.ru/ c-beginners/ thread1278529.html
Помогите пожалуйста разобраться со второй частью задания. Что я делаю не так? Не выводит отсортированную матрицу по суммам строк. Задание: В матрице 7x7 упорядочить элементы каждой строки по возрастанию, а строки матрицы расположить по убыванию суммы элементов строк. #include <stdlib.h> #include <stdio.h> #include <time.h>
C (СИ) Программа выводит повторяющиеся слова и их частоту. Нужно чтобы она выводила частоту всех слов
#include <stdio.h> int main() { char text; char *a,*pov; char* t; int i=0,j,k,sk,pov_count,h=0,d,f; printf("\nVvedite text:\n");
C (СИ) Построить матрицу, симметричную относительно исходной Задана матрица А вещественных чисел размера N*N(N<=20, задается как параметр). Построить по ней матрицу В такого же размера, элементы которой получаются симметричным отражением элементов матрицы А относительно горизонтальной оси симметри. Прошу заглаумистые задачи не делать, с <stdio.h> только, других я пока не знаю. Заране благодарю всех откликнувшихся людей:) https://www.cyberforum.ru/ c-beginners/ thread1278482.html
0 / 0 / 0
Регистрация: 06.09.2014
Сообщений: 14
18.10.2014, 20:22  [ТС] 0

Запись структуры в файл - C (СИ) - Ответ 6737709

18.10.2014, 20:22. Показов 810. Ответов 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getlines.h>
#define MAXLINE 100
 
 
struct Note
{
    
    int Tel;
    int Bday[3];
    char* Name;
};
 
void swap(Note* n,Note* m){
    Note c;
    c = *n;
    *n = *m;
    *m = c;
}
 
 
 
void Input(Note* Blocknote,int *n){
    int i;
    for(i = 0;i<*n;i++){
        char buff[200];
        printf("Enter Fisrt and Second names: \n");
        getchar();
        gets(buff);
        Blocknote[i].Name = strdup(buff);
        printf("Enter Telephone number: \n");
        scanf("%u",&Blocknote[i].Tel);
        printf("Enter birthday day: \n");
        scanf("%d",&Blocknote[i].Bday[0]);
        printf("Enter birthday month: \n");
        scanf("%d",&Blocknote[i].Bday[1]);
        printf("Enter birthday year: \n");
        scanf("%d",&Blocknote[i].Bday[2]);
        
        }   
}
 
void Sort(Note* Blocknote,int n){
    int i,j;
    for(i = 0;i<n;i++){
        for(j=0;j<n;j++){
            if(Blocknote[i].Bday[2] > Blocknote[j].Bday[2])
                swap(&Blocknote[i],&Blocknote[j]);
            else if(Blocknote[i].Bday[2] == Blocknote[j].Bday[2]){
                    if(Blocknote[i].Bday[1] > Blocknote[j].Bday[1])
                        swap(&Blocknote[i],&Blocknote[j]);}
                    else if(Blocknote[i].Bday[1] == Blocknote[j].Bday[1]){
                            if(Blocknote[i].Bday[0] > Blocknote[j].Bday[0])
                                swap(&Blocknote[i],&Blocknote[j]);}
            }
}
}
 
void MonthSort(Note* Blocknote,int n){
    int requirement;
    int flag = 0;
    printf("Enter sorting requirement: \n");
    scanf("%d",&requirement);
    int i,j;
    for(i = 0;i<n;i++){
            if(Blocknote[i].Bday[1] == requirement ){
                flag = 1;
                printf("Name :\t%s\nTelephone number:\t%d\nBirthday: \t%d-%d-%d\n\n",Blocknote[i].Name,Blocknote[i].Tel,
                Blocknote[i].Bday[0],Blocknote[i].Bday[1],Blocknote[i].Bday[2]);}
            if(flag == 0) printf("There are no people with this properties...\n");
}
}
 
 
 
int main(){
    int len;
    int n;
    int i;
    int j;
    int decision;
    int decision1;
    printf("Make your choice:\n");
    printf("1 - open exists file\n");
    printf("2 - create new file\n");
    scanf("%d",&decision);
        if(decision == 1){
            FILE* f = fopen("StructOutput.data","rb");
            fread(&n,sizeof(int),1,f);
            
            Note* Blocknote = (Note*)calloc(n,sizeof(Note));
            for(i=0;i<n;i++){
                fread(&Blocknote[i].Tel,sizeof(int),1,f);
                fread(&Blocknote[i].Bday[0],sizeof(int),1,f);
                fread(&Blocknote->Bday[1],sizeof(int),1,f);
                fread(&Blocknote[i].Bday[2],sizeof(int),1,f);   
                fread(&len,sizeof(int),1,f);
                fread(Blocknote[i].Name,1,len,f);
            
            }
            fclose(f);
            printf("Make your choice:\n");
            printf("1 - Add new information\n");
            printf("2 - Take exists information\n");
            scanf("%d",&decision1);
            if(decision1 == 1){
                Input(Blocknote,&n);
            }
            printf("Sorted: \n");
            Sort(Blocknote,n);
            for(i=0;i<n;i++)
                printf("[%d] = %s\n",i,Blocknote[i].Name);
                printf("\n");
                MonthSort(Blocknote,n);
                for(i=0;i<n;i++){
                free(Blocknote[i].Name);
                    }
            }
            
        if(decision == 2){
            FILE* f = fopen("StructOutput.data","wb");
            printf("Enter the number of person: \n");
            scanf("%d",&n);
            Note* Blocknote = (Note*)calloc(n,sizeof(Note));
            Input(Blocknote,&n);
            Sort(Blocknote,n);
            for(i=0;i<n;i++)
                printf("[%d] = %s\n",i,Blocknote[i].Name);
                printf("\n");
            MonthSort(Blocknote,n);
            //for(i=0;i<n;i++){
            //free(Blocknote[i].Name);}
            
 
            fwrite(&n,sizeof(int),1,f);
            for(i=0;i<n;i++){
                len = strlen(Blocknote[i].Name);
                fwrite(&Blocknote[i].Tel,sizeof(int),1,f);
                fwrite(&Blocknote[i].Bday[0],sizeof(int),1,f);
                fwrite(&Blocknote[i].Bday[1],sizeof(int),1,f);
                fwrite(&Blocknote[i].Bday[2],sizeof(int),1,f);
                fwrite(&len,sizeof(int),1,f);
                fwrite(Blocknote[i].Name,len,1,f);
            }
            fclose(f);
                }
 
}


Вернуться к обсуждению:
Запись структуры в файл C (СИ)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2014, 20:22
Готовые ответы и решения:

Запись структуры в файл
есть структура struct base { int id; char name; }; typedef struct base office; ...

Запись структуры в файл
Здравствуйте! Исходный код записи структуры в файл: #include &lt;stdio.h&gt; typedef __int8 ...

Запись структуры в файл
Дан файл (testNEW.txt), в котором записана информация о ноутбуках. Часть этой информации нужно...

Запись структуры в файл
Как правильно будет записать структуру данных в файл, что бы затем без проблем его можно было...

6
18.10.2014, 20:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2014, 20:22
Помогаю со студенческими работами здесь

Запись структуры в бинарный файл
если вам покажутся мои вопросы глупыми, не удивляйтесь, решил сам с нуля изучать си, есть книжки...

Неправильная запись структуры в файл
Добрый вечер. Передаю данные из структуры в файл, но вместо того, что записываю я, в файле...

Запись структуры папок в файл
С помощью system(&quot;tree /f&quot;) можно вывести на экран структуру папок того места где находится...

Запись из структуры в файл и обратно
Всем привет! Никак не могу нормально считать и записать з файла в структуру и обратно. Коды...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru