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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нужно написать программу-рисовалку фигур http://www.cyberforum.ru/cpp-beginners/thread38829.html
нужно написать программу-рисовалку фигур сначала программа запросит у пользователя что надо нарисовать: 1 для квадрата, 2 для прямоугольника, 3 для треугольника. Потом попросит ввести нужные размеры: сторону квадрата или две стороны прямоугольника или высоту треугольника Далее в зависимости от выбора, нарисует соответствующюю фигуру. После отображения фигуры просит выбрать что нарисовать...
C++ Нахождение кратчайшего пути от одной вершины графа до другой Парни помогите доделать , в общем дан граф , я представил его связи в виде матрицы смежностей #include <iostream.h> #include <conio.h> #include <math.h> #define v 8 int main() { clrscr(); cout<<"vvedite i and j"<<endl; http://www.cyberforum.ru/cpp-beginners/thread38803.html
C++ Рекурсия: получить число, цифры в котором будут расположены в обратном порядке
Нужно получить с помощью рекурсивной функции число, символы в котором будут расположены в обратном порядке. Например 123 получим 321. Вот что у меня получилось: #include <iostream> #include <vector> using namespace std; vector <int> rec2(vector<int> &vec1, char *chislo1, int &b) { b=sizeof(chislo1); if (b==0) { return vec1;
C++ Описать функцию, которая изменяет заданную строку следующим образом
задача:Описать функцию, которая изменяет заданную строку следующим образом: сначала записывает все элементы с четными индексами, а затем все элементы с нечетными индексами ( с сохранением их относительного порядка в каждой группе). Например, abcdefgh => acegbdfh, vwxyz => vxzwy. компилятор:borland c++ вот ошибки: #include <iostream> using namespace std;//компилятор пишет declaration syntax...
C++ Объясните принцип действия алгоритма!!! http://www.cyberforum.ru/cpp-beginners/thread38771.html
Это задача о сумме подмножеств, нужно найти элементы массива сумма которых равно нулю{14,-7,-10,4,3, 5, -19, -12, 9, 6}; #include "stdafx.h" #include <math.h> #define N 10 int summ(int l, int *a) { int S=0, k;//к-номер варианта, сдвинутый на j позиций вправо, s– сумма необходимых элементов от 0 до j for(int j=0;j<N;j++) { k=l%2;//получить младший бит числа
C++ Постраничный вывод текста У меня есть функция вывода содержимого файла на экран. И задаётся максимальное количество строк на одну страницу 21. И если у меня на последней странице должно остаться меньше чем 21 строчка, то мне дополняет строками предыдущей страницы и в суме 21 получается! Что мне нужно изменить или дописать? Вот моя функция! #define PAGESIZE 21 int txt2() { char s; int i, count,n=0,str =... подробнее

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

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