Доработка программы определения стоимости разговора по телефону с учетом скидки - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать программу определения стоимости разговора по телефону с учетом скидки 20%, предоставляемой по субботам и воскресеньям. Исходные данные (длительность разговора в минутах и номер дня недели) вводятся из файла Input.txt. Результаты работы программы записываются в файл Out.txt. Стоимость минуты разговора задать как константу.
#include <stdio.h> 
int main() 
{ FILE *sum, *inp;
int m,d,price=23; 
float cost; 
inp=fopen("inp.txt", "r");
sum=fopen("out.txt", "w");
printf("Vvedite kol min"); 
fscanf(inp,"%i ", &m); 
do{ 
printf("Vvedite den` nedely"); 
fscanf(inp,"%i", &d); 
if (d<8) printf("Neverno ot 1 do 7");{ 
do (d>0) || (d<8) 
cost= price*m; 
if x>5{cost=cost*0.8;}
fprintf(sum,"%f", cost);} 
fclose(sum);
fclose(inp);
getch(); 
return 0; 
}

Решение задачи: «Доработка программы определения стоимости разговора по телефону с учетом скидки»

textual
Листинг программы
#include <stdio.h> 
#include <conio.h>
int main() 
{ 
    FILE *sum, *inp;
    int m, d, price = 23; 
    float price_discount = 18.4;//-20%
    float cost = 0.0; 
    float allsum = 0.0;
    inp = fopen("1.txt", "r");
    sum = fopen("2.txt", "w");
    
    while(fscanf(inp, "%d", &m) != EOF)
    { 
        fscanf(inp, "%d", &d); 
        if (d > 0 && d <= 5)
        { 
            cost = price * m;           
            fprintf(sum,"%f\n", cost);
        } 
        else if(d == 6 || d == 7)
        {
            cost = price_discount * m;          
            fprintf(sum,"%f\n", cost);
        }
        else
        {
            printf("Neverno ot 1 do 7");
        }
        allsum += cost;
        cost = 0.0;
    }       
    fprintf(sum,"Itogo = %f\n", allsum);
    
    fclose(sum);
    fclose(inp);
    getch(); 
}

Объяснение кода листинга программы

  1. Включаются заголовочные файлы stdio.h и conio.h
  2. Объявляется функция main()
  3. Создаются указатели на файлы inp и sum, которые будут использоваться для чтения и записи данных
  4. Инициализируются переменные m, d, price и price_discount
  5. Создаются переменные cost и allsum, которые будут использоваться для хранения стоимости и общей суммы соответственно
  6. Открывается файл 1.txt для чтения и файл 2.txt для записи
  7. Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла 1.txt
  8. Внутри цикла считываются значения переменных m и d из файла 1.txt
  9. С помощью условного оператора if проверяется значение переменной d. Если оно находится в диапазоне от 1 до 5, то выполняется блок кода, который присваивает переменной cost значение произведения price и m, а затем записывает это значение в файл 2.txt
  10. Если значение переменной d равно 6 или 7, то выполняется другой блок кода, который присваивает переменной cost значение произведения price_discount и m, а затем записывает это значение в файл 2.txt
  11. Если значение переменной d не соответствует ни одному из вышеуказанных условий, то выводится сообщение Neverno ot 1 do 7
  12. К переменной allsum прибавляется значение cost
  13. Переменная cost сбрасывается в ноль
  14. Завершается цикл while
  15. В файл 2.txt записывается строка Itogo =, а затем значение переменной allsum
  16. Закрываются файлы sum и inp
  17. Вызывается функция getch(), которая приостанавливает выполнение программы до нажатия клавиши

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы