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

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

Войти
Регистрация
Восстановить пароль
 
MargaritaS
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 31
#1

Структура "Государство". Блочный ввод-вывод - C++

16.05.2014, 18:34. Просмотров 656. Ответов 5
Метки нет (Все метки)

Задание. Сформировать двоичный файл из элементов, заданных в варианте структуры.Напишите программу, которая бы позволяла:
- добавлять записи;
- просматривать записи;
- просматривать записи, отвечающие некоторому условию;
- производить действия над числовой информацией хранящейся в записях.

1. Структура "Государство":
- название;
- столица;
- численность населения;
- занимаемая площадь.
Удалить все элементы, у которых численность меньше заданной, добавить элемент после элемента с указанным номером.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура "Государство". Блочный ввод-вывод (C++):

Структура "Государство". Блочный ввод-вывод - C++
Структура "Государство": - название; - столица; - численность населения; - занимаемая площадь. Удалить все элементы, у которых...

Структура "Человек". Блочный ввод-вывод / С++ для начинающих - C++
Структура "Человек": - фамилия, имя, отчество; - домашний адрес; - номер телефона; - возраст. Удалить, все элементы с заданным...

Структура "Государство". Структурирование информации - C++
Структура "Государство": - название; - столица; - численность населения; - занимаемая площадь. Необходимо информацию сохранить в...

Структура "Телефонная книга", файловый ввод/вывод - C++
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cstdlib> #include <tchar.h> #include <conio.h> ...

Структура «Преподаватель» с полями "ФИО", "стаж", "категория", "нагрузка" - C++
Функция - расчёт зарплаты по нагрузке и оплате часа для определенной категории. Категория Оплата часа Вторая 150 Первая 200 ...

Структура "Читатель библиотеки", не получается ввод времени - C++
нужно создать сруктуру, которая содержит номер читательского билетовфамилии авторовназвания книгиздательствагод изданиядата выдачисрок...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 138
16.05.2014, 18:43 #2
Что вы сделали на данный момент?
0
MargaritaS
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 31
16.05.2014, 18:46  [ТС] #3
Пока ничего, так как не знаю как это делать.У нас не было этой темы, а на практике дали задание. Вообщем как говорится делайте как хотите,знаете не знаете не важно.
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
16.05.2014, 19:05 #4
Начни с описания структур.
0
MargaritaS
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 31
16.05.2014, 19:23  [ТС] #5
Я написала вроде как описание структуры
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
#include <iostream.h>
#include <stdio.h>
#include <string.h>
struct Gosydarstvo 
{char nam[20];
 char stl[20];
 int ch;
 int pl;
};
char filename[]="data.dat"; 
FILE *f;
 
void vvod()  
 { Gosydarstvo ex;
   f=fopen(filename,"ab");
   cout << "\nNazvaniye:";
   cin >> ex.nam;
   cout << "\nStoliza:";
   cin >> ex.stl;
   cout << "\nChislennost naseleniya:";
   cin >> ex.Ch;
        cout << "\nPloshad:";
   cin >> ex.pl;
   fwrite(&ex,sizeof(Gosydarstvo),1,f);
   fclose(f);
 }
void vyvod()
 {
   Gosydarstvo ex;
   f=fopen(filename,"rb");
   while(!feof(f))
   {
   if(fread(&ex,sizeof(Gosydarstvo),1,f)==1)
    {
     cout << "\nNazvanie: " << ex.nam;
     cout << "\tStoliza: "<< ex.stl;
     cout << "\tChislennost naseleniya: "<< ex.ch<<'\n';
     cout << "\tPloshad: "<< ex.pl<<'\n';
    }
   }
   fclose(f);
 }
0
MargaritaS
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 31
18.05.2014, 19:21  [ТС] #6
Цитата Сообщение от nmcf Посмотреть сообщение
Начни с описания структур.
Описала структуру,сделала удаление.Не знаю как сделать добавление помогите пожалуйста.
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std ; 
struct Gosydarstvo //объявление структуры
{char nam[20];
char stl[20];
int ch;
int pl;
};
char filename[]="data.dat"; //имя файла
char data1[]="data1.dat";
FILE *f;
FILE *f1;
void vvod() //функция дописывает в файл запись 
{ Gosydarstvo ex;
f=fopen(filename,"ab");
cout « "\nNazvaniye:";
cin » ex.nam;
cout » "\nStoliza:";
cin » ex.stl;
cout « "\nChislennost naseleniya:";
cin » ex.Ch;
cout « "\nPloshad:";
cin » ex.pl;
fwrite(&ex,sizeof(Gosydarstvo),1,f);
fclose(f);
}
void vyvod()//функция отображает все записи из файла
{
Gosydarstvo ex;
f=fopen(filename,"rb");
while(!feof(f))
{
if(fread(&ex,sizeof(Gosydarstvo),1,f)==1)//если прочитано
{
cout « "\nNazvanie: " « ex.nam;
cout « "\tStoliza: "« ex.stl;
cout « "\tChislennost naseleniya: "« ex.ch«'\n';
cout « "\tPloshad: "« ex.pl«'\n';
}
}
fclose(f);
}
void obrabotka() // Удалить все элементы, у которых численность меньше заданной
{ Gosydarstvo ex;
int ich;
cout«"Zadayte chislennost: ";
cin»ich;;
f1=fopen("data1.dat","a+");
f=fopen(filename,"rb");
while(!feof(f))
{
if(fread(&ex,sizeof(Gosydarstvo),1,f)==)
{
if(ex.ch < ich)
}
fwrite(&ex,sizeof(Gosydarstvo),1,f1);
}
}
}
fclose(f);
fclose(f1);
remove(filename);
rename("data1.dat",filename);
vvod();
vvod();
vvod();
}
vvod();
}
void main()
{ char otv;
if((f=fopen(filename,"rb"))==NULL)//если файла нет,
f=fopen(filename,"wb"); // то создадим его
fclose(f);
do 
{// «меню»
cout«"Vyberi dejstvie:\n";
cout«"\t1-Vvod dannyh\n";
cout«"\t2-Vyvod dannyh\n";
cout«"\t3-Obrabotka dannyh\n";
cout«"\t4-Vyhod\n";
cin » otv;
switch(otv)
{//выбор действия
case '1': vvod();break;
case '2': vyvod();break;
case '3': obrabotka();break;
}
}
while (otv!='4');
}//main
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2014, 19:21
Привет! Вот еще темы с ответами:

Переделать ввод / вывод с "C++" на "С" - C++
Здраствуйте, нашел здесь на форуме код написаный на С++ #include &lt;iostream&gt; int func_one (int, int, int); // по значению. int...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Помощь со структурой "Государство" - C++
Нужна помощь. Мне нужно что бы под пунктом 4 в меню выдавались на экран англоязычные страны. Структура Структура &quot;Государство&quot;: ...

Решить задачу на файловый ввод/вывод (игра "Города") - C++
Не могу понять задачу и решить её на Си!!! Срочно! Дело в том что я сейчас на зачёте, и мне больше некуда обратиться. Помогите прошу...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.05.2014, 19:21
Ответ Создать тему
Опции темы

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