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

Дан файл,содержащий информацию о поступлении платежей по квартплате в текущий год - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объявление функции другом класса http://www.cyberforum.ru/cpp-beginners/thread647210.html
Объявил функцию другом класса и в функции обращаюсь к закрытым данным класса,но почему-то не получается из-за того,что нет доступа к ним,хотя в другой функции-друге класса всё нормально вот class Subscriber { friend class Call; friend class Date; friend void MainMenu(vector<Subscriber> &subscribers); friend bool Savedata(vector<Subscriber> &subscribers); public:
C++ Не выводит список на экран Здравствуйте! Проблема вот в чем: при запуске программы ошибок не возникает, только мигнет черное окошко и все. Отлаживая программу выяснил, что проблемма находится тут, операция присваивания не происходит, пишет невозможно вычислить выражение: int n = sizeof(books); for (int i = 0; i < n; i++) { last = new(record); (*last).book.author = books.author; (*last).book.title = books.title;... http://www.cyberforum.ru/cpp-beginners/thread647209.html
C++ найти точку
вводится N- количество домов и К- количество дорог. дома пронумерованы от 1 до N. каждая дорога определяется тройкой чисел- двумя номерами домов- концов дороги и длиной дороги. в каждрм доме живет по одному человеку. найти точку- место встречи всех людей, от которой суммарное расстояние до всех домов будет минимальным. если точка лежит на дороге, то указать номера домов-концов этой дороги и...
Блок схема Челночной сортировки C++
Очень нужна блок схема Челночной сортировки!!!
C++ заданы координаты сторон треугольника http://www.cyberforum.ru/cpp-beginners/thread647188.html
если треугольник существует, то найти его площадь. решить задачу с использованием функций
C++ дано число в К-ичной системе счисления an an-1 ...а0 (К<=36). найти остаток от деления его на m. числа К,n,m, как и остаток от деления на m, представляются в десятичной системе счисления. подробнее

Показать сообщение отдельно
Rio5
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 86
09.09.2012, 15:52  [ТС]     Дан файл,содержащий информацию о поступлении платежей по квартплате в текущий год
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
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
 
#define  DL_FIO 25
#define  DL_LC  10
#define  DL_KV 3
#define  DL_MS 2
#define  DL_PL 5
 
struct man
{  char  nom [DL_LC];
   char fio [DL_FIO];
   char  kvar [DL_KV];
   char  mon [DL_MS];
   char sum [DL_PL+2];
};
 
void plat(FILE *f);
void sumzn(FILE *f);
 
 
 
int main()
{
    FILE *f;
    char n;
    clrscr();
    f= fopen("kv.txt", "r");
    if (f==NULL)
    {  puts ("Файл  kv.txt не найден");
         getch();
       return 1;
    }
    do
    {  puts ("\n========================================================");
       puts ("Выберите номер пункта меню:");
       puts ("1 - вывод списка номеров квартир с фамилими жильцов, от которых поступили платежи за указанный месц");
       puts ("2 - суммарное значение поступивших с начала года платежей по заданному номеру лицевого счета или номеру квартиры");
       puts ("3 - выход");
       puts ("------------------------------------------------------");
       n = getche();
       switch(n)
       {
          case '1': plat(f); break;
          case '2': sumzn(f);break;
          case '3': break;
          default: puts("\nНужно вводить номер пункта от 1 до 3");
       }
       if (n!='3')
       {  puts("\nДл продолжени нажмите любую клавишу");
          getch();
       }
    }
    while (n != '3');
    fclose(f);
    return 0;
}
void plat (FILE *f)
{
    char mon[DL_MS];
    int n=0;
    struct man tz;
 
    puts ("\nВведите месц");
    gets  (mon);
    rewind(f);
    while (fgets((char *)&tz,sizeof(struct man),f)!= NULL)
        if (strncmp(tz.mon,mon, DL_MS-1) == 0 )
        {  if (n==0)
           { puts("№   Фамили И.О.  Квартира№");
             puts("----------------------------");
           }
           tz.kvar[DL_MS-1]='\0';
           printf ("%d. %s\n", ++n, tz.fio);
 
        }
    if (n==0)  puts ("\nнет жильцов, заплативших за указанный месц");
}
 
void sumzn(FILE *f)
{ char nom[DL_LC];
  int s=0,n,x;
  unsigned int i,j;
  struct man tz[3];
  puts("\nvvedite nomer");
  gets(nom);
  rewind(f);
  while(fgets((char *)&tz,sizeof(struct man),f)!=NULL)
  { for(i=0; i<3;i++)
  { if(tz[i].nom==nom)
  { x=i;
  for(j=0;j<1;j++)
  s+=tz[x].sum[j];    }
  }
  }
  printf("\nplat=%d",s);
 
 
}
где ошибка? можете подсказать?
0022001231 Valiev I.I                 49 11 3000
0022001232 Sidorov A.D.             51 10 3400
0022013451 Ivanov P.A.              12 12 4800
 
[size="1"][color="grey"][I]Добавлено через 23 минуты[/I][/color][/size]
void sumzn(FILE *f)
{ char nom[DL_LC];
  int s=0,n,x;
  unsigned int i,j;
  struct man tz;
  puts("\nvvedite nomer");
  gets(nom);
  rewind(f);
  while(fgets((char *)&tz,sizeof(struct man),f)!=NULL)
  { for(i=0; i<5;i++)
  {
 
  s+=tz.sum[i]-'0';    }
 
   tz.sum[6]='\0'; }
  printf("\nplat=%d",s);
 
 
}
в функции где ошибка?
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru