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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Proger_1
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
#1

Структуры/записи/массивы - C++

19.05.2010, 13:22. Просмотров 1127. Ответов 5
Метки нет (Все метки)

Только начинаю изучать структуры в с++, нужно написать вот такую программку:
Написать программу, которая создаёт массив записей о книгах, взятых в библиотеке. Использовать структуру, содержащую следующие поля: автор, название книги, дата возврата. Кол-во записей в массиве задаётся пользователем. Данные вводятся с клавиатуры. Написать ф-ции поиска и вывода на экран записей о просроченных книгах, дата возврата которых меньше текущей, и вывода всего массива в виде таблицы (с заголовками и наименованиями столбцов).
Я понимаю, что никто целиком программу писать не будет, я прошу помогать мне постепенно, и может быть по шагам я дойду до верного решения. Начал писать код, для начала попытался создать просто структуру о книгах и проверить дату, но программа работать не хочет:
Код
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <math.h>
#include <tchar.h>
using namespace std;

struct biblioteka
{
	char avtor[20];
	char name[20];
	int data;
};

int _tmain(int argc, _TCHAR* argv[])
{
	struct biblioteka a;
	printf("Vvedite avtora: ");
	scanf("%c",a.avtor);	
	printf("Vvedite Imja: ");
	scanf("%c",a.name);
	printf("Vvedite datu: ");
	scanf("%d",a.data);
	if (a.data > 20)
	{
	printf("Prosro4enie knigi: %c\n%c\n%d\n",a.avtor,a.name,a.data);
	}
	scanf("%s");
	return 0;
}
Помогите сначала просто с вводом данных, а потом уже дальше буду думать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2010, 13:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры/записи/массивы (C++):

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

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

структуры и массивы - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; struct Worker{ char fio; signed int date; double salary; ...

Массивы структуры - C++
Как найти среднюю температуру заданого месяца, а потом определить в какие дни этого месяца температура превышала среднии показатели?

Массивы, структуры, на С++ - C++
Уже второй день думаю как сделать задачку по программированию, но пока что-то безуспешно. Лекции по этой теме нам еще не читали(дана для...

Структуры, массивы, сортировка - C++
Люди Help! Уже второй день сижу над задачей и не могу понять в чём проблема. Задача такая: 1) Описать структуру с именем TRAIN,...

5
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
19.05.2010, 13:28 #2
Цитата Сообщение от Proger_1 Посмотреть сообщение
C
1
2
3
scanf("%c",a.avtor); 
 printf("Vvedite Imja: ");
 scanf("%c",a.name);
C
1
2
3
scanf("%s",a.avtor); 
 printf("Vvedite Imja: ");
 scanf("%s",a.name);
Цитата Сообщение от Proger_1 Посмотреть сообщение
C
1
printf("Prosro4enie knigi: %c\n%c\n%d\n",a.avtor,a.name,a.data);
C
1
printf("Prosro4enie knigi: %s\n%s\n%d\n",a.avtor,a.name,a.data);
Добавлено через 1 минуту
Цитата Сообщение от Proger_1 Посмотреть сообщение
C
1
scanf("%d",a.data);
C
1
scanf("%d",&a.data);
1
Proger_1
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
19.05.2010, 13:41  [ТС] #3
Спасибо, каике глупые ошибки были..
Код отредактировал. Теперь интересует пункт, как заносить много таких записей, то есть не об одной книге. Здесь уже массив нужен ? Или просто цикл как-то запустить скажем:
printf("Enter number of books: ");
scanf("%d",&n);
А далее запускаем цикл до n раз.
Попробовал так, пока не работает:
Код
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <math.h>
#include <tchar.h>
using namespace std;

struct biblioteka
{
	char author[20];
	char name[20];
	int date;
};


int _tmain(int argc, _TCHAR* argv[])
{
	biblioteka a;
	int n;
	printf("Enter number of books: ");
	scanf("%d",&n);	
	for (int i=1; i>n; i++)
	{
	printf("Enter author name: ");
	scanf("%s",a.author);	
	printf("Enter name of book: ");
	scanf("%s",a.name);
	printf("Enter date: ");
	scanf("%d",&a.date);
	}
	if (a.date > 20)
	{
		printf("These books are old:\n%s\n%s\n%d\n",a.author,a.name,a.date);
	}
	else
	{
		printf("These is no old books");
	}
	scanf("%s");
	return 0;
}
0
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
19.05.2010, 13:48 #4
Массив: статический или диеамический.
1
Proger_1
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 30
19.05.2010, 13:56  [ТС] #5
А как это примерно реализовать ? Как данные, которые ввожу записать в массив?
0
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
20.05.2010, 12:19 #6
Допустим так:
статический массив
C
1
2
3
4
5
6
7
8
9
10
biblioteka a[5];
for (i = 0; i < 5; i++)
{
   printf("Enter author name: ");
   scanf("%s",a[i].author);   
   printf("Enter name of book: ");
   scanf("%s",a[i].name);
   printf("Enter date: ");
   scanf("%d",&a[i].date);
}
динамический массив
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
biblioteka *a;
printf("Enter number of books: ");
scanf("%d",&n);
a = (biblioteka *)calloc(n, sizeof(biblioteka)); 
for (i = 0; i < n; i++)
{
   printf("Enter author name: ");
   scanf("%s",a[i].author);   
   printf("Enter name of book: ");
   scanf("%s",a[i].name);
   printf("Enter date: ");
   scanf("%d",&a[i].date);
}
...
free(a);
1
20.05.2010, 12:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2010, 12:19
Привет! Вот еще темы с ответами:

Структуры и строчные массивы - C++
Условие задания: Введите массив символов из 15 элементов. Подсчитать количество гласных русских букв. Помогите переделать код, у...

массивы и вложенные структуры - C++
есть такой код: struct part1 { int arr; }; struct part2 { part1 dim; };

Структуры, массивы, функции - C++
Написать программу, определяющую дату, которая наступит через m дней на с++ желательно с использованием Структур и функций...очень надо

МАССИВЫ И СТРУКТУРЫ ПОВТОРЕНИЯ - C++
1. Дан одномерный массив. Найти max элемент и поменять его с последним. 2. Дан двумерный массив 10 х 10. Найти все отрицательные элементы...


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

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

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