1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем YULIYA, 17 сен 2011.

  1. YULIYA

    YULIYA Гость

    Репутация:
    0
    Задача: Создать структура согласно условию и вывести результат на экран: на междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона абонента.Вывести для заданного города общее время разговоров с ним и сумму.
    Вот программный код:
    Код:
    Код:
    #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;
    }
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    в чем проблема?
     
  3. YULIYA

    YULIYA Гость

    Репутация:
    0
    неверные ответы
     
  4. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    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];
    
    }
    Зачем ты индексируешь mats индексом i, если он у тебя не меняется?
    Если переменная vremy должна содержать количество минут, то зачем их целых 5 !??
    И т.д. и т.п. ...

    В общем предлагай хоть какой-то рабочий вариант.
     
Загрузка...

Поделиться этой страницей