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

Структуры, тыкните носом. - C++

Восстановить пароль Регистрация
 
f1xmAn
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
31.05.2011, 21:01     Структуры, тыкните носом. #1
Помогите найти ошибку, пожалуйста.
Необходимо написать программу роботы с массивом из 10 объектов. Нужны отдельные функции инициализации объектов и вычислений. Программа должна иметь меню.
Условие:Объекты - книги в библиотеке
Найти среднее и суммарное количество страниц, дисциплин, авторов.
Код
#include <iostream>
 
using namespace std;
class book
{
public:
        int stranitsi;
        char distsiplina[15];
		char avtor[15];
}a[10];
 
void showmenu();
void add(int count);
void info(int count);
void obr(int count);
 
 
int main()
{
        double srdistsiplin;
        double sravtor;
        double srstranits;
        double sumdistsiplin;
        double sumavtor;
        double sumstranits;
        int count=0;
        int t=0;
        for(int k=0; k<10;k++)
        {
                a[k].stranitsi=0;
        }
        while(t!=4)
        {
        showmenu();
        cin>>t;
        switch(t)
        {
        case 1:
                count++;
                add(count);
                break;
        case 2:
                info(count);
                break;
        case 3:
                obr(count);
                break;
 
        }
        }
 
}
 
void showmenu()
{
        cout<<"1-Dobavit' knigu \n";
        cout<<"2-Posmotret' info dobavlennih knig \n";
        cout<<"3-Schitat' \n";
        cout<<"4-Viyti \n";
}
 
void add(int count)
{
                cout<<"Vvedite kol-vo stranits knigi #"<<count<<": ";
                cin>>a[count].stranitsi;
                cout<<"Vvedite avtora knigi #"<<count<<": ";
                cin>>a[count].avtor;
                cout<<"Vvedite distsiplinu knigi #"<<count<<": ";
                cin>>a[count].distsiplina;
}
 
void info(int count)
{
        cout<<"Vi dobavili "<<count<<" knig \n";
}
 
void obr(int count)
{

        double srdistsiplin=0;
        double sravtor=0;
        double srstranits=0;
        double sumdistsiplin=0;
		double sumavtor=0;
        double sumstranits=0;
		book a;
                for(int i=0; i<=count; i++)
                {
                sumdistsiplin+=a.distsiplina[i];               
                sumavtor+=a.avtor[i];             
				sumstranits+=a.stranitsi[i];             
                }
        srdistsiplin=sumdistsiplin/count;
        sravtor=sumavtor/count;
		srstranits=sumstranits/count;
        cout<<"Srednee kol-vo distsiplin= "<<srdistsiplin<<"\t"<<"Summarnoe kol-vo distsiplin= "<<sumdistsiplin<<"\n";
        cout<<"Srednee kol-vo avtorov= "<<sravtor<<"\t"<<"Summarnoe kol-vo avtorov= "<<sumavtor<<"\n";
		cout<<"Srednee kol-vo stranits= "<<srstranits<<"\t"<<"Summarnoe kol-vo stranits= "<<sumstranits<<"\n";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 21:01     Структуры, тыкните носом.
Посмотрите здесь:

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? C++
Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) C++
C++ Тыкните в ошибку пожалуйста(условия)
C++ Оператор if и структуры. Возвращение структуры из функции
Функция внутри структуры использует указатель, как поле этой структуры C++
Ткните, пожалуйста, носом в ошибку. я не могу понять где, что не так C++
Вывод структуры, строка как элемент структуры C++
Ткните носом, почему не видит getline ? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru