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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
awaylastdays
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 46
#1

Создать файл записей - C++

13.06.2014, 11:22. Просмотров 297. Ответов 6
Метки нет (Все метки)

Наработки оставил в учебном заведении поэтому не могу скинуть наработки.
Помогите с задачей пожалуйста!
Условие:"Создать файл записей что имеет такие поля: фамилия автора, название произведения.Удалить из файла все записи, в которых фамилия автора начинается с заданной пользователем буквы"

Добавлено через 13 часов 47 минут
вот наработки дальше не знаю как
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
#include <iostream.h>
 #include <stdio.h>
 
 void zapis(void)
 {
 FILE *file;
 char* file_name = "file.txt";
 char load_string[50] = "none";
 
 file = fopen( file_name, "w" );
 
 fputs( "string", file );
 
 fclose( file );
 
 file = fopen( file_name, "r" );
 if( file != 0 )
 {
 fgets( load_string, 50 , file );
 cout << "load_string = " << load_string << endl;
 }
 else
 {
 cout << "File not found !!!" << endl;
 }
 fclose(file);
 }
struct record
    {
    int familiya;
    char tvir[20];
    };
       int familiya1;
int main()
{
int i=0,j,n;
int size=0;
int otvet;
record sozd[100];
 
 
{
    i++;
    size++;
    cout<<"Vvedite Familiyu Avtora:\n";
    cin>>sozd[i].familiya;
    cout<<"Vvedite nazvanie tvoru:\n";
    cin>>sozd[i].tvir;
    cout<<"Prodolghat Zapolnenie?(1-Yes(don`t do this, 2-No(do this))\n";
    cin>>otvet;
 
}
system("pause");
}
Добавлено через 1 час 12 минут
не много доработал код чтоб можно было вводить данные в структуру
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
#include <iostream.h>
 #include <stdio.h>
 
 void zapis(void)
 {
 FILE *file;
 char* file_name = "file.txt";
 char load_string[50] = "none";
 
 file = fopen( file_name, "w" );
 
 fputs( "string", file );
 
 fclose( file );
 
 file = fopen( file_name, "r" );
 if( file != 0 )
 {
 fgets( load_string, 50 , file );
 cout << "load_string = " << load_string << endl;
 }
 else
 {
 cout << "File not found !!!" << endl;
 }
 fclose(file);
 }
struct record
    {
    char familiya[20];
    char tvir[20];
    };
       //char familiya1[20];
int main()
{
int i=0,j,n;
int size=0;
int otvet;
record sozd[100];
 
 
{
    do
{
    i++;
    size++;
    {
    cout<<"Vvedite Familiyu Avtora:\n";
    cin>>sozd[i].familiya;
    }
    {
    cout<<"Vvedite nazvanie tvoru: "<<endl;
    cin>>sozd[i].tvir;
    }
    cout<<"Prodolghat Zapolnenie?(1-Yes(don`t do this, 2-No(do this))\n";
    cin>>otvet;
}
 
while (otvet==1);
//{
//    do
 
 
 
 
}
system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 11:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать файл записей (C++):

Создать файл записей, имеющих следующие поля - C++
Создать файл записей, имеющих следующие поля: номер счета, сумма взноса. Номер счета может указываться в файле несколько раз. Создать новый...

Создать типированный файл записей, который содержит данные о квартирах, которые продаются - C++
Ребятушки, помогите, пожалуйста. С языком с++ совсем не дружу, но нужно сделать задачу. Создать типированный файл записей, который...

Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но в обратном порядке - C++
Пожалуйста, помогите решить задачу в C++!!! Дан файл целых чисел. Создать новый файл, содержащий те же элементы, что и исходный файл, но...

создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. - C++
Не могу понять почему не работает вот этот кусок текста. ofstream q (&quot;1.part&quot;); for (int i=0; i&lt;10; ++i) { q &lt;&lt; mas ; ...

Создать массив записей - C++
Создать массив записей A(n),n&lt;=20, каждая запись содержит сведения о книгах: автор, название и год издания. Распечатать массив на экране....

Создать БД с использованием массива записей - C++
Создать БД с использованием массива записей . В файле текстовом хранятся строки: номер наименование автор год выпуска кол-во на складе...

6
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
13.06.2014, 11:37 #2
В чём сложность? Записывай в файл каждое поле в свою строку, например.
0
awaylastdays
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 46
13.06.2014, 11:49  [ТС] #3
nmcf, сложность в том что ещё много задач и не успеваю между ними переключатся и просто нет времени чтоб вникнуть а надо сдать задачи через час( можете помоч ?
0
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
13.06.2014, 11:57 #4
Ну добавь в цикл ввода после 54-й строки
C++
1
2
fputs(sozd[i].familiya, file);
fputs(sozd[i].tvir, file);
Файл должен быть открыт.
1
awaylastdays
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 46
13.06.2014, 12:05  [ТС] #5
nmcf,
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
#include <iostream.h>
#include <stdio.h>
struct record
    {
    char familiya[20];
    char tvir[20];
    };
       char familiya1[20];
int main()
{
        {
        FILE *f;
        f=fopen("F:\\f.txt","r");
        if(f==NULL)
        puts("file not found");
        else
        puts("ok");
        }
 
        puts("reading text file");
        char filename[10];
        FILE *f;
        char c,str[256];
        char key;
        f=fopen("F:\\f.txt","w");
 
 
int i=0,j,n;
int size=0;
int otvet;
record sozd[100];
 
 
{
    do
{
    i++;
    size++;
 
    cout<<"Vvedite Familiyu Avtora:\n";
    cin>>sozd[i].familiya;
    fputs(sozd[i].familiya);
 
 
    cout<<"Vvedite nazvanie tvoru: "<<endl;
    cin>>sozd[i].tvir;
    fputs(sozd[i].tvir);
 
    cout<<"Prodolghat Zapolnenie?(1-Yes(don`t do this, 2-No(do this))\n";
    cin>>otvet;
}
 
while (otvet==1);
 
 
 
        cout<<"Vvedite bukvu: ";
        cin>>familiya1;
 
        //for(int i=1; i<=size; i++)
        //{
 
 
 
}
system("pause");
}
пока так

Добавлено через 5 минут
nmcf, помоги пожалуйста!
0
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
13.06.2014, 12:08 #6
Второй параметр у fputs() добавь и файлы закрывать не забывай.
1
awaylastdays
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 46
13.06.2014, 12:38  [ТС] #7
nmcf, ааааа надо сделать другую задачу не могу я сосредаточится на файлах

Добавлено через 31 секунду
nmcf, если напишете буду очень благодарен

Добавлено через 23 минуты
nmcf, как просто по букве вывести автора ?
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
#include <iostream.h>
#include <stdio.h>
struct record
    {
    char familiya[20];
    char tvir[20];
    };
       char familiya1[20];
int main()
{
        {
        FILE *f;
        f=fopen("F:\\f.txt","r");
        if(f==NULL)
        puts("file not found");
        else
        puts("ok");
        }
 
        puts("reading text file");
        char filename[10];
        FILE *f;
        char c,str[256];
        char key;
        f=fopen("F:\\f.txt","w");
 
 
int i=0,j,n;
int size=0;
int otvet;
record sozd[100];
 
 
{
    do
{
    i++;
    size++;
    {
    cout<<"Vvedite Familiyu Avtora:"<<endl;;
    cin>>sozd[i].familiya;
    fputs(sozd[i].familiya,f);
    }
    {
    cout<<"Vvedite nazvanie tvoru: "<<endl;
    cin>>sozd[i].tvir;
    fputs(sozd[i].tvir,f);
     }
    cout<<"Prodolghat Zapolnenie?(1-Yes(don`t do this, 2-No(do this))\n";
    cin>>otvet;
}
 
while (otvet==1);
 
 
 
        cout<<"Vvedite bukvu: ";
        cin>>familiya1;
 
        for(int i=1; i<=size; i++)
        {
        if(familiya1==sozd[i].familiya);
         cout<<"Cey avtor: "<<sozd[i].familiya<<"\n";
         else
         cout<<"Cyogo avtora naghal nemae\n"  ;
        }
 
 
}
system("pause");
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2014, 12:38
Привет! Вот еще темы с ответами:

Организовать файл записей - C++
Тема: Бинарные файлы. Организовать файл записей, содержащий сведения о странах (название страны, столица, государственный язык)....

Создать массив записей размером N с информацией о студенте - C++
Создать массив записей размером N с информацией о студенте: ФИО (string), Пол (char), год рождения (Integer), стипендия (real), адрес....

Сформировать файл записей о владельцах автомобилей - C++
Всем привет! У меня такая задача: нужно составить программу, которая формирует файл записей о владельцах автомобилей, в который входят:...

Добавление записей в файл. (Исправить ошибку) - C++
Приветствую всех. Такая проблема: Не добавляется запись в конец файла. Вот код: void addknigi(knigi sx, int n) { knigi p, *k; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
13.06.2014, 12:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru