Скачиваний:
7
Добавлен:
01.04.2014
Размер:
30.21 Кб
Скачать

Учреждение образования

Белорусский государственный университет информатики и радиоэлектроники

Контрольная работа

По предмету: Конструирование программ и языки программирования.

Тема: Структуры

Выполнил: Емельяненко М.А

Проверил:

Минск 2010

14. На междугородной АТС информация о разговорах содержит:

  • дату разговора;

  • название города;

  • время разговора;

  • тариф.

Вывести по каждому городу общее время разговора с ним и сумму.

#include <iostream>

#include <string>

using namespace std;

struct Peregovory //cоздаем структуру

{

string Date; //элемент типа строка(дата)

string City; //элемент типа строка(город)

int time; //элумент типа целых(время разговора)

double Tarif; //элемент типа повышеной точности с плавающей точкой

};

Peregovory str[4]; //инициализация структуры

void input(Peregovory * str) // ввод данных в структуру

{

printf("Vedite dannie o razgovore\n");

for(int i=0; i<4; i++) //Цикл заполения структуры

{

cout<<"Date: ";

cin>>str[i].Date;

cout<<"City: ";

cin>>str[i].City;

cout<<"Time: ";

cin>>str[i].time;

cout<<"Tarif:";

cin>>str[i].Tarif;

cin.get(); //убирает последний ввод

}

}

void output(Peregovory * str)//отображение задания на экран

{

double summ; //сумма разговора

double ObshTime;

int znak=0;

for(int a = 0; a<4; a++) //цикл вывода на экран названия города и стоимость всех разговоров с ним

{

ObshTime=str[a].time;

summ=str[a].Tarif*str[a].time; //расчет стоимости

for(int b=a+1; b<4; b++) //цикл поиска одинаковых городов

{

if(str[a].City == str[b].City) //если такой город есть, то прибовляем стоимость

{

summ+=str[b].Tarif*str[b].time;

ObshTime+=str[b].time;

}

}

for (int c=0; c<a; c++) //цикл проверки пройденых городов(чтобы повторно не выводитьна экран)

{

if(str[a].City == str[c].City) //если таковые есть, то znak=1

znak=1;

}

if(znak==0) //усли нет, то выводим на экран

cout<<str[a].City<<" "<<summ<<"\n";

znak=0; //возвращение знака в исходное состояние

}

}

void main()

{

input(str); //вызов функции заполнения структуры

output(str); //функция отображения по заданию

cin.get();

}