Люди добрые,подскажите пожаааааалуйста,почему код не фурычит,а то я скоро расшибусь))))))))))
Суть кода:
либо вводим с клавы,либо выводим из файла наввания книг,тираж,год издания.Прога сортирует те,что выпущены в период с 2000 по 2010гг
нельзя использовать тип string,надо использовать char
вот код который не работает,я уже не выдерживаю!!!!
#include<iostream>
#include <iomanip>
#include <fstream>
#define _CRT_SECURE_NO_WARNINGS
using namespace std;
struct book
{
char name[100];
unsigned year;
unsigned circulation;
};
void func(book*arr, book*array1, int N, int kolvo);
int kolvo(book*arr, int N);
int main()
{
int n, N, otkr;
string kng = "TextFile1.txt";
setlocale(LC_ALL, "Rus");
book *arr;
cout << "ВЫБЕРИТЕ СПОСОБ ВВОДА.0 - С КЛАВИАТУРЫ, 1 - ИЗ ФАЙЛА \n";
cin >> otkr;
if (otkr == 0)
{
cout << "ВВЕДИТЕ РАЗМЕР МАССИВА \n";
cin >> N;
arr = new book[N];
for (int i = 0; i < N; i++)
{
cout << "ВВЕДИТЕ НАЗВАНИЕ КНИГИ \n";
cin >> arr[i].name;
cout << "ВВЕДИТЕ ТИРАЖ \n";
cin >> arr[i].circulation;
cout << "ВВЕДИТЕ ГОД \n";
cin >> arr[i].year;
};
for (int i = 0; i < N; i++)
{
cout << arr[i].name << " " << arr[i].circulation << " " << arr[i].year << endl;
};
}
else
{
fstream knigi;
knigi.open("TextFile1.txt");
knigi >> N;
arr = new book[N];
for (int i = 0; i < N; i++)
knigi >> arr[i].name >> arr[i].circulation >> arr[i].year;
};
n = kolvo(arr, N);
book* array1;
array1 = new book[n];
cout << "!!!!!!!!!!!!!!!!!!!!!" << n;
func(arr, array1, N, n);
for (int i = 0; i < n; i++)
{
cout << "КНИГИ НАПЕЧАТАННЫЕ С 2000 ПО 2010 :" << arr[i].name << " " << arr[i].circulation << endl;
}
system("pause");
}
void func(book*arr, book*array1, int N, int kolvo)
{
int schet = 0;
for (int i = 0; i < N; i++)
{
if ((arr[i].year > 1999) && (arr[i].year < 2011)) {
strcpy(array1[schet].name, arr[i].name);
array1[schet].circulation = arr[i].circulation;
schet++;
}
}
}
int kolvo(book*arr, int N)
{
int kolvo = 0;
for (int i = 0; i < N; i++)
{
if (arr[i].year > 1999 && arr[i].year < 2011)
{
kolvo++;
}
return(kolvo);
}
}