Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание и инициализация строк




Лекция 8

При выполнении курсовой работы требуется создать два программных файла (generation.exe, request.exe) и два текстовых файла (qwerty.dot, zxcvbn.dot).

1. Программный файл генерации случайных чисел “generation.exe”. В результате создается текстовый файл с именем “qwerty.dot”.

2. Файл исполняемой программы “request.exe” в соответствии с заданием курсовой работы. Исходными значеиями для нее являются данные файла “qwerty.dot”. Следует учесть, что программа предназначена не самому разработчику, а для использования другими пользователями. Поэтому все инструкции по использованию программы должны быть понятны и не требовать дополнительного пояснения!!!.

Примеры пояснения заданий:

“Для вычисения среднего значения в колонке введите ее номер (0-4):”

“Для вычисения минимального значения в строке введите ее номер (1-5):”

Результаты расчета исполняемой программы “request.exe”выводятся в текстовый файл с именем “zxcvbn.dot”.

Текстовые строки реализуются в виде символьных массивов в виде char str[x].

Инициализировать массив можно посимвольно с явным указанием на нуль-символ: char str1[20]={’1’, ’2’, ’3’, ’4, ’0’, ’q’, ’w’, ’e’, ’r’, ’t’, ’\0’, }. Число 0 и символ ‘\0’ не одно и то же. Незаполненные элементы массива обнуляются.

Пример: инициализация массива.

#include <iostream>

#include <windows.h> //установка команд операционной системы

using namespace std;

string Rus(string text) //установка вывода русского языка в строке

{

CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str());

return text;

}

int main()

{

char str1[20]={'1','2','3','4','0','q','w','e','r','t','\0'};

int i;

cout <<str1<<endl;

for (i=0; i<20; i++)

{ cout <<str1[i]; }

cout<<endl; cout<<endl;

return 0;

}

Строка – это непрерывная последовательность символов, при занесении строки в массив командой cin >>12340 qwert будет выводиться только 12340, т.к. символы перехода на новую строку, табуляции, пробел в операторе cin интерпретируются компилятором как нуль-символ. В этом случае выводится строка только до нуль-символа. а в остальных ячейках содержится “мусор”.

Пример: посимвольное заполнение массива оператором cin.

#include <iostream>

#include <windows.h> //установка команд операционной системы

using namespace std;

string Rus(string text) //установка вывода русского языка в строке

{

CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str());

return text;

}

int main()

{

char str1[20]; int i;

cout <<Rus("Введите строку: "); cin>>str1;

cout <<str1<<endl;

for (i=0; i<20; i++)

{cout <<str1[i];}

cout<<endl; cout<<endl;

return 0;

}


Поэтому для занесения строки в массив служебных символов (пробела) следует использовать функцию gets(), которая подключается в заголовочном файле <cstdio>. Например, командой char str[20]=”12340 qwert” создается символьный массив из 20 элементов. В первые 5 ячеек с номерами 0-4 заносится текстовая строка 12340, в 6 ячейку заносится пробел (код 32), в ячейки 7-10 заносится qwert и затем автоматически заносится нуль-символ ’/0’, а в остальных ячейках содержится “мусор”. При чтении массива, созданного оператором gets() символы считываются до нуль-символа ’/0’.

 

Пример: посимвольное заполнение массива оператором gets.

#include <iostream>

#include <cstdio> //для функции gets()

#include <windows.h> //установка команд операционной системы

using namespace std;

string Rus(string text) //установка вывода русского языка в строке

{

CharToOem((LPCTSTR)text.c_str(), (LPSTR)text.c_str());

return text;

}

int main()

{

char str1[20]; int i;

cout <<Rus("Введите строку: "); gets(str1);

cout <<str1<<endl;

for (i=0; i<20; i++)

{ cout <<str1[i]; }

cout<<endl;

cout<<endl;

system("pause"); //приостанавливает компилятор

return 0;

}




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 421; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.