Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 3
1

Структура "Владелец автомобиля". Почему не работает?

23.12.2014, 02:05. Показов 1761. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
25. Дан файл, содержащий сведения о владельцах автомобилей. Структура записи файла: фамилия и инициалы владельца, марка и номер автомобиля.
Написать программу, которая печатает
- фамилии владельцев и номера автомобилей данной марки;
- количество автомобилей каждой марки


Кмпилируется, но нужного результата нет...

Содержание текстового файла "cars.txt"

Melnikov A.A. Lada A120AT
Melnikov A.A. Subaru C924EP
Sabitov S.T. Lexus O231OO
Makarov P.V. Niva K999EH
Evdokimov S.S. Mazda X634CC
Novikov O.B. Kamaz A122EO
Igoshin M.A. Lada O123KM
Sidorchuk L.R. Mercedes C222CC


C++ (Qt)
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
// Курсач.cpp : main project file.
 
#include "stdafx.h"
 
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
 
#define  DL_FIO     16  
#define  DL_AVTO    9
#define  DL_NUMBER  6
 
#define N 50
 
struct cars
{ char fio[DL_FIO];
  char avto[DL_AVTO];
  char number[DL_NUMBER];
};
 
struct Tbl 
{ char sl[DL_AVTO];
  int kol;
};
 
void FioFind (FILE *f);
void CarsSort (FILE *f);
void Tablisa (struct Tbl tab[], int *dt, char *tsl);
 
//********************************************************
//********************MAIN FUNCTION***********************
//********************************************************
int main()
{   FILE *f; 
    char n;  
    
    f= fopen("cars.txt", "r");
    if (f==NULL)
    {  puts ("File 'cars.txt' not found");
     getch();
       return 1;
    }
    do
    {  puts ("\n========================================================");
       puts ("Chose any punct of menu:");
       puts ("1 - FioFind ");
       puts ("2 - CarsSort");
       puts ("4 - Exit");
       puts ("------------------------------------------------------");
       n = getche();
       switch(n)
       {
          case '1': FioFind (f); break;
          case '2': CarsSort (f); break;
          case '4': break;
          default: puts("Press '4' for exit");
       }
       if (n!='4')
       {  puts("\nPress any key to continue");
          getch();
       }
    }
    while (n != '4');
    fclose(f);
    return 0;
}
 
void FioFind (FILE *f)
{   char model[DL_AVTO]; 
    int n=0;         
    struct cars tz; 
 
    puts ("\nEnter model name of car");
    gets  (model);
    rewind(f);
    while (fgets((char *)&tz,sizeof(struct cars),f) != NULL)
        if (strncmp(tz.avto,model, DL_AVTO-1) == 0 )
        {  if (n==0)
           { puts("№        Sername          Number");
             puts("--------------------------------------------------");
           }
           //tz.number[DL_NUMBER - 1] = '\0';
           printf ("%d%s%s", ++n, tz.fio, tz.number);
        }
    if (n==0)  puts ("\nThis model not found");
}
 
void CarsSort (FILE *f)
{ Tbl tab[N];
  int dt=0;
  struct cars tz;
 
 
  while (fgets((char *)&tz,sizeof(struct cars),f) != NULL)
      Tablisa (tab, &dt, tz.avto);
 
  int i;
  puts ("\n Model        Kol-vo");
  puts ("\n-------------------------------");
  for (i=0;i<dt;i++)
      printf ("%-*s%i\n", DL_AVTO, tab[i].sl, tab[i].kol);
 
  
}
 
void Tablisa (struct Tbl tab[], int *dt, char *tsl)
{ int i;
 
  for (i=0;i<(*dt) && strcmp (tab[i].sl, tsl);i++);
  if (i<(*dt))
      tab[i].kol++;
  else
  { if (*dt<N)
       { strcpy (tab[i].sl,tsl);
         tab[i].kol=1;
         (*dt++);
       }
    else
    { 
        puts ("Not enough storage");
    }
  }
}
Добавлено через 3 минуты
При вызове функции FioFind он выдаёт мне мою ошибку: This model not found
При вызове функции CarsSort отображается только шапка таблицы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2014, 02:05
Ответы с готовыми решениями:

Структура "Владелец автомобиля": - фамилия, имя, отчество; - номер автомобиля; - телефон; - номер техпаспорта. Удалить элемент с заданным номером, доб
Структура &quot;Владелец автомобиля&quot;: - фамилия, имя, отчество; - номер автомобиля; - телефон;...

Задать массив размерностью 3, элементами которого являются структура "Владелец автомобиля"
Помогите никак не могу написать программу на С. Задать массив размерностью 3, элементами которого...

Структура "Владелец автомобиля"
Структура &quot;Владелец автомобиля&quot;: - фамилия, имя, отчество; - номер автомобиля; - телефон;...

Структура "Владелец автомобиля"
Структура &quot;Владелец автомобиля&quot;: - фамилия, имя, отчество; - номер автомобиля; - телефон;...

2
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 3
23.12.2014, 02:08  [ТС] 2
Структура "Владелец автомобиля". Почему не работает?
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 3
23.12.2014, 02:11  [ТС] 3
Я лучше и текстовый файл добавлю, вот
cars.txt
0
23.12.2014, 02:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2014, 02:11
Помогаю со студенческими работами здесь

Структура "Владелец автомобиля"
Создать Структуру владелец автомобиля: - ФИО (фамилия, имя, отчество); - номер автомобиля; -...

Структура владелец телефона
Вот код,я сделал но сама програма роботает неправильно добавляю данные,а их не выводит не хочеть...

Структура владелец телефона
С полями фамилия; имя; отчество; домашний адрес (почтовый индекс, страна, область, район, город,...

Структура элемента массива «владелец»
Добрый день. Подскажите пожалуйста, фрагмент кода, который будет отвечать за: количество...

Файл со структурой "Владелец автомобиля", создание, поиск
Создать файл с сообщениями о фамилии влас¬никив автомобилей, марки автомобилей, их цвет и год...

Структура элемента массива «владелец»: имя, адрес (строка), тип недвижимости, количество комнат, площадь
Структура элемента массива «владелец»: имя, адрес (строка), тип недвижимости, количество комнат,...

Структура С++ нужна допомога, не знаю почему программа не работает, пожалуйста
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru