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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2011, 20:28   #1
KIS@
 
Регистрация: 02.11.2010
Сообщений: 5
По умолчанию Ошибка в структуре.

Задача: Создать структура согласно условию и вывести результат на экран: на междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона абонента.Вывести для заданного города общее время разговоров с ним и сумму.
Вот программный код:
Код:
#include <iostream.h> 
#include <string.h> 
int main () 
{ 
struct strc     // Объявление структуры strc
{
	char day[2];
	char mouth[2];
	char year[4];// страница 122 лекций
	char kod_city[10];
	char name_city[50];
	int vremy[5];
	int tarif[10];
	char tel[15];
	double summa_vremy;
	double summa;
} 
mats[100];
int kol, i,j;
//char kod1;

cout << "Vvedite kolishestvo razgovorov ne bolee 100:   ";
cin >> kol;
for(i=0;i<kol;i++)
{
	cout << "Vvedite den':   ";
	cin >> mats[i].day;
	cout << "Vvedite mouth:   ";
	cin >> mats[i].mouth;
	cout << "Vvedite god:  ";
	cin >> mats[i].year;
	cout << "Vvedite kod goroda:  ";
	cin >>mats[i].kod_city;	
	cout << "Vvedite nomer telefona:   ";
	cin >> mats[i].tel;
	mats[i].summa_vremy=0;
}
	
	for (j=0;j<kol;j++)
	{
		cout << "Vvedite vremy razgovora v minutah:   ";
		cin >> mats[i].vremy[j];
		mats[i].summa_vremy+=mats[i].vremy[j];
		
	}
	cout << endl;
 mats[i].summa=0;
	cout << "Vvedite tarif:   ";
	for (int k=0;k<kol;k++)
		//for (int j=0;j<i;j++)
	{
	cin >> mats[i].tarif[k];
		mats[i].summa+=mats[i].vremy[j]*mats[i].tarif[k];
		
	}
 cout << "Vvedite kod goroda" << endl;
cin >> kod1;
for (i=0;i<kol; i++)
if (!strcmp(mats[i].kod_city,"1"))
cout << mats[i].kod_city << "   " << mats[i].summa_vremy << mats[i].summa << endl;
return 0;
}

Последний раз редактировалось ACE Valery; 16.09.2011 в 22:09.
KIS@ вне форума Ответить с цитированием
Старый 16.09.2011, 20:40   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Тут не только в структуре ошибка, тут весь код - сплошная ошибка. Зачем нужны второй и третий циклы, например? И сравнение идет не с введенным кодом, а с единицей. Ну и "month", а не "mouth"
Son Of Pain вне форума Ответить с цитированием
Старый 16.09.2011, 20:41   #3
KIS@
 
Регистрация: 02.11.2010
Сообщений: 5
По умолчанию

с кодом все нормально, кстати
KIS@ вне форума Ответить с цитированием
Старый 16.09.2011, 20:45   #4
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Вы бы лучше сначала сообщили, что за ошибка у вас возникает?!

Цитата:
Сообщение от KIS@ Посмотреть сообщение
с кодом все нормально, кстати
Если с кодом у вас все нормально, то что вы от нас-то хотите?!
Со мной можно встретиться на www.clipper.borda.ru

Последний раз редактировалось Stilet; 17.09.2011 в 16:50.
Сыроежка вне форума Ответить с цитированием
Старый 16.09.2011, 20:53   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Цитата:
Сообщение от KIS@ Посмотреть сообщение
с кодом все нормально, кстати
К сожалению нет. Второй и третий циклы сохраняют данные вникуда, как минимум. Сравнение с единицей, а не с введенным кодом. Подсчет суммы не работает. И так далее.

Ну и про стиль кода лучше промолчать.
Son Of Pain вне форума Ответить с цитированием
Старый 16.09.2011, 20:59   #6
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
К сожалению нет. Второй и третий циклы сохраняют данные вникуда, как минимум. Сравнение с единицей, а не с введенным кодом. Подсчет суммы не работает. И так далее.

Ну и про стиль кода лучше промолчать.
Совершенно не понимаю, вам-то какое дело до этого кода?! Автор сказал, что у него с кодом все в порядке, ну, и пусть благоденствует! Что вы ему нервы треплите своими замечаниями о стиле?! Он сам еще не определился, чего он хочет!
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 17.09.2011, 12:29   #7
KIS@
 
Регистрация: 02.11.2010
Сообщений: 5
По умолчанию

вы бы лучше что по делу сказали
KIS@ вне форума Ответить с цитированием
Старый 17.09.2011, 16:51   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вы бы лучше что по делу сказали
Ты бы тоже. Ошибка то какая? Компилятор ругается или результаты неверные?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.09.2011, 17:40   #9
KIS@
 
Регистрация: 02.11.2010
Сообщений: 5
По умолчанию

неверные результаты
KIS@ вне форума Ответить с цитированием
Старый 17.09.2011, 20:53   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1) Под строки нужно выделять на символ больше (чтобы было куда записать нулевой терминал, обозначающий конец строки), т.е. под день месяца надо 3 символа, а не 2, под год - 5, а не 4 и т.д.
2) Вложенные циклы по j и k идут до kol, который вводится в начале пользователем и может достигать 100. В то время как, j должно быть < 5, а k < 10.
3) В конце вводится якобы искомый код города, но нигде не используется. В итоге выводятся только города с кодом "1".
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в структуре??? Sbenya Общие вопросы C/C++ 7 13.07.2011 01:53
Вопрос по структуре luk4196 Общие вопросы C/C++ 6 31.05.2010 19:11
поиск в структуре Silveria Общие вопросы C/C++ 4 12.05.2010 16:13
Ошибка с функциями в структуре.(с++) Mashul'ka Помощь студентам 1 18.04.2010 18:04
ОШИБКА в структуре Panterka Помощь студентам 7 19.12.2007 09:24