Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Пример 11.10
/*Список студентов с результатами экзаменов*/ # define KST 35 struct list {char *fio; int r_l; int math; int phys; }; struct list group[KST]; Элементам таблицы можно придать значение следующими способами: · ввести поэлементно; · присвоить поэлементно; · инициализировать массив структур. Второй вариант объявления таблицы: struct list gr[]= {{“Андреев”, 5, 5, 5}, {“Большаков”, 5, 5, 4}, … {“Якишенко”, 5, 4, 5}}:
11.8 Оператор sizeof. В Си вычисление размера любого объекта -) sizeof < обьект>; -) sizeof(< имя_типа>); Результат: целое, которое равно размеру в байтах указанного объекта или типа. Объект: -)массив; -)структура. Имя типа: -)имя базового типа(int, char, float); -)имя произвольного типа(структура и указатель). #define kst (sizeof group) sizeof(struct list) или #define kst(size group)sizeof(group[0])
11.9 Декларация typedef Такя декларация позволяет давать новые имена типам данных Синтаксис: tupedef < старое имя типа> < новое имя типа>; Использование: < тип объявления в typedef> < список объектов>; Внимание: typedef не создает новый тип, а только синоним для существуещего типа!!! Пример 11.12 typedef int Exz; typedef char*String; typedef struct list { Sting fio; Ekz math; Ekz phys; Ekz r_l; } Liststud; Liststud group[kst]; Причины использования typedef: 1)“Эстетическая”-одним именем заменяется сложная декларация. 2) Стремление к ясности struct list*pstr; -указатель на структуру типа struct list typedef structlist*Plist; Plist pstr; Принято имена-синонимы объявлять в typedef с заглавной буквы!!! 3)Машинно-независимые программы. От реализации зависят: -)chort, -)int, -)long, -)double, -)long double. При переносе на другие ЭВМ(или другую платформу)достаточно будет изменять только размеры с помощью typedef.
12 ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ
Вспомогательным подзадачам на этапе разработки метода решения задачи соответствуют вспомогательные алгоритмы. В языке Си вспомогательным алгоритмам соответствует понятие функция. 12.1 Определение функции Синтаксис < тип_результата> < имя_функции> ([< декларации_аргументов> ]) { < декларации> \ < тело < иструкции> \ функции> } Могут быть опущены: < тип_результат> ~int < декларация_аргументов> ~() < декларации> в < теле_функции> ~нет локальных переменных < инструкции> ~нет вычисления результатов пример12.1 /*минимальная функция*/ dummy() {} 12.2 Функции вызывающие и вызываемые main () a() b() { { { ............................. a() b() } ................... b() } } Опр. Функция, которая отдаёт управление другой называется вызывающей, а которая управление получает называется вызываемой. В исходном файле Си программы функции могут следовать в любом порядке.
12.3 Связь между функциями. Связь между функциями реализуется одним из тех способов: 1. Через аргументы. 2. Через возвращаемые значения. 3. Через внешние переменные. Через возвращаемые переменные 12.3.1 Вызов функции < имя функции> (< список аргументов>) Пример 12.3 /* Вызов printf */ Вызов функции есть выражение, поэтому оно может быть также использовано в операторах if (res==printf(" как выражение")) dummy(); else exit(-1); /*Выход в MS-DOS*/ 12.3.2 Инструкция возврата return Использование -возвращение результата из вызываемой в вызвавшую Синтаксис return < выражение> return (< выражение>) Так как это инструкция в конце надо писать;. Семантика Выполняется приведение типа результата вычисляемого функцией к типу заданному в вызывающей функции -вызывающая функция может игнорировать то значение, которое возвращается из вызываемой функции. -< выражение> может отсутствовать, тогда функция не возвращает результата -return может отсутствовать, тогда функция завершает работу по достижению символа } - допускается несколько инструкций возврата, если все они возвращают значение одного типа. - если разные return возвращают значения разного типа, то программа нереентабельна
12.4 АППАРАТ ФОРМАЛЬНИХ І ФАКТИЧНИХ АРГУМЕНТІВ
|