КАТЕГОРИИ: Архитектура-(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; Просмотров: 442; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |