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

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

Войти
Регистрация
Восстановить пароль
 
Voronin
Сообщений: n/a
#1

Создание нового файла, который дополняет ранее созданный - C++

07.06.2009, 20:09. Просмотров 425. Ответов 1
Метки нет (Все метки)

Всем привет.

Прошу выполнить программу на Borlandc 1991 года, версии 3.1:

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

Вариант задания:

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

Прошу написать программу, с // - комментариями. Заранее всем спасибо.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2009, 20:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание нового файла, который дополняет ранее созданный (C++):

Создание нового файла - C++
Здравствуйте! Подскажите как создать фаил в программе?

Как настроить изначальный код, который открывается при создании нового проекта - C++
Объясните пожалуйста, как в Visual C++ 2008 Express настроить изначальный шаблон кода при создании нового проекта. Например, чтоб каждый...

Считывание файла в массив и запись нового файла - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

Записать в созданный файл все строки из файла add.txt - C++
#include <iostream> #include <fstream> #include <string> #include <Windows.h> #include <clocale> #include <sstream> // ...

Как скажем из главного файла C++ увидеть класс, созданный в отдельном файле? - C++
Как из главного файла C++ увидеть класс, созданный в отдельном файле? Хоть и не новичок в программировании, но только-только начал...

fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка '{' - C++
#include <stdio.h> int main(void) { int mas; for (int i=0; i<10; i++) for (int j=0; j<10; j++) scanf("%d", &mas); ...

1
Voronin
Сообщений: n/a
10.06.2009, 11:48 #2
Ответа не увидел. Но для тех, кто столкнется с данной задачей, пишу готовый код программы:

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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
#define bool int
#define true 1
#define false 0
 
struct ATS
{
   char fio[30];   // Familiya, imya, otchestvo
   char phone[20]; // nomer telefona
   char date[11];
};
 
void Add();
void wr();
 
int main()
{
   clrscr();
   while (true) // proverka ot 3...+
   {
      char c;
      cout << "Viberite operaciu: \n";
      cout << "\t-> 1. Dobavit v bazu \n";
      cout << "\t-> 2. Print \n";
      cout << "\t-> 3. Vihod \n";
      cout << "Operaciya: "; cin >> c;
      cin.ignore(); // ignoriruet simvols iz buffers
      cin.clear();  // ochistka bufera
 
   switch(c)  //operator vibora varianta
      {
      case '1': Add();   break;  // dobavlenie v ats
      case '2': wr();    break;
      case '3': exit(0); break;  // vihod iz prilozheniya
      }
   }
}
 
void Add()
{
   FILE* F = fopen("Ats.txt", "rt+"); // open ats
   bool f  = false; // true - new file
 
   if (!F) // esli file with ats not exist
   {
      F = fopen("Ats.txt", "wt+"); // create new ats
      f = true;
   }
 
fseek(F, 0, SEEK_END); // ustanovka position to the end (for prisoedineniya)
ATS ats; // ustanovka ATS (struktura) raznaya
cout << "Vvedite FIO:   ";
cin.getline(ats.fio, sizeof(ats.fio)); //read string s size of ats.fio
 
cout << "Vvedite nomer: ";
cin.getline(ats.phone, sizeof(ats.phone));
 
cout << "Vvedite datu:  ";
cin.getline(ats.date, sizeof(ats.date));
 
   // zapolnenie fila
   if (!f) fputc('\n', F);
   fputs(ats.fio, F);        fputc('\n', F); //zapis stroki v file
   fputs(ats.phone, F);  fputc('\n', F); 
   fputs(ats.date,F);      fputc('\n', F);
 
   fclose(F); // vihod iz file
}
 
void wr()
{
     char read_str[20], *result;
     FILE* f = fopen("Ats.txt", "r");
 
     while (!feof(f))
     {
      result=fgets(read_str,20, f); //fgets - vzyatie stroki iz fila
      cout << read_str;
     }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2009, 11:48
Привет! Вот еще темы с ответами:

Создание нового проекта C++ - C++
Ребят столкнулся с такой проблемой. Хочу создать новый проект C++ в Visual Studio 2010 Professional но он почему то не создаётся, остальные...

Создание нового класса - C++
Доброго времени суток!! Задание: 1. Определить пользовательский класс &quot;компьютер&quot;. 2. Определить в классе следующие конструкторы:...

Создание нового класса - C++
Доброго времени суток!! Задание: 1. Определить пользовательский класс &quot;компьютер&quot;. 2. Определить в классе следующие конструкторы:...

Создание нового потока - C++
Вот тут выдаёт ошибку. DWORD thID; CreateThread(NULL,NULL,SexToClient, &amp;client_socket,NULL,&amp;thID); } ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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