Рок C/C++ Вступление. Hello World!


Библиотека cstring. Работа со строками



бет12/12
Дата07.02.2022
өлшемі498,5 Kb.
#96247
түріУрок
1   ...   4   5   6   7   8   9   10   11   12
Байланысты:
C общсвед
C общсвед

Библиотека cstring. Работа со строками.


Объединение строк:
char*
 strcat(
char *s1

char *s2)

Пример:
#include
#include
#include
using namespace std;
void main ()
{
setlocale(LC_CTYPE, "rus");
char str[50]="Первая строка", str2[50]="Вторая строка";

strcat(str, " ");


strcat(str, str2);


cout<

}
Результат:


Первая строка Вторая строка
Для продолжения нажмите любую клавишу . . .
Объединение строк с указанием количества символов для присоединения :
char* 
strncat(
char *s1,
char *s2,
int var
);
Пример:
#include
#include
#include
using namespace std;
void main ()
{
setlocale(LC_CTYPE, "rus");
char str[50]="Первая строка", str2[50]="Вторая строка";
strcat(str, " ");

strncat(str, str2, 6);

cout<
}
Результат:
Первая строка Вторая
Для продолжения нажмите любую клавишу . . .
Поиск указанного символа в строке:
char* 
strchr(
char *s1, 
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char *pointer;
char str[50]="Первая строка";
pointer=strchr(str, 'р');
if(pointer==NULL)
{cout<<"Нет такого символа"<cout<
}
Результат:
рвая строка
Для продолжения нажмите любую клавишу . . .
Поиск указанного символа в строке с конца строки:
char* 
strrchr(
char *s1,
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char *pointer;
char str[50]="Первая строка";
pointer=strrchr(str, 'р');
if(pointer==NULL)
{cout<<"Нет такого символа"<cout<
}
Результат:
рока
Для продолжения нажмите любую клавишу . . .
Сравнение строк:
int 
strcmp(
char *s1, 
char *s2 
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="abcd", str2[50]="adcd";
cout<}
Результат:
-1
Для продолжения нажмите любую клавишу . . .
Сравнение строк без учета регистра:
int 
stricmp(
char *s1, 
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABC", str2[50]="abc";
cout<}
Результат:
0
Для продолжения нажмите любую клавишу . . .
Сравнение строк, с указанием количества сравниваемых символов:
int
 strncmp(
char *s1,
char *s2
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="abcdef", str2[50]="abcdfff";
cout<}
Результат:
0
Для продолжения нажмите любую клавишу . . .
Сравнение строк, с указанием количества сравниваемых символов и без учета регистра:
int
 strnicmp(
char *s1, 
char *s2
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDEF", str2[50]="abcdfff";
cout<}
Результат:
0
Для продолжения нажмите любую клавишу . . .
Вычисление длинны строки в которую не входят указанные символы:
int 
strcspn(
char *s1, 
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ghjkadcd", str2[50]="abcdf";
cout<}
Результат:
4
Для продолжения нажмите любую клавишу . . .
Вычисление длинны строки в которую входят указанные символы:
int 
strspn(
char *s1,
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ghjkadcd", str2[50]="abcdf";
cout<}
Результат:

Вычисление длинны строки:
int 
strlen(
char *s1
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ghjkadcd";
cout<}
Результат:
8
Для продолжения нажмите любую клавишу . . .
Преобразование больших букв в маленькие:
char* 
strlwr(
char *s1
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg";
cout<}
Результат:
abcdifg
Для продолжения нажмите любую клавишу . . .
Преобразование маленьких букв в большие:
char* 
strupr(
char *s1
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg";
cout<}
Результат:
ABCDIFG
Для продолжения нажмите любую клавишу . . .
Заменяет все символы строки указанным символом:
char* 
strset(
char *s1,
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg";
cout<}
Результат:
zzzzzzz
Для продолжения нажмите любую клавишу . . .
Заменяет указанное количество символов строки указанным символом:
char*
 strnset(
char *s1,
int var,
int num
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg";
cout<}
Результат:
zzzDifg
Для продолжения нажмите любую клавишу . . .
Ищет в строке любой символ из второй строки:
char*
 strpbrk(
char *s1,
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg", str2[50]="giC", *pointer;
pointer=strpbrk(str, str2);
cout<
}
Результат:
CDifg
Для продолжения нажмите любую клавишу . . .
Разворачивает строку:
char*
 strrev(
char *s1
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg";
cout<}
Результат:
gfiDCBA
Для продолжения нажмите любую клавишу . . .
Поиск в строке другой строки:
char*
 strstr(
char *s1
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="ABCDifg", str2[50]="BCD", *pointer;
pointer=strstr(str,str2);
cout<
}
Результат:
BCDifg
Для продолжения нажмите любую клавишу . . .
Разбиение строки на слова(лексемы / подстроки):
char*
 strtok(
char *s1
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="Возьми это большое красивое яблоко", *pointer;

pointer=strtok(str, " ");

cout<
while(1)


{

pointer=strtok(NULL, " ");


if(pointer==NULL)

{break;}
cout<


}
}
Результат:
Возьми
это
большое
красивое
яблоко
Для продолжения нажмите любую клавишу . . .
Копирование строки:
char*
 strcpy(
char *s1
char *s2
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="abcdefg", str2[50];
cout<}
Результат:
abcdefg
Для продолжения нажмите любую клавишу . . .
Копирование строки с указанием количества символов для копирования:
char*
 strncpy(
char *s1
char *s2, 
int var
);
Пример:
#include
#include
#include
using namespace std;

void main ()


{
setlocale(LC_CTYPE, "rus");
char str[50]="abcdefg", str2[50];
strncpy(str2, str, 3);
str2[3]='\0';
cout<}
Результат:
abc
Для продолжения нажмите любую клавишу . . .

Библиотека clocale. Включаем русский язык в C.


В библиотеку входят следующие функции:
Изменение локализации(изменение языка) :
Синтаксис: setlocale (категория, язык);
Пример:
#include
#include
using namespace std;

void main()


{
char *p;

p=setlocale(LC_ALL,"C");


if(p)cout<


cout<<"Абракадабра"<p=setlocale(LC_CTYPE,"rus");
if(p)cout<
cout<<"Абракадабра"<}
Результат:
C
└сЁрърфрсЁр
Russian_Russia.1251
Абракадабра
Для продолжения нажмите любую клавишу . . .

Библиотека cmath. Алгебраические функции.


В библиотеку входят следующие функции:
Квадратный корень:
Синтаксис: sqrt(переменная);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, sqx;
cout<<"Введите переменную для извлечения квадратного корня: ";
cin>>x;
sqx=sqrt(x);
cout<<"Квадратный корень = "<}

Результат:
Введите переменную для извлечения квадратного корня: 144
Квадратный корень = 12
Для продолжения нажмите любую клавишу . . . 
Возведение в степень:
Синтаксис: pow(переменная возводимая в степень, степень);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, xs, y;
cout<<"Введите переменную для возведения в степень, и степень: ";
cin>>x>>y;
xs=pow(x,y);
cout<

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
const double Pi=3.141592653;
double x, sx, cx, tx;
cout<<"Введите радианы: ";
cin>>x;
sx=sin(x);
cx=cos(x);
tx=tan(x);
cout<<"Синус от "<cout<<"Косинус от "<cout<<"Тангенс от "<cout<<"Введите градусы: ";
cin>>x;
x=(Pi/180)*x;

sx=sin(x);


cx=cos(x);
tx=tan(x);
cout<<"Синус от "<cout<<"Косинус от "<cout<<"Тангенс от "<}

Результат:
Введите радианы: 0
Синус от 0 = 0
Косинус от 0 = 1
Тангенс от 0 = 0
Введите градусы: 60
Синус от 1.0472 = 0.866025
Косинус от 1.0472 = 0.5
Тангенс от 1.0472 = 1.73205
Для продолжения нажмите любую клавишу . . . 
Округление:
Синтаксис: celi(переменная округляется до наибольшего целого); floor(переменная округляется до наименьшего целого);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, cx, fx;
cout<<"Введите переменную для округления: ";
cin>>x;
cx=ceil(x);
fx=floor(x);
cout<<"До наибольшего = "<cout<<"До наименьшего = "<}

Результат:
Введите переменную для округления: 4.3
До наибольшего = 5
До наименьшего = 4
Для продолжения нажмите любую клавишу . . .
Модуль числа:
Синтаксис: fabs(переменная);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, mod;
cout<<"Введите переменную для взятия модуля: ";
cin>>x;
mod=fabs(x);
cout<<"Модуль = "<}

Результат:
Введите переменную для взятия модуля: -34
Модуль = 34
Для продолжения нажмите любую клавишу . . .
Логарифм:
Синтаксис: log(переменная будет взята по основанию e); log10(переменная будет взята по основанию 10);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, lg, lg10;
cout<<"Введите переменную: ";
cin>>x;
lg=log(x);
lg10=log10(x);
cout<<"Натуральный логарифм = "<cout<<"Десятичный логарифм = "<}

Результат:
Введите переменную: 100
Натуральный логарифм = 4.60517
Десятичный логарифм = 2
Для продолжения нажмите любую клавишу . . .
Экспоненциальная функция:
Синтаксис: exp(переменная степени функции e);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, ex;
cout<<"Введите переменную: ";
cin>>x;
ex=exp(x);
cout<<"Экспонента = "<}

Результат:
Введите переменную: 5
Экспонента = 148.413
Для продолжения нажмите любую клавишу . . .
Остаток от деления с плавающей точкой:
Синтаксис: fmod(переменная которую делим, переменная-делитель);
Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#include
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
double x, y, res;
cout<<"Введите переменные: ";
cin>>x>>y;
res=fmod(x,y);
cout<<"Остаток = "<}

Результат:
Введите переменные: 23.54
4.3563
Остаток = 1.7585
Для продолжения нажмите любую клавишу . . .
В строке символов поменять местами символы на четных и нечетных позициях.
Решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

#include
#include
#include
#include
#include
#include
#include
using namespace std;
void main ()
{
setlocale(LC_CTYPE, "rus");
int len;
char str[255];
char tmp;
cout<<"Введите строку: ";
cin.getline(str,254);
len=strlen(str);
for(int i=0;i{
if(i%2==0)
{
tmp=str[i];
str[i]=str[i+1];
str[i+1]=tmp;
}
}
cout<}

Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
Введите строку: fhgfhgfjhgjk
hffgghjfghkj
Для продолжения нажмите любую клавишу . . .

Язык HTML — HyperText Mark-up Language — язык разметки гипертекста


Язык разметки гипертекстовых документов HTML позволяет определить различные типы элементов (element), обеспечивающих функциональность документа: текстовые фрагменты с заданными параметрами форматирования, списки, таблицы, изображения, гиперссылки и т.д. Элементы объявляются с помощью команд разметки, называемых тегами (tag - ярлык). Для обозначения тэгов используются символы “<” и “>”, внутри которых помещаются названия инструкций и их параметры. Для HTML-файлов, принято расширение .htm (DOS) или .html (UNIX, Windows и др.).

Для просмотра документа HTML необходим браузер, который интерпретирует теги и выводит текст и графику на экране соответствующим образом.

Главной особенностью HTML является способность использовать гиперсвязи (links), благодаря которым возможны ссылки из просматриваемого документа на другие, как находящиеся на том же сайте, так и на любом другом, при этом документы могут иметь любой формат: текстовый, графический, аудио, видео и т.д.

Язык HTML был создан в Tim Berners-Lee в 1990 г. и не имел статуса стандарта, но именно он определил бурный рост World Wide Web –Всемирной паутины Интернет. С 1994 года разработка HTML проводилась под эгидой World Wide Web Consortium (W3C). Последняя версия HTML 4.01 принята 24 декабря 1999г.


Новых версий языка HTML не будет (данный тезис однако устарел, смотри следующий абзац), однако существует дальнейшее развитие HTML под названием XHTML (lang-en Extensible Hypertext Markup Language — «расширяемый язык разметки гипертекста»). Как и HTML, XHTML является подмножеством языка SGML, однако XHTML, в отличие от предшественника, соответствует спецификации XML. Вариант XHTML 1.0 был одобрен в качестве Рекомендации W3C 26 января 2000 года.
От зарождения языка HTML Tim Berners-Lee в 1990 г. до его последней версии HTML 4.01 (24 декабря 1999г.) прошло 9 лет. И еще 9 лет прошло пока появилась следующая версия языка HTML 5 (A vocabulary and associated APIs for HTML and XHTML, W3C Working Draft, 22 January 2008).
За эти 9 лет в Интернет широко проникли новые технологии, все более и более продвигается видео, и новые возможности языка разметки HTML5 в основнои заключаются в поддержке современных медийных технологий.
В HTML5 новые правила парсинга (от англ "parse" - собирать, досл. - грамматичесий разбор), новые элементы, новые атрибуты полей ввода, новые атрибуты, глобальные атрибуты применимые для всех элементов документа, прекращение поддержки ряда элементов.

Язык программирования Java


Язык Java (разработчик - компания Sun Microsystems) обязан своему рождению Интернет и разрабатывался специально для Интернета.
В основе технологии Java лежит модель клиент-серверная, а Java-программа состоит из нескольких блоков, присутствующих как на стороне сервера, так и на стороне клиента. Последние называются Java -апплетами.
Язык Java изначально разрабатывался с соблюдением необходимых для работы в открытой сети требований безопасности. Уже в первой редакции (Java 1.0) была предложена идея «песочницы» (sandbox). Весь выполняемый код делится на два класса: удаленный и локальный. Локальный имел полный доступ к ресурсам системы, а удаленный код ограничивался в правах на доступ к ресурсам системы, т.е. помещался в «песочницу». Таким образом компьютер пользователя был защищен от выполнения апплетом несанкционированных действий.
В версии Java 1.2 система безопасности была полностью переделана и усилена. В ней любому коду может быть назначена своя политика безопасности, ограничивающая доступ к ресурсам системы.
Ядро безопасности Java включает: 

  • Загрузчик классов (Class Loader)

  • Верификатор байт-кода (Byte Code Verifer) 

  • Диспетчер безопасности (Security Manager)

  • Контролер доступа (Access Controller) 

  • Права доступа (Permissions) 

  • Политики (Policies) 

  • Области защиты (Protection Domains)

Такой подход к построению системы безопасности позволяет использовать язык Java в самых ответственных корпоративных приложениях.
Java – независимый от архитектуры переносимый язык. Компилятор Java производит байт-коды, которые может быть проинтерпретирован на множестве разнообразных платформ. Java-программа, созданная на одной платформе, работает на всех остальных.
При разработке Java был взят за основу язык С++, из него были удалены многие свойства, которые делают С++ излишне сложным для пользования, не являясь абсолютно необходимыми. В результате язык Java получился более простым и органичным, чем С++. Язык Java можно назвать «очищенным» C++.
Синтаксис языка Java максимально приближен к синтаксису С++. Это делает язык знакомым широкому кругу программистов, а огромный объем программного обеспечения, уже созданного с использованием С++, может быть адаптирован под новый язык относительно легко. 
Наиболее существенное отличие языка Java от С или С++ заключается в том, что архитектура Java не позволяет случайно или намеренно повредить память компьютера.

Java - язык программирования в платформе J2EE (Java 2 Platform, Enterprise Edition) и язык создания Java-апплетов для других самых разных платформ.



Графика и векторные изображения в корпоративных web-порталах и системах. Java-апплеты


Отображение графики и векторных изображений на корпоративных порталах и системах, интерактивная обработка графической информации имеет принципиальные отличия по сравнению с их отображением и обработкой на обычном компьютере, когда мы работаем со стандартными графическими и офисными программами.

  1. Средства HTML используемые для построения изображения Интернет-браузером дают возможность отображения на web-странице только текста (в любых форматах) и растровой графики. Какие-либо возможности отображения браузером векторной графики отсутствуют. Используя HTML, Интернет-сервер не может вычертить на экране монитора пользователя прямую линию, соединяющую две точки с заданными координатами, он может только передать на компьютер пользователя растровую картинку, на которой эта линия уже нарисована.

  2. Сервер не знает какие действия мы совершаем мышкой: над какой точкой экрана находится курсор, какие кнопки нажаты или кликнуты, мы не можем выделить прямоугольник на экране (как во многих обычных приложениях) и т.д. Сервер только понимает работу с серверными элементами управления, расположенными на веб-странице.

Соответственно большинство приложений формируют из векторного (заданного координатами точек) изображения растровое (которое много больше по объему!) и передают его через Интернет. Однако сформировать такое изображение удается не во всех случаях, поскольку для этого требуются специальные программы, каждая из которых осуществляет только свой набор преобразований. Например, бесплатный компонент «Microsoft Office Web Components 11.0», прилагаемый к Microsoft Office позволяет «рисовать» на web-странице различные графики в стандартах Microsoft Office. Большинство же графических компонент не только ограничено по функциональности, но и платное. 
Но если эти средства все же позволяют сформировать на веб-странице практически любое изображение, то вопрос с интерактивностью серверной графики практически не разрешим. мы, например, не можем выделить на веб-странице прямоугольник с интересующем нас изображением и увеличить его. Это может обеспечить только клиентские программы, т.е. программы, которые передаются на компьютер пользователя Интернет в составе веб-страницы и выполняются на компьютере пользователя Интернет. При этом все описанные выше ограничения снимаются.
Для этого существует целый ряд технологий, основные из них:

  • Java-Script;

  • Java-апплет;

  • Active-X;

  • Flash.

Применение этих технологий позволяет передавать через Интернет только координаты и значения, а прорисовку изображений осуществляеть на компьютере пользователя. А также и обеспечить интерактивную работу со сформированным изображением: изменение масштаба, сдвиг поворот и т.д. без обращения к серверу.
В промышленных корпоративных системах наибольшее распространение находит технология Java-апплет, но в корпоративных сайтах для создания графических оформительских эффектов эта технология уступает место Flash-технологии.
Использование Java-технологии позволяет создавать корпоративные системы, независящие от компьютерной платформы и операционной системы клиента, и не требующие установки дополнительных программ на компьютере пользователя, поскольку так называемая виртуальная Java-машина (интерпретатор объектно-ориентированного языка Java) является составной частью большинства современных Web-броузеров. Использование Java объединяет достоинства клиентской и серверной технологий и позволяет создавать комбинированную клиент-сервер технологию, что существенно расширяет функциональность Интернета.
Такая технология позволяет обеспечить наибольшую интерактивность для работы с векторной графикой, для картографической визуализации, пространственно-временной обработки и других задач, связанных с обработкой графической информации.
___________________________________________
*Апплет (applet, Java-апплет, Java-applet) — программный компонент, который передается сервером в составе web-страницы (при этом они автоматически интегрируются в HTML) и выполняется на компьютере пользователя. При этом Java-апплеты не имеют прямого доступа к ресурсам компьютера, сетевой доступ из апплета возможен только к тому компьютеру, с которого он был загружен, запуск других приложений на компьютере пользователя из апплетов невозможен. 
Апплеты могут исполняться как на персональных компьютерах (независимо от операционной системы), так и на других устройствах, поддерживающих Java, например, на мобильных телефонах, КПК.
Преимущество Java-апплетов состоит в том, что имеют малый объем и их не надо инсталлировать на компьютере. 
В ядро языка Java и в структуру апплета встроена система безопасности, что исключает возможность нанесения какого-либо ущерба системе даже при наличии в апплете плохого кода. 
Для гарантии того, что полученному апплету можно доверять, Java предлагает цифровую подпись для апплетов.


03.08.2006 


Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   12




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет