![]() |
|
Модераторы: Poseidon |
![]()
|
|
| andrei87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.1.2015 Репутация: нет Всего: нет |
С помощью текстового редактора БЛОКНОТ создать файл, содержащий текст, длина которого не превышает 700 символов (длина строки текста не должна превышать 70 символов).
Файл должен иметь расширение DAT. Написать программу, которая: выводит текст на экран дисплея; выводит текст на экран дисплея еще раз, меняя в нем местами заданные слова (заданные слова вводятся с клавиатуры). Код: #include <conio.h> //библиотека функция для работы с консолью #include <stdio.h> //библиотека функций для работы с файлами #include <io.h> //библиотека функций для работы с файлами #include <locale.h> //библиотека для поддержки русского языка #include <windows.h> //библиотека функция для работы с консолью FILE* f_open;//функуция для работы с файлом FILE* f;//Объявление файла int kod; char puch[]="c:\\stih.dat";//строка для сокращения записи в коде FILE *Open_file(char*,char*);// функция для работы с файлом void fun_1();//функция для чтения файла void fun_2();//функция для выполнения задания void main ()//главная функция {setlocale(LC_CTYPE, "Russian");//подержка русского языка int menu, rowN=0;//целочисленные переменные do//цикл выполнится хотябы один раз { puts("\t\t\tМеню:"); puts("\t\t1-вывод текста на экран дисплея С\:stih.dat"); puts("\t\t2-определить количество предложений текста и количество слов в каждом предложении."); puts("\t\t3-выход"); scanf("%d",&menu);//выбор пункта меню switch(menu)//отстройка меню { case 1: case 2://выполняется при выборе 1 или 2 f_open=Open_file(puch,"r");//функция открывает файл для чтения if(menu==1) //если выбран первый пункт { fun_1();//функция для чтения файла fclose(f_open);//файла закрыт break;//выход из меню } else//если не выбран пункт 1 { fun_2();//функция для выполнения задания fclose(f_open);//файла закрыт } case 3: exit(0);//завершение работы программы break;//выход из меню default: //значение не совподает ни с одним из значений system("cls"); //чистка экрана puts("неправельный выбор");//вывод на экран }} while(1);//бесконечный цикл _getch();//возвращает очередной символ } FILE *Open_file(char*file,char* kod)//функция для работы с файлом { FILE* f;//Объявление файла if(!(f=fopen(file,kod)))//если функция имеет решения { puts("Ошибка открытия файла!");//сообщение об ошибке exit(1);//завершение с кодом ошибки 1 } return f;//возвращение значения файла } void fun_1()//функция для чтения файла {char *strbuff;//указатель на строку int i;//целочисленные переменные strbuff=new char[71];//выделение памяти для строки if (strbuff==NULL)//если строка массива не создана {puts("ошибка при создании массива строки"); //сообщение об ошибки _getch();//возвращает очередной символ return;//завершение функции } printf("\n-----------Исходный текст---------------\n");//разделение вывода while(fgets(strbuff,70,f_open)!=NULL)//цикл: считывание с файла всех строк { printf("%s",strbuff);//вывод строк на экран } printf("\n-----------Конец текста---------------\n");//разделение вывода delete[]strbuff;//удаление ранее выделиной памяти для строки _getch();//возвращает очередной символ } void fun_2()//функция для выполниния задания { что писать во 2 функции? |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 5 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |