5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
1

структуры и процедуры.

24.01.2010, 14:56. Показов 1379. Ответов 10
Метки нет (Все метки)

Составить структуру библиографического описания книги, состоящую из следующих частей:
– АВТОРНАЗВАНИЕ (Автор, название)
– МЕСТОГОД (Место издания, издательство, год)
– ЧИСЛО СТРАНИЦ
В процедуре распечатать название книг и автора, изданных в одном из издательств («Высшая школа», «Мир», «Наука», «Радио и связь» и т.д.).

Оно компилит, после ввода искомого издательства вылазит ошибка и билдер выделяет эту строчку:
C++
1
izd[j]=o[i].mestoizdan[j];

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
//---------------------------------------------------------------------------
 
#include <clx.h>
#pragma hdrstop
//#include "stdafx.h"
#include <shellapi.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <cstdlib.h>
#include <conio.h>
//---------------------------------------------------------------------------
 
#pragma argsused
 
const int n = 1;//размерность массива
char izd[50];
struct opisanie //структура
        {
        char avrnazv[50]; //параметры стуктуры  автор, название
        char mestoizdan[50]; //место издания, издание, год
        int k;
        };
    opisanie o[n];//задаем массив стуктур
int j=0;
void print(opisanie o[n], char s[30], int &k)
{
    k = 0;
    for(int i = 0; i < n; i++)
    {   j=1;
            while (&o[i].mestoizdan[j] != ".")
              {
               izd[j]=o[i].mestoizdan[j];
                j++;
              }
        if(izd == s)
            printf("%s", o[i].avrnazv);
        k++;
    }
}
 
int main(int argc, char* argv[])
{
//int _tmain(int argc, _TCHAR* argv[])
//{
    int i, k;
    char s[30];
    //printf("‚??¤?a? ®??a**?i ?*?? ? §*¤***®¬ ?®ai¤??, c?a?§ ?a®??«:\n1.??a®a\n2.?*§?**??\n3.??aa® ?§¤**?i\n4.?§¤*a?«iaa?®\n5.?®¤\n6.—?a«® aaa**??\n");
    for(i = 0; i < n; i++)
        {
            scanf("%s%s%d", &o[i].avrnazv, &o[i].mestoizdan, &o[i].k);//считываем данные
        }
    system("cls");
       //   printf("%s", o[i].avrnazv);
    printf("‚??¤?a? ?§¤**??\n");
    scanf("%s", s);//вводим название издания
    print(o, s, k);
    if (k == 0)
        {
            printf("?aa??* §*¤*** *???a*®\n");
        }
    else
    system("pause");
    return 0;
//}
  //      return 0;
}
//---------------------------------------------------------------------------
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2010, 14:56
Ответы с готовыми решениями:

Возврат структуры из процедуры
Помогите решить задачу! Мне надо написать процедуру которая заполняет структуру данными и...

Циклические структуры, процедуры и функции
Для заданной функции составить блок-схему и программу для построения графика функции в заданном...

Циклические структуры, процедуры и функции
Функция Интервал Шаг Y=IxI 1 вообщем нужно зделать программу для...

Программа блочной структуры, процедуры и функции с параметрами
Разработать процедуры:  Ввода размерности массива,  Ввода элементов массива,  Вывода...

10
42 / 42 / 10
Регистрация: 23.01.2010
Сообщений: 151
24.01.2010, 15:12 2
выходит за пределы массива

Добавлено через 1 минуту
понятно как исправить?
0
5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
24.01.2010, 15:25  [ТС] 3
честно? нет.
0
42 / 42 / 10
Регистрация: 23.01.2010
Сообщений: 151
24.01.2010, 15:28 4
Попробуй так
while (&o[i].mestoizdan[j] != "." && &o[i].mestoizdan[j])
0
5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
24.01.2010, 15:34  [ТС] 5
не помогло.
0
42 / 42 / 10
Регистрация: 23.01.2010
Сообщений: 151
24.01.2010, 15:36 6
та же ошибка?
0
5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
24.01.2010, 15:37  [ТС] 7
да
0
42 / 42 / 10
Регистрация: 23.01.2010
Сообщений: 151
24.01.2010, 15:41 8
while (o[i].mestoizdan[j] != "." && o[i].mestoizdan[j])
0
5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
24.01.2010, 15:44  [ТС] 9
без указателей вообще компилить отказывается:

[C++ Error] Unit1.cpp(32): E2034 Cannot convert 'char' to 'char *'
0
42 / 42 / 10
Регистрация: 23.01.2010
Сообщений: 151
24.01.2010, 15:45 10
кавычки другие надо '
1
5 / 5 / 5
Регистрация: 24.01.2010
Сообщений: 52
24.01.2010, 15:51  [ТС] 11
хм. Есть прогресс. Но желаемого не выводит, сразу переходит к строке #61 Т.е. k почему-то не меняется.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2010, 15:51
Помогаю со студенческими работами здесь

Передача по ссылке структуры в процедуры или функции
Правильно ли передавать структуру по ссылке так. typedef struct BigNum { int sign; // Знак...

Вычислить структуры, которые содержат в себе процедуры пользователя
ребята скажите что я делаю не так вот задача: вычислить структуры ,которые содержат в себе...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный...

Функции и процедуры. При помощи процедуры записать слова задом наперед
Дана строка S, состоящая из не менее 5 слов. При помощи процедуры записать слова задом наперед....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru