Доработка программы определения стоимости разговора по телефону с учетом скидки - 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(); }
Объяснение кода листинга программы
- Включаются заголовочные файлы stdio.h и conio.h
- Объявляется функция main()
- Создаются указатели на файлы inp и sum, которые будут использоваться для чтения и записи данных
- Инициализируются переменные m, d, price и price_discount
- Создаются переменные cost и allsum, которые будут использоваться для хранения стоимости и общей суммы соответственно
- Открывается файл 1.txt для чтения и файл 2.txt для записи
- Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла 1.txt
- Внутри цикла считываются значения переменных m и d из файла 1.txt
- С помощью условного оператора if проверяется значение переменной d. Если оно находится в диапазоне от 1 до 5, то выполняется блок кода, который присваивает переменной cost значение произведения price и m, а затем записывает это значение в файл 2.txt
- Если значение переменной d равно 6 или 7, то выполняется другой блок кода, который присваивает переменной cost значение произведения price_discount и m, а затем записывает это значение в файл 2.txt
- Если значение переменной d не соответствует ни одному из вышеуказанных условий, то выводится сообщение
Neverno ot 1 do 7
- К переменной allsum прибавляется значение cost
- Переменная cost сбрасывается в ноль
- Завершается цикл while
- В файл 2.txt записывается строка
Itogo =
, а затем значение переменной allsum - Закрываются файлы sum и inp
- Вызывается функция getch(), которая приостанавливает выполнение программы до нажатия клавиши
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д