Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Типовые приемы алогитмизацииСодержание книги
Поиск на нашем сайте Цель работы – овладение практическими навыками работы с проектами в интегрированной среде Borland C++.
Задания для самостоятельной подготовки: 1. Изучить: - принципы работы с проектами в интегрированной среде Borland C++. 2. Разработать проект в соответствии с заданием. 3. Подготовить тестовый вариант исходных данных. Выполнить на ЭВМ программу с тестовым вариантом. Задание к работе: Разместить функции программы создания светового меню в отдельных файлах. Объединить созданные файлы в проекте. Пример выполнения работы Задание. Написать программу, осуществляющую вывод и управление меню с подсветкой. Главное меню должно содержать пункты: 1. Ввод информации 2. Вывод информации 3. Выход При выборе первого пункта осуществить ввод в массив структур информации - ФИО рабочего; - год рождения; - табельный номер. При выборе второго пункта осуществить вывод меню второго уровня
Разместить функции программы создания светового меню в отдельных файлах. Объединить созданные файлы в проекте.
Программа решения задачи имеет вид:
Файл 1: void menu(int j, int c1, int c2, int ys, unsigned char *textmenu[]) { int i; textcolor(c1); textbackground(c2); for(i=0;i<j;i++) { gotoxy(1,ys); clreol(); cprintf("%s",textmenu[ys/2-1]); ys+=2; } // ys+=2; return; } Файл 2: int winmenu(char* u[]) { int y,predy; union { int p; unsigned char b[2]; } key; textbackground(0); clrscr(); window(7,3,73,22); textbackground(15); clrscr(); window(10,4,70,21); textbackground(2); clrscr(); y=2; predy=2; menu(3,0,2,2,u); menu(1,15,0,2,u); for(;;) { key.p=bioskey(0); switch (key.b[1]) { case 72: y-=2; if(y<2) y=6; break; case 80: y+=2; if(y>6) y=2; break; case 28: return y/2; } menu(1,0,2,predy,u); menu(1,15,0,y,u); predy=y; } } Файл 3:
int vvod(struct pass mas[]) { int i,kol; clrscr(); cprintf("Введите кол-во жителей:"); scanf("%d",&kol); for(i=0;i<kol;i++) { cprintf("\r\n"); cprintf("Введите ФИО: "); scanf("%s", &mas[i].fio); cprintf("\r\nВведите год рождение: "); scanf("%d", &mas[i].god); cprintf("\r\nВведите его табельный номер: "); scanf("%d", &mas[i].tabn); } return kol; }
Файл 4: void vivod(int k,struct pass mas[],int de) { int i; clrscr(); for(i=0;i<k;i++) switch(de) { case 1:cprintf("ФИО:%20s\r\nГод рождения:%5d\r\n",mas[i].fio,mas[i].god); break; case 2:cprintf("ФИО:%20s\r\nТабельный номер:%d\r\n",mas[i].fio,mas[i].tabn); break; case 3:cprintf("ФИО:%20s\r\nГод рождения:%5d\r\nТабельный номер:%d\r\n",mas[i].fio,mas[i].god,mas[i].tabn); } getch(); return; }
Файл 5:
#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<graphics.h> #include<math.h> #include<dos.h> #include<bios.h>
struct pass { char fio[30]; int god; int tabn; };
void main() { struct pass s[30]; int koll,R=1,P=1; unsigned char *textmenu1[]={"1.Ввод инфо","2.Вывод инфо","3.Выход"}; unsigned char *textmenu2[]={"1.Вывод ФИО и год рождения","2.Вывод ФИО и табельный номер","3.Вывод всей инфо"}; clrscr(); // koll=vvod(s); _setcursortype(_NOCURSOR); while(R!=3) { R=winmenu(textmenu1); switch(R) { case 1: koll=vvod(s); break; case 2: P=winmenu(textmenu2); vivod(koll,s,P); break; case 3: clrscr(); textcolor(4); cprintf("Программа выполнила недопустимую операцию и будет закрыта!!!"); getch(); } } return; } Контрольные вопросы
Лабораторная работа №8 Обработка символьных данных Цель работы – овладение навыкамиалгоритмизации и программирования задач, обрабатывающих символьные данные, ввода и вывода символьных данных, их обработки, использование стандартных функций обработки символьных данных.
Задания для самостоятельной подготовки: 1. Изучить: - правила записи символьных данных (констант, переменных, массивов) и их объявление; - способы ввода и вывода символьных данных; - способы обработки символьных данных; - использование стандартных функций обработки символьных данных. 2. Разработать алгоритм решения в соответствии с заданием. 3. Составить программу решения задачи. 4. Подготовить тестовый вариант исходных данных для проверки работы программы.
Задание к работе:
Таблица 6
Пример выполнения работы В строке удалить все лишние пробелы, оставляя между словами по одному пробелу. Обработку строки нужно производить с конца, чтобы не пропускать сочетание двух пробелов. Если встречаются два пробела подряд (текущий символ и предыдущий), удалить предыдущий символ путем копирования части строки с новой позиции, отличающейся от предыдущей на 1. Программа решения задачи имеет вид:
#include <stdio.h> //подключение файла #include <string.h> //подключение файла
void main () //заголовок функции main { char str[80],*n; int i; // объявление переменных printf (“Введите строку\n”); gets(str); //ввод строки i=strlen(str); //начальное значение (длина строки) while(i) //пока не конец строки (i не равно нулю) {if(*(str+i)= =’ ‘ &&(*(str+i-1)= =’ ‘) //если текущий и предыдущий символы пробелы {n=str+i-1; //n устанавливается на предыдущий символ while((*n=*(n+1))!=’\0’) //пока не конец строки, текущий символ переписывается на предыдущий n++; //переход к следующему символу } i--; //переход к предыдущему символу } if(*(str+strlen(str)-1)= =’ ‘) //если конечный символ пробел *(str+strlen(str)-1)=’\0’; //то он удаляется if(*(str)= =’ ‘) //если первый символ пробел {n=str; //запоминается номер текущей позиции while((*n=*(n+1))!=’\0’) //то он удаляется n++; } printf (“Строка без лишних пробелов:\n%s\n”,str); //вывод значения переменной return; //завершение функции main }
Контрольные вопросы
Лабораторная работа №9
|
||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-02-19; просмотров: 312; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |