• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Программирование структуры. Visual C 6.0

  • Автор темы YULIYA
  • Дата начала
Y

YULIYA

Задача: Создать структура согласно условию и вывести результат на экран: на междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона абонента.Вывести для заданного города общее время разговоров с ним и сумму.
Вот программный код:
Код:
Код:
#include <iostream.h> 
#include <string.h> 
int main () 
{ 
struct strc	 // Объявление структуры strc
{
char day[2];
char month[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;


cout << "Vvedite kolishestvo razgovorov ne bolee 100:  ";
cin >> kol;
for(i=0;i<kol;i++)
{
cout << "Vvedite den':  ";
cin >> mats[i].day;
cout << "Vvedite month:  ";
cin >> mats[i].month;
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++)

{
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")) // сравнение идет с 1, возможно ли сделать сравнение с введенным символом?

cout << mats[i].kod_city << "  " << mats[i].summa_vremy << mats[i].summa << endl;
return 0;
}
 
L

lazybiz

Все не так. Это идентично тому что ты ничего не написала. Вот например:
C++:
	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];

}
Зачем ты индексируешь mats индексом i, если он у тебя не меняется?
Если переменная vremy должна содержать количество минут, то зачем их целых 5 !??
И т.д. и т.п. ...

В общем предлагай хоть какой-то рабочий вариант.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!