Почему не работает код c++?

Люди добрые,подскажите пожаааааалуйста,почему код не фурычит,а то я скоро расшибусь))))))))))
Суть кода:
либо вводим с клавы,либо выводим из файла наввания книг,тираж,год издания.Прога сортирует те,что выпущены в период с 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);
	}

}
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
22 нояб. 2019, в 18:27
2000 руб./за проект
22 нояб. 2019, в 17:16
200 руб./за проект
22 нояб. 2019, в 17:09
6000 руб./за проект