Скачать презентацию 7 Строки Программирование на C 1 Скачать презентацию 7 Строки Программирование на C 1

Параграф 7 - 8.ppt

  • Количество слайдов: 17

§ 7. Строки Программирование на C++ 1 § 7. Строки Программирование на C++ 1

Ввод – вывод символа #include <stdio. h> void main() { char c; c = Ввод – вывод символа #include void main() { char c; c = getchar(); putchar(c); } Программирование на C++ 2

Ввод группы символов, заканчивающихся символом «*» #include <stdio. h> #define STOP ‘*’ void main() Ввод группы символов, заканчивающихся символом «*» #include #define STOP ‘*’ void main() { char c; while ((c = getchar()) != STOP) putchar(c); } Программирование на C++ 3

Строка – это последовательность символов (элементов типа char), заканчивающаяся символом '�‘. Таким образом, строка Строка – это последовательность символов (элементов типа char), заканчивающаяся символом '‘. Таким образом, строка – это частный случай массива. Рассмотрим примеры объявления строк в программе. Программирование на C++ 4

#include <stdio. h> void main() { char s 1[7] = “Москва”; char s 2[10] #include void main() { char s 1[7] = “Москва”; char s 2[10] = “Москва”; char s 3[] = “Москва”; char s 4[] = {‘М’, ’о’, ’с’, ’к’, ’в’, ’а’, ’’}; char *s 5 = “Москва”; printf (“s 1=%sns 2=%sns 3=%sns 4=%sns 5=%s”, s 1, s 2, s 3, s 4, s 5); } Программирование на C++ 5

Функции ввода – вывода строк Функция gets читает все символы до перевода строки ‘n’, Функции ввода – вывода строк Функция gets читает все символы до перевода строки ‘n’, не включает его и вставляет символ '' в конец строки. Функция puts выводит символы строки, пока не дойдет до символа '', заменяя его при выводе символом перевода строки ‘n’. Программирование на C++ 6

#include <stdio. h> void main() { char name[100]; printf (“Как Вас зовут? ”); gets #include void main() { char name[100]; printf (“Как Вас зовут? ”); gets (name); printf (“Хорошее имя: %s”, name); char s[]=”До встречи!”; puts (s); } Программирование на C++ 7

Функции работы со строками из библиотеки string. h Функция strcmp (char *s 1, char Функции работы со строками из библиотеки string. h Функция strcmp (char *s 1, char *s 2) возвращает 0, если строки s 1 и s 2 идентичны, в противном случае возвращает разницу кодов ASCII в первом несовпадающем символе. Функция strlen (char *s) вычисляет длину строки s без символа ''. Функция strcpy (char *s 1, char *s 2) копирует строку s 2 в область памяти с адресом s 1 (память должна быть выделена заранее). Функция strcat (char *s 1, char *s 2) копирует строку s 2 в конец строки s 1 (память должна быть выделена заранее). Программирование на C++ 8

Массивы строк void main() { char s 1[3][5]={“Один”, “Два”, “Три”}; char s 2[][5]={“Один”, “Два”, Массивы строк void main() { char s 1[3][5]={“Один”, “Два”, “Три”}; char s 2[][5]={“Один”, “Два”, “Три”}; char *s 3[]={“Один”, “Два”, “Три”}; } Программирование на C++ 9

§ 8. Работа с файлами Программирование на C++ 10 § 8. Работа с файлами Программирование на C++ 10

// Указатель на файл FILE *in; // Открытие файла // для чтения: in = // Указатель на файл FILE *in; // Открытие файла // для чтения: in = fopen (“input. txt”, “r”); // для записи: FILE *out = fopen (“output. txt”, “w”); // для добавления: FILE *f = fopen (“text. txt”, “a”); Программирование на C++ 11

// Чтение из файла fscanf(in, “%d”, &a); // Запись в файл fprintf(out, “%d”, a); // Чтение из файла fscanf(in, “%d”, &a); // Запись в файл fprintf(out, “%d”, a); Программирование на C++ 12

// Чтение символа из файла char c; c = fgetc (in); // Запись символа // Чтение символа из файла char c; c = fgetc (in); // Запись символа в файл fputc (c, out); Программирование на C++ 13

// Проверка конца файла feof(in) // Закрытие файла fclose(in); Программирование на C++ 14 // Проверка конца файла feof(in) // Закрытие файла fclose(in); Программирование на C++ 14

Рассмотрим пример Входной файл: input. txt 5 3 Иванов 4 3 5 Петров 5 Рассмотрим пример Входной файл: input. txt 5 3 Иванов 4 3 5 Петров 5 5 4 Сидоров 3 3 4 Кузнецов 5 3 3 Попов 5 4 4 Выходной файл: output. txt Иванов 12 Петров 14 Сидоров 10 Кузнецов 11 Попов 13 Программирование на C++ 15

#include <stdio. h> void main() { // открытие файлов FILE *in = fopen( #include void main() { // открытие файлов FILE *in = fopen("input. txt", "r"); FILE *out = fopen("output. txt", "w"); // чтение данных int n, m; fscanf(in, "%d%d", &n, &m); char str[100]; Программирование на C++ 16

for (int j = 1; j <= n; j++) { fscanf(in, for (int j = 1; j <= n; j++) { fscanf(in, "%s", str); int sum = 0; for (int i = 1; i <= m; i++) { int a; fscanf(in, "%d", &a); sum += a; } fprintf (out, "%-10 s%dn", str, sum); } fclose(in); fclose(out); } Программирование на C++ 17