Переписать код с C++ и заменить cout cin - C (СИ)
Формулировка задачи:
#include <iostream>
#include <string.h>
#include<stdio.h>
using namespace std;
struct ATSInfo {
char data[10];
int kod;
char city[20];
long talkTime;
int tarif;
char cityTelNumber[20];
char abonentTelNumber[20];
};
int main() {
struct ATSInfo information[100];
int i, kolZvonkov = 0;
char vubrCity[20];
long totalTime = 0, time = 0;
double sum = 0;
int tarif = 0;
cout << "Vvedite kolichestvo zvonkov: ";
cin >> kolZvonkov;
for (int i = 0; i < kolZvonkov; i++) {
cout << "Data: ";
cin >> information[i].data;
cout << "Kod: ";
cin >> information[i].kod;
cout << "Gorod: ";
cin >> information[i].city;
cout << "Vremj razgovora (sec): ";
cin >> information[i].talkTime;
cout << "Tarif: ";
cin >> information[i].tarif;
cout << "Nomer telefona v gorode: ";
cin >> information[i].cityTelNumber;
cout << "Nomer telefona abonenta: ";
cin >> information[i].abonentTelNumber;
cout << "************************************" << endl;
}
cout << "\nVvedite gorod, dlj kotorogo bydet proizveden raschet: ";
cin >> vubrCity;
for (i = 0; i < kolZvonkov; i++) {
if (!strcmp(vubrCity, information[i].city))
{
sum += information[i].talkTime / 60.0 * information[i].tarif;
totalTime += information[i].talkTime;
}
}
cout << "\nObshaj informacij o " << vubrCity << ":\n"<< endl;
cout << "Vremj razgovora: " << totalTime << " seconds" << endl;
cout << "Raschet: " << sum << endl;
return 0;
}Решение задачи: «Переписать код с C++ и заменить cout cin»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include <string.h>
struct ATSInfo {
char data[10];
int kod;
char city[20];
long talkTime;
int tarif;
char cityTelNumber[20];
char abonentTelNumber[20];
};
int main()
{
struct ATSInfo information[100];
int i, kolZvonkov = 0;
char vubrCity[20];
long totalTime = 0, time = 0;
double sum = 0;
int tarif = 0;
printf("Vvedite kolichestvo zvonkov:");
scanf("%d",&kolZvonkov);
for (int i = 0; i < kolZvonkov; i++) {
printf("Data:");
scanf ("%d", &information[i].data);
printf("Kod:");
scanf("%d", &information[i].kod);
printf ("Gorod: ");
scanf ("%d", &information[i].city);
printf ( "Vremj razgovora (sec): ");
scanf ("%d",&information[i].talkTime);
printf( "Tarif: ");
scanf("%d", &information[i].tarif);
printf( "Nomer telefona v gorode: ");
scanf ("%d",&information[i].cityTelNumber);
printf( "Nomer telefona abonenta: ");
scanf("%d", &information[i].abonentTelNumber);
printf( "************************************\n");
}
printf ( "\nVvedite gorod, dlj kotorogo bydet proizveden raschet: ");
scanf ("%d", &vubrCity);
for (i = 0; i < kolZvonkov; i++) {
if (!strcmp(vubrCity, information[i].city))
{
sum += information[i].talkTime / 60.0 * information[i].tarif;
totalTime += information[i].talkTime;
}
}
printf( "\nObshaj informacij o\n ", vubrCity);
printf ("Vremj razgovora: ", totalTime );
printf ( "Raschet: ", sum);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем структуру ATSInfo, которая содержит информацию о звонках
- Задаем переменные для хранения количества звонков, времени разговора, общего времени разговора и суммы платежей
- Запрашиваем у пользователя количество звонков
- Используем цикл for для получения информации о каждом звонке
- Выводим сообщение о вводе данных для каждого звонка
- Запрашиваем у пользователя город для расчета
- Используем цикл for для расчета суммы платежей для каждого звонка в выбранном городе
- Выводим информацию о выбранном городе, общем времени разговора и сумме платежей