Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2016, 01:56   #1
anna_bleak
Новичок
Джуниор
 
Регистрация: 19.12.2016
Сообщений: 2
По умолчанию [C]. Исправить ошибки. На АТС информация о разговорах одного абонента содержит дату разговора, код и название города, время разговора, тариф и номер вызываемого телефона

Задание: На междугородной АТС информация о разговорах одного конкретного абонента содержит дату разговора, код и название города, время разговора, тариф и номер вызываемого телефона. Вывести по каждому городу общее время разговоров с ним и сумму оплаты.

Вот что у меня получилось:

Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct SUBSCRIBER
{
	int date;				 //дата
	int cityCod;			 //код города
	int time;				 //время разговора
	int number;				 //номер вызываемого телефона
	char cityName[250];		//название города
	int rate;				//тариф
};
void outputStructArray(SUBSCRIBER *array, int n);
SUBSCRIBER * inputStructArray(int & n);
void Podschet(SUBSCRIBER *array, int n);

SUBSCRIBER * inputStructArray(int & n)
{
	SUBSCRIBER * array;
	array = (SUBSCRIBER *)malloc(n*sizeof(SUBSCRIBER));

	for (int i = 0; i<n; i++)
	{
		printf("/*-----------------------*/\n", i);
		printf("struct [%d] cityName=", i);
		scanf("%s", array[i].cityName);
		printf("struct [%d] date=", i);
		scanf("%d", &array[i].date);
		printf("struct [%d] cityCod=", i);
		scanf("%d", &array[i].cityCod);
		printf("struct [%d] time=", i);
		scanf("%d", &array[i].time);
		printf("struct [%d] number=", i);
		scanf("%d", &array[i].number);
		printf("struct [%d] rate=", i);
		scanf("%d", &array[i].rate);
	}
	return array;
};


void outputStructArray(SUBSCRIBER *array, int n)
{
	for (int i = 0; i<n; i++)
	{
		printf("/*-----------------------------------------------*/\n", i);
		printf("\n");
		printf("cityName= %s \n", array[i].cityName);
		printf("struct [%d] data= %d \n", i, array[i].date);
		printf("struct [%d] cityCod= %d \n", i, array[i].cityCod);
		printf("struct [%d] time= %d \n", i, array[i].time);
		printf("struct [%d] rate= %s \n", i, array[i].rate);
		printf("struct [%d] number= %d \n", i, array[i].number);
		printf("\n");

	}
};

int main()
{
	int n;
	printf("n=");
	scanf("%d", &n);
	SUBSCRIBER * sub;
	sub = inputStructArray(n);
	Podschet(sub, n);
	outputStructArray(sub, n);
	system("pause");
	return 0;
}

void Podschet(SUBSCRIBER *array, int n)
{
	char *name;
	char *lish;
	lish = "pustoe";
	int sumt = 0, sums = 0;
	
	

		for (int i; i < n; i++)
	{
		if (array[i].cityName != lish)
			name = array[i].cityName;
		for (int j = i; j < n;j++)
		if (name == array[j].cityName)
			sumt += array[j].time;
		sums = sumt*array[j].rate; }
		printf("cityName= %s \n", array[j].cityName);
		printf("time = %d \n", sumt);
		printf("manye= %d \n", sums);
	}
}

Последний раз редактировалось Вадим Мошев; 19.12.2016 в 05:23.
anna_bleak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дано файл записей телефонной станции .поля записи - фамилия абонента, его номер телефона. найти все номера абонентов, фамилии кото SMASHBRAIN C# (си шарп) 0 30.05.2013 17:37
Дан файл Т, который содержит номера телефонов сотрудников учреждения указывается:фамилия, инициалы и номер телефона. BLADIMIR Помощь студентам 1 27.10.2011 12:07
Определение стоимости разговора alex55 БД в Delphi 3 02.05.2010 18:16
справка о междугороднем тел. разговоре содержит: номер телефона абонента(6 цифр),дату(год, месяц, число) @RH@nhel Помощь студентам 2 21.06.2009 10:12
Определение стоимости разговора... Paul Oakenfold Помощь студентам 3 18.03.2009 22:09