|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример реализации программыПример программы с использованием стека Программа реализует простой калькулятор с четырьмя действиями.
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "locale.h"
#define STACK struct List STACK { int info; STACK *next; };
void push(STACK **top, int item); int del (STACK **top);
int _tmain(int argc, _TCHAR* argv[]) { STACK *s = 0; int a, b; char str[80];
setlocale(LC_ALL,"Russian"); printf("Калькулятор с четырьмя действиями\n"); printf("Нажмите 'q' для выхода\n"); do { printf(": "); gets(str); switch(*str) { case '+': a = del(&s); b = del(&s); printf("%d\n", a+b); push(&s,a+b); break; case '-': a = del(&s); b = del(&s); printf("%d\n", b-a); push(&s,b-a); break; case '*': a = del(&s); b = del(&s); printf("%d\n", b*a); push(&s,b*a); break; case '/': a = del(&s); b = del(&s); if(a==0) { printf("Деление на 0.\n"); break; } printf("%d\n", b/a); push(&s,b/a); break; case '.': a = del(&s); push(&s,a); printf("Текущее значение вершины стека: %d\n", a); break; default: push(&s,atoi(str)); } } while(*str!= 'q');
return 0; }
void push (STACK **top, int item) { STACK *new_item; new_item = new STACK; new_item->info = item; new_item->next=*top; *top = new_item; }
int del (STACK **top) { STACK *old_item = *top; int item;
if(*top) { item = (*top)->info; *top =(*top)->next; free(old_item); return item; } return 1; }
Пример программы с использованием очереди Программа реализует мини-планировщик событий:
#include "stdafx.h" #include "string.h" #include "stdlib.h" #include "stdio.h" #include "ctype.h"
#define QUEUE struct List
QUEUE { char *info; int num; QUEUE *next; };
void insert(QUEUE **pbeg, char *item, int number); void del(QUEUE **pbeg); void enter(int *spos, QUEUE **q); void review(QUEUE **q);
int _tmain(int argc, _TCHAR* argv[]) { char s[80]; int spos=0; QUEUE *q=0;
for(;;) { printf("Enter, List, Remove, Quit: "); gets(s); *s = toupper(*s);
switch(*s) { case 'E': enter(&spos,&q); break; case 'L': review(&q); break; case 'R': del(&q); break; case 'Q': exit(0); } } return 0; }
void insert(QUEUE **pbeg, char *item, int number) { QUEUE *current = *pbeg; QUEUE *previous = 0; QUEUE *new_node; while (current) { previous = current; current = current -> next; } new_node = new QUEUE; strcpy(new_node->info, item); new_node->num = number; if (previous) { new_node->next = 0; previous->next = new_node; } else { *pbeg = new_node; (*pbeg)->next = 0; } }
void del (QUEUE **pbeg) { QUEUE *old_item = *pbeg;
if(*pbeg) { printf("%d: %s\n",(*pbeg)->num,(*pbeg)->info); *pbeg =(*pbeg)->next; free(old_item); } }
void enter(int *spos, QUEUE **q) { char *s; QUEUE *q1=*q;
s = new char; do { printf("Enter appointment %d: ", spos+1); gets(s); if(*s==0) break; spos++; insert(&q1,s,spos); *q = q1; } while(*s); }
void review(QUEUE **q) { QUEUE *temp = *q; while(temp) { printf("%d. %s\n", temp->num, temp->info); temp = temp->next; } }
Варианты заданий к практической работе №2 Вариант 1 1.) Составить программу, которая содержит текущую информацию об успеваемости студентов. Сведения о студентах включают: · фамилия и инициалы; · номер группы; · успеваемость (массив из пяти элементов). 2.) Программа должна обеспечивать: · хранение сведений обо всех студентах в виде односвязного списка (очередь); · добавление данных о новых студентах; · удаление данных о студенте, фамилия которого введена с клавиатуры; · вывод сведений обо всех студентах; · по запросу выводятся сведения о студентах, средний балл которых больше 4.0. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 2 1.) Составить программу, которая содержит текущую информацию об успеваемости студентов. Сведения о студентах включают: · фамилия и инициалы; · номер группы; · успеваемость (массив из пяти элементов). 2.) Программа должна обеспечивать: · хранение сведений обо всех студентах в виде односвязного списка (очередь); · добавление данных о новых студентах; · удаление данных о студенте, фамилия которого введена с клавиатуры; · вывод сведений обо всех студентах; · по запросу выводятся сведения о студентах, которые имеют оценки 4 и 5. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 3 1.) Составить программу, которая содержит текущую информацию об успеваемости студентов. Сведения о студентах включают: · фамилия и инициалы; · номер группы; · успеваемость (массив из пяти элементов). 2.) Программа должна обеспечивать: · хранение сведений обо всех студентах в виде односвязного списка (очередь); · добавление данных о новых студентах; · удаление данных о студенте, фамилия которого введена с клавиатуры; · вывод сведений обо всех студентах; · по запросу выводятся сведения о студентах, которые имеют хотя бы одну оценку 2. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 4 1.) Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает: · пункт назначения; · номер рейса; · фамилию и инициалы пассажира; · желаемую дату вылета. 2.) Программа должна обеспечивать: · хранение всех заявок в виде односвязного списка (очередь); · добавление заявок в список; · удаление заявки пассажира, фамилия которого введена с клавиатуры; · вывод всех заявок; · вывод заявок по заданному пункту назначения. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 5 1.) Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает: · пункт назначения; · номер рейса; · фамилию пассажира; · желаемую дату вылета. 2.) Программа должна обеспечивать: · хранение всех заявок в виде односвязного списка (очередь); · добавление заявок в список; · удаление заявки пассажира, фамилия которого введена с клавиатуры; · вывод всех заявок; · вывод заявок по заданной дате вылета. 3.) Программа должна обеспечивать диалог с помощью меню. Вариант 6 1.) Составить программу, которая содержит текущую информацию о работниках организации. Сведения о работнике включают: · фамилия и инициалы работника; · название занимаемой должности; · год поступления на работу; 2.) Программа должна обеспечивать: · хранение сведений обо всех работниках в виде односвязного списка (очередь); · добавление новых работников в список; · удаление работников из списка, фамилия которого введена с клавиатуры; · вывод сведений обо всех работниках; · по запросу выводятся сведения о работниках, чей стаж работы в организации превышает значение, введенное с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 7 1.) Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: · пункт назначения; · номер поезда; · время отправления. 2.) Программа должна обеспечивать: · хранение данных в информационной системе в виде односвязного списка (очередь); · добавление данных о поездах в информационную систему; · удаление данных о поезде по введенному номеру поезда; · вывод информации обо всех поездах; · вывод информации о поездах, отправляющихся после введенного с клавиатуры времени. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 8 1.) Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: · пункт назначения; · номер поезда; · время отправления. 2.) Программа должна обеспечивать: · хранение данных в информационной системе в виде односвязного списка (очередь); · добавление данных о поездах в информационную систему; · удаление данных о поезде по введенному номеру поезда; · вывод информации обо всех поездах; · вывод информации обо всех поездах, следующих до заданного пункта назначения. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 9 1.) Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается: · пункт назначения; · номер поезда; · время отправления. 2.) Программа должна обеспечивать: · хранение данных в информационной системе в виде односвязного списка (очередь); · добавление данных о поездах в информационную систему; · удаление данных о поезде по введенному номеру поезда; · вывод информации обо всех поездах; · вывод информации о поезде, номер которого введен с клавиатуры; 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 10 1.) Составить программу, которая содержит информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе включают: · номер автобуса; · фамилию и инициалы водителя; · номер маршрута. 2.) Программа должна обеспечивать: · хранение данных обо всех автобусах в парке в виде односвязного списка (очередь); · добавление данных об автобусах в список при въезде каждого автобуса в парк; · удаление данных об автобусе из списка при выезде из парка, номер которого введен с клавиатуры; · вывод информации обо всех автобусах, находящихся в парке; · по запросу выводится информация об автобусе по введенной фамилии водителя. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 11 1.) Составить программу, которая содержит информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе включают: · номер автобуса; · фамилию и инициалы водителя; · номер маршрута. 2.) Программа должна обеспечивать: · хранение данных обо всех автобусах в парке в виде односвязного списка (очередь); · добавление данных об автобусах в список при въезде каждого автобуса в парк; · удаление данных об автобусе из списка при выезде из парка, фамилия водителя которого введена с клавиатуры; · вывод информации обо всех автобусах, находящихся в парке; · по запросу выводится информация обо всех автобусах, работающих на маршруте, номер которого введен с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 12 1.) Составить программу, которая содержит сведения телефонной книжки. Каждая запись включает: · фамилия, имя; · номер телефона; · день рождения (массив из трех чисел). 2.) Программа должна обеспечивать: · хранение всех записей в виде односвязного списка (очередь); · добавление новой записи; · удаление из списка информации о человеке, фамилия которого введена с клавиатуры; · вывод информации обо всех номерах телефонов; · по запросу выводится информация о человеке, номер телефона которого введен с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 13 1.) Составить программу, которая содержит сведения телефонной книжки. Каждая запись включает: · фамилия, имя; · номер телефона; · день рождения (массив из трех чисел). 2.) Программа должна обеспечивать: · хранение всех записей в виде односвязного списка (очередь); · добавление новой записи; · удаление из списка информации о человеке, фамилия которого введена с клавиатуры; · вывод информации обо всех номерах телефонов; · по запросу выводится информация о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 14 1.) Составить программу, которая содержит сведения телефонной книжки. Каждая запись включает: · фамилия, имя; · номер телефона; · день рождения (массив из трех чисел). 2.) Программа должна обеспечивать: · хранение всех записей в виде односвязного списка (очередь); · добавление новой записи; · удаление из списка информации о человеке, день рождения которого приходится на дату, введенную с клавиатуры; · вывод информации обо всех номерах телефонов; · по запросу выводится информация о человеке, чья фамилия введена с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 15 1.) Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: · фамилию и инициалы автора; · название; · год издания; · количество экземпляров данной книги в библиотеке. 2.) Программа должна обеспечивать: · хранение всех данных обо всех книгах в библиотеке в виде односвязного списка (очередь); · добавление данных о книгах вновь поступивших в библиотеку; · удаление данных о списываемой книге, название которой введено с клавиатуры; · вывод информации обо всех книгах в библиотеке; · по запросу выводится информация обо всех книгах автора, имеющихся в библиотеке, чья фамилия введена с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 16 1.) Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: · фамилию и инициалы автора; · название; · год издания; · количество экземпляров данной книги в библиотеке. 2.) Программа должна обеспечивать: · хранение всех данных обо всех книгах в библиотеке в виде односвязного списка (очередь); · добавление данных о книгах вновь поступивших в библиотеку; · удаление данных о списываемой книге, название которой введено с клавиатуры; · вывод информации обо всех книгах в библиотеке; · по запросу выводится информация о книге, название которой введено с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 17 1.) Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают: · фамилию и инициалы автора; · название; · год издания; · количество экземпляров данной книги в библиотеке. 2.) Программа должна обеспечивать: · хранение всех данных обо всех книгах в библиотеке в виде односвязного списка (очередь); · добавление данных о книгах вновь поступивших в библиотеку; · удаление данных о списываемой книге, название которой введено с клавиатуры; · вывод информации обо всех книгах в библиотеке; · по запросу выводится информация о книгах, изданных после года, введенного с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 18 1.) Составить программу, которая содержит текущую информацию о наличии товара на складе. Сведения о товаре включают: · название товара; · название магазина, в котором продается товар; · стоимость товара в рублях. · номер партии товара. 2.) Программа должна обеспечивать: · хранение сведений обо всех товарах в виде односвязного списка (очередь); · добавление данных о новых товарах; · удаление данных о товаре, номер которого введен с клавиатуры; · вывод сведений обо всех товарах; · по запросу выводятся сведения о товаре, название которого введено с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 19 1.) Составить программу, которая содержит текущую информацию о наличии товара на складе. Сведения о товаре включают: · название товара; · название магазина, в котором продается товар; · стоимость товара в рублях. · номер партии товара. 2.) Программа должна обеспечивать: · хранение сведений обо всех товарах в виде односвязного списка (очередь); · добавление данных о новых товарах; · удаление данных о товаре, номер которого введен с клавиатуры; · вывод сведений обо всех товарах; · по запросу выводятся сведения о товаре, название которого введено с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 20 1.) Составить программу, которая содержит текущую информацию о наличии товара на складе. Сведения о товаре включают: · название товара; · название магазина, в котором продается товар; · стоимость товара в рублях. · номер партии товара. 2.) Программа должна обеспечивать: · хранение сведений обо всех товарах в виде односвязного списка (очередь); · добавление данных о новых товарах; · удаление данных о товаре, номер которого введен с клавиатуры; · вывод сведений обо всех товарах; · по запросу выводятся сведения о товарах, цена которых больше, введенной с клавиатуры. 3.) Программа должна обеспечивать диалог с помощью меню.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.038 сек.) |