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

Как правильно создать функцию? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с zip архивами http://www.cyberforum.ru/cpp-beginners/thread692114.html
Кто-нибудь знает хорошую библиотеку?
C++ Перевод чисел из 10очной системы счисления в 3ую Это схема: http://s60.***********/i168/1211/6f/70dd775c9ead.jpg Суть программы пользователь вводит число она считает и выводит остатки в обратном порядке. У меня опыта не хватает сделать чистый код :( помогите плиз. Пришёл вечерком накидал:#include <iostream> #include <cmath> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread692095.html
вычислить значение функции, используя ряд тейлора C++
Написать программу на языке C в среде Microsoft Visual Studio 2010 C++, реализующую предложенное вариантом задание (вычислить значение функции, используя ряд тейлора). Исходные данные задаются путем ввода с клавиатуры. Ответ необходимо вывести на экран с описанием задания, входных и выходных данных. Программу необходимо написать с использованием функций. Цикл while. Заранее спасибо!
Объекты и классы C++
Добрый день . Помогите написать пожалуйста ... Пункт приема платежей за проезд по автостраде. Платеж составляет 50 рублей, но есть машины, которые проезжают бесплатно. Необходимо написать программу, которая выводила бы сумму платежей и общее количество проехавших машин. В конструкторе происходить задание начальных значений суммы и начальное общее количество поехавших машин. Метод solve()...
C++ Выражения из скобок http://www.cyberforum.ru/cpp-beginners/thread692065.html
Построить все правильные скобочные выражения . На входе число - на выходе все строки Например 2 () 4 ()() (()) 6 ()()() ()(())
C++ Builder Найти количество всех положительных элементов массива Добрый день! У меня еще появился вопросик по нахождению количества всех положительных элементов массива. Массив задается через StringGrid, все ячейки заполняются нормально, генерируется на ура. но вот когда по кнопке пытаюсь найти количество всех положительных элементов массива, выдает разные числа, которые не соответствуют действительности, иногда даже больше чем общее число элементов массива.... подробнее

Показать сообщение отдельно
nohope
Сообщений: n/a

Как правильно создать функцию? - C++

08.11.2012, 14:52. Просмотров 254. Ответов 0
Метки (Все метки)

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

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

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
125
126
127
128
129
130
131
132
133
134
135
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <clocale>
using namespace std;
struct Tutors
{
char nazvanie[20];
char articul[20];
char cena[20];
char strana[10];
char maldev[10];
};
// функция вывода на экран содержимого файла
void outfile(fstream& f, int n)
{
Tutors a;
f.seekg(0);// установить указатель файла на начало
cout<<setw(26)<<"Название игрушки|"<<setw(9)<<"Артикул|"<<setw(7)<<"Цена|"<<setw(10)<<"Страна|"<<setw(11)<<"Мал./Дев.|"<<endl; 
cout<<setw(63)<<" _______________________________________________________"<<endl;
for(int i=0; i<n; i++)
{
f.read((char *)&a,sizeof a);// чтение из файла 
cout<<setw(25)<<a.nazvanie<<"|"<<setw(8)<<a.articul<<"|"<<setw(6)<<a.cena<<"|"<<setw(9)<<a.strana<<"|"<<setw(10)<<a.maldev<<"|";
cout<<endl;
}
}
// функция чтения данных из текстового файла и запись данных в бинарный файл
int read_f(fstream &f, fstream &out)
{
int i=0;Tutors a;
while(!f.eof())// пока не конец файла
{
f>>a.nazvanie>>a.articul;f>>a.cena;f>>a.strana>>a.maldev;
out.write((char *) &a, sizeof a);
i++;
}
return i;
}
// функция сортировки в порядке убывания
void sort(fstream &f,int n)
{
Tutors max,a;
int n_max;
for(int i=0;i<n;i++)
{
f.seekg(i*(sizeof a));
f.read((char *)&max,sizeof max);
n_max=i;
for(int j=i+1;j<n;j++)
{
f.read((char *)&a,sizeof a);
if(strcmp(a.cena,max.cena)>0) 
{
max=a;
n_max=j;
} } 
f.seekg(i*(sizeof a));
f.read((char *) &a,sizeof a);
f.seekp(i*(sizeof a));
f.write((char *) &max,sizeof max);
f.seekp(n_max*(sizeof a));
f.write((char *) &a,sizeof a);
 
}
}
// функция формирования нового файла по стране и полу
int IsStranaMaldev(fstream &f,fstream &f_new,int n,char c, char d)
{
    int k=0;
    Tutors a;
    f.seekg(0);f_new.seekp(0);
    for(int i=0;i<n;i++)
    {
        f.read((char *) &a, sizeof a); 
        int srticmp(char *c[10], char *d[10]);
        {
            k++;
            f_new.write((char *) &a,sizeof a);
            
        }
    }
    return k;  }
 
int main()
{
setlocale(LC_CTYPE,"Russian");
fstream in ("data.txt", ios::in);
if(!in)
{
cout<<"не открыт data.txt"<<endl;
return 1;
}
fstream out ("data.dat", ios::out | ios::binary);
if(!in.is_open())
{
cout<<"не открыт data.dat"<< endl;
return -1;
}
int size_f=read_f(in,out);
in.close();out.close();
fstream out_f ("data.dat", ios::in | ios::out | ios::binary);
if(!out_f)
{
cout<<"не открыт data.dat"<<endl;
return 1;
} 
 
outfile(out_f,size_f);
sort(out_f,size_f);
cout<<endl;
fstream out_f2 ("data2.dat", ios::out | ios::binary);
if(!out_f2.is_open())
{
cout<<"не открыт data2.dat"<< endl;
return -1;
}
out_f2.close();
fstream out_f1 ("data2.dat", ios::in |  ios::out | ios::binary);
    if(!out_f1)
    {
        cout<<"не открыт data2.dat"<<endl;
        return 1;
    }
    char c,d;
    cout<<"Введите страну>";
    cin>>c;
    cout<<"Введите пол>";
    cin>>d;
 
outfile(out_f1,IsStranaMaldev(out_f,out_f1,size_f, c,d));
out_f.close();out_f1.close();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru