Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Dgaizer
41 / 41 / 5
Регистрация: 25.03.2014
Сообщений: 402
1

Переписать в новый файл информацию о штрафах, размер которого и дата вводятся с клавиатуры

23.12.2014, 19:08. Просмотров 364. Ответов 3
Метки нет (Все метки)

Переписать в новый файл информацию о штрафах, размер которого и дата вводятся с клавиатуры 4 функцию сделать не могу может кто помочь?
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
#include <clx.h>
#pragma hdrstop
#include<iostream.h>
#include<fstream.h>
#include<stdio.h>
#include"windows.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct shtraf {char fam[10]; char nomer[15]; float data;int cymma;} s1;
void input(FILE *); 
void print(FILE *); 
void app(FILE *); 
void poisk(FILE *);
int main()
{  SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
  char c;
  FILE *tf;
  while (1)
  { clrscr();
  
    puts("  1 - Новый файл");
    puts("  2 - Просмотр файла");
    puts("  3 - Добавить в файл");
    puts("  4 - Поиск и запись в новый файл");
    puts("  0 - Выход");
    c=getch();
    switch(c)
    { case '1':input(tf);break;
      case '2':print(tf);break;
      case '3':app(tf);break;
      case '0':return 0;
      default : puts(" Нет такого");
     }
  }
}
void input(FILE *tf)
{ char ch;
  tf=fopen("car.dat","wb"); 
  clrscr();
  printf("\n Ввод штрафор\n");
  do
  { printf("\n Фамилия: "); scanf("%s",&s1.fam);
    printf(" Номер авто: "); scanf("%s",&s1.nomer);
    printf(" Дата: "); scanf("%f",&s1.data);
    printf("Размер штрафа:"); scanf("%d",&s1.cymma);
    fwrite(&s1,sizeof(s1),1,tf); 
    printf("\n Закончить?  д/н  ");
    ch=getch();
  }
  while (ch != 'д');
  fclose(tf);
}
void print(FILE *tf)
{ int i;
  clrscr();
  tf=fopen("car.dat","rb"); 
  i=1;
  fread(&s1,sizeof(s1),1,tf); // 
    printf("\n|-------------------------------------------------------------------------------------|");
    printf("\n|                          Содержание файла                                       |");
  while (!feof(tf))
  {
    printf("\n|%3d |Фамилия:%10s| Номер автоГ®:%10s| Дата:%6.2f |Размер штрафа:%4d      |",i, s1.fam,s1.nomer,s1.data,s1.cymma);
    printf("\n|_____________________________________________________________________________________|");
    fread(&s1,sizeof(s1),1,tf);
    i++;
  }
  getch();
}
void app(FILE *tf)
{ char ch;
  tf=fopen("car.dat","ab");
  clrscr();
  printf("\n  Ввод штрафов \n");
  do
  {  printf("\n Фамилия: "); scanf("%s",&s1.fam);
    printf(" Номер авто: "); scanf("%s",&s1.nomer);
    printf(" Дата: "); scanf("%f",&s1.data);
     printf(" Размер штрафа: "); scanf("%d",&s1.cymma);
    fwrite(&s1,sizeof(s1),1,tf);
    printf(" Закончить?  д/н ");
    ch=getch();
  }
  while (ch != 'д');
  fclose(tf);
}
void poisk(FILE *tf)
{ char c;
 float data2;
 int cymma2;
 int i;
  tf=fopen("car.dat","rb+"); 
  clrscr();
  puts(" Ввод даты: "); scanf("%f",&data2);
  puts("Ввод суммы: "); scanf("d", &cymma2);
  fread(&s1,sizeof(s1),1,tf);
  while (!feof(tf))
  {  if (s1.data==data2) && (s1.cymma==cymma2)
     {   printf(" Фамилия %s номер %d дата %d  %d размер штрафа" ,s1.fam,s1.nomer,s1.data,s1.cymma);
         printf("\n Записать? д/н ");
         c=getch();
         if (c=='д')
         { char ch;
           tf=fopen("new.dat","wb"); 
            clrscr();
             fwrite(&s1,sizeof(s1),1,tf);
         }
  fclose(tf);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2014, 19:08
Ответы с готовыми решениями:

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

Переписать в новый файл g всю информацию по f в обратном порядке
Задали исходный файл с текстом f. Переписать в новый файл g всю информацию по f в обратном порядке....

В новый файл переписать информацию о книгах, выпущенных заданным издательством
В файле хранится информация о книгах:шифр, фамилия автора, название книги, издательство, год...

Дан файл, компонентами которого являются символы. Переписать все символы в новый файл в обратном порядке.
Работа с текстовыми файлами. Дан файл, компонентами которого являются символы. Переписать все...

Открыть файл по параметрам: Дата создания, Дата изменения , Размер
Добрый день уважаемые господа программисты. Кто сталкивался с подобной задачей?: Необходимo...

3
chocobo
16 / 16 / 17
Регистрация: 22.06.2013
Сообщений: 73
Записей в блоге: 3
24.12.2014, 13:38 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
void poisk(FILE *tf)
{ char c;
 float data2;
 int cymma2;
 int i;
  tf=fopen("car.dat","rb+"); 
  FILE *tf_new;
  puts(" Ввод даты: "); scanf("%f",&data2);
  puts("Ввод суммы: "); scanf("%d", &cymma2);
  fread(&s1,sizeof(s1),1,tf);
  while (!feof(tf))
  {  if ((s1.data==data2) && (s1.cymma==cymma2))
     {   printf(" Фамилия %s номер %d дата %d  %d размер штрафа" ,s1.fam,s1.nomer,s1.data,s1.cymma);
         printf("\n Записать? д/н ");
         c=getch();
         if (c=='д')
         { char ch;
           tf_new=fopen("new.dat","wb"); 
            
             fwrite(&s1,sizeof(s1),1,tf_new);
         }
  }
  }
  fclose(tf_new);
  fclose(tf);
}
1
Dgaizer
41 / 41 / 5
Регистрация: 25.03.2014
Сообщений: 402
24.12.2014, 15:35  [ТС] 3
chocobo, да
0
Dgaizer
41 / 41 / 5
Регистрация: 25.03.2014
Сообщений: 402
06.01.2015, 14:28  [ТС] 4
chocobo, такая проблема тут не выходит при вводе
C++
1
printf("\n Записать? д/н ");
когда ввожу н заново начинается вывод соответствующего и запрос на запись
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2015, 14:28

Поиск наименьшего элемента в массиве элементы которого вводятся с клавиатуры
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdbool.h&gt; #include &lt;math.h&gt; #include...

Найти наименьший элемент массива размером М х N, элементы которого вводятся с клавиатуры
Найти наименьший элемент массива размером МхN, элементы которого вводятся с клавиатуры.

Создать массив, элементы которого вводятся с клавиатуры, и определить наибольший элемент массива
создать массив, элементы массива вводятся с клавиатуры и определить наибольший элемент массива


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

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

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