Вывести список покупателей, имеющих 5%-ную скидку - C (СИ)
Формулировка задачи:
В магазине сформирован список постоянных клиентов, который включает
ФИО, домашний адрес покупателя и размер предоставляемой скидки. Вывести
список покупателей, имеющих 5%-ную скидку.
Решите пожалуйста
Решение задачи: «Вывести список покупателей, имеющих 5%-ную скидку»
textual
Листинг программы
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <clocale>
struct pokup
{
char name[20];
char fam[20];
char adres[50];
int skidka;
} kn[20];
void main()
{
setlocale(LC_ALL, "Rus");
int menu,k=0,skid=5;
do
{
printf("1.Создание записи\n");
printf("2.Просмотр записи\n");
printf("0.Выход\n");
scanf("%d",&menu);
switch(menu)
{
case 1: k++;
printf("Введите имя %d: ",k);
scanf("%s",kn[k].name);
printf("Введите фамилию %d: ",k);
scanf("%s",kn[k].fam);
printf("Введите адрес %d: ",k);
scanf("%s",kn[k].adres);
printf("Введите скидку в процентах %d: ",k);
scanf("%d",&kn[k].skidka);
break;
case 2:
for(int i=0;i<k;i++)
{
if(kn[i].skidka==skid)
printf("\n%s\n%s\n%s\n%d\n",kn[i].name,kn[i].fam,kn[i].adres,kn[i].skidka);
}
break;
case 0: break;
default: printf("Выберите пункт меню.\n");break;
}
}while(menu!=0);
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем структуру
pokupс полями name, fam, adres, skidka - Объявляем массив kn типа struct pokup с размером 20
- Устанавливаем локальную настройку на русский язык
- Объявляем переменные menu, k=0, skid=5
- Запускаем цикл do-while, который будет выполняться до тех пор, пока menu не будет равно 0
- В цикле выводим меню и предлагаем пользователю ввести номер пункта
- В зависимости от выбранного пункта меню выполняем соответствующие действия:
- При выборе пункта 1 запрашиваем и сохраняем введенные пользователем данные о покупателе
- При выборе пункта 2 выводим информацию о покупателях, у которых скидка равна заданному проценту
- При выборе пункта 0 просто выходим из программы
- Если пользователь ввел некорректные данные (например, не числовое значение), программа выведет сообщение об ошибке