- •Приложение 1. Некоторые полезные примеры и иллюстрации к разделам конспекта
- •Примеры к разделу 5 Вычисление факториала числа
- •Быстрое возведение чисел в целую степень
- •Нахождение наибольшего общего делителя (алгоритм Евклида)
- •Примеры к разделу 7 Библиотека функций случайных чисел
- •Библиотека функций по работе с массивами общего назначения
- •Библиотека функций сортировки массивов
- •Библиотека функций поиска в массивах
- •Приложение 2. Функции стандартного ввода/вывода в стиле c (printf, scanf) Автор: Бардин п.Б. Введение
- •Функция стандартного вывода printf()
- •Int printf(char *управляющая строка, ...);
- •Примеры программ.
- •Функция стандартного ввода scanf()
- •Int scanf(char *управляющая строка);
- •Int scanf(char *управляющая строка);
- •Примеры программ.
- •Приложение 3. Библиотека консольного ввода-вывода
- •Приложение 4. Библиотека управления консолью (MyCrt.H)
- •Приложение 5. Библиотека Menu.H и пример ее использования Библиотека Menu.H
- •Пример использования библиотеки Menu.H
Примеры программ.
Пример 1. Эта программа выводит на экран запрос "Сколько вам лет?:" и ждёт ввода данных. Если, например, ввести число 20, то программа выведет строку "Вам 20 лет.". При вызове функции scanf(), перед переменной age мы поставили знак &, так как функции scanf() нужны адреса переменных. Функция scanf() запишет введённое значение по указанному адресу. В нашем случае введённое значение 20 будет записано по адресу переменной age.
/* Пример 1 */ #include <stdio.h> void main(void) { int age; printf("\nСколько вам лет?:"); scanf("%d",&age); printf("Вам %d лет.", age); }
Пример 2. Программа калькулятор. Этот калькулятор может только складывать числа. При вводе 100+34 программа выдаст результат: 100+34=134.
/* Пример 2 */ #include <stdio.h> void main(void) { int x, y; printf("\nКалькулятор:"); scanf("%d+%d", &x, &y); printf("\n%d+%d=%d", x, y, x+y); }
Пример 3. Этот пример показывает, как установить ширину поля считывания. В нашем примере ширина поля равна пяти символам. Если вы введёте строку с большим количеством символов, то все символы после 5-го будут отброшены. Обратите внимание на вызов функции scanf(). Знак & не стоит перед именем массива name, так как имя массива name является адресом первого элемента массива.
/* Пример 3 */ #include <stdio.h> void main(void) { char name[5]; printf("\nВведите ваш логин (не более 5 символов):"); scanf("%5s", name); printf("\nВы ввели %s", name); }
Пример 4. Последний пример в этой статье показывает, как можно использовать множество поиска. После запуска программы введите число от 2 до 5.
/* Пример 4 */ #include <stdio.h> void main(void) { char bal; printf("Ваша оценка 2,3,4,5:"); scanf("%[2345]", &bal); printf("\nОценка %c", bal); }
Приложение 3. Библиотека консольного ввода-вывода
Эта библиотека будет постепенно дополняться новыми функциями.
/*
Это библиотека функций консольного ввода-вывода. Протестирована в среде MS Visual C++ 2010.
Для ее использования необходимо сохранить этот текст с файле с именем my_conio.h. Поместить
этот файл в каталог проекта и в тексте программы использовать директиву #include "my_conio.h"
*/
#pragma once
#include <windows.h> // Для CharToOemA
#include <conio.h> // Для getch()
#include <iostream>
using namespace std;
//
// Прототипы функций
//
char *Rus(char *sfrom, char *sto);
/*
Вывод текста, содержащего русские символы.
Использование:
char s[100];
cout << Rus("Это текст на русском языке!\n", s);
*/
char *Rus(char *s);
/*
Вывод текста, содержащего русские символы.
Использование:
char s[] = "И это текст на русском языке!\n";
cout << Rus(s);
*/
void out_Text(char *s);
/*
Вывод текста (и русского) без перехода на новую строку.
Использование:
out_Text("Это текст");
Ограничение: длина текста не более 255 символов
*/
void out_Text_ln(char *s);
/*
Вывод текста (и русского) с переходом на новую строку.
Использование:
out_Text_ln("Это текст");
Ограничение: длина текста не более 255 символов
*/
void Pause();
/*
Приостановка выполнения программы
*/
//
// Реализация функций
//
char *Rus(char *sfrom, char *sto)
{
CharToOemA(sfrom, sto);
return sto;
}
char *Rus(char *s)
{
CharToOemA(s, s);
return s;
}
void out_Text(char *s)
{
char S[256];
if (strlen(s) <= 255)
CharToOemA(s, S);
else
CharToOemA("Ошибка. Длина текста больше 255 символов", S);
cout << S;
}
void out_Text_ln(char *s)
{
out_Text(s);
cout << endl;
}
void Pause()
{
out_Text("Для продолжения нажмите любую клавишу . . .\n");
_getch();
}