Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2013, 22:31   #1
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию курсовая "Телефонный справочник"

итак продолжаю писать курсовую, написали наконец таки функции загрузки\сохранения.
Здесь я буду консультироваться (по мере возникновения вопросов, чтобы не плодить 100 тем)

пока такой вопрос: в одной из лаб мы делали вывод данных в консоли в таблице, через header... ну короче не суть, тут я планирую также выводить, но вот проблема: слишком много полей моей структуры не умещаются в консоли подскажите пожалуйста как можно уменьшить шрифт в консоли? (именно программно, чтобы потом еще на институтских компах каждый раз не уменьшать ) а то символов там и так уже урезал насколько можно, а все равно все съезжает... или как то раздвинуть чтоли консоль... (вручную не раздвигается)

и еще вопрос: в курсовой должно быть реализовано фильтрование и поиск, если с поиском еще туда сюда, то как реализовать фильтрование в консоли, тут моя фантазия зашла в тупик
NewLamer&Programer вне форума Ответить с цитированием
Старый 29.04.2013, 23:26   #2
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

Допустим так
Код:
system("mode con cols=100 lines=75");
Этот пример сделает консоль размером на 100 символов и 75 строк. Вставлять в самом начале. Так же не забыть подключить stdlib.h
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Старый 30.04.2013, 08:15   #3
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Цитата:
Сообщение от Че Гевара Посмотреть сообщение
Допустим так
Код:
system("mode con cols=100 lines=75");
Этот пример сделает консоль размером на 100 символов и 75 строк. Вставлять в самом начале. Так же не забыть подключить stdlib.h
спасибо работает, но все равно все съезжает может еще шрифт как то уменьшить? вот код, посмотрите как бы там все выставить

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale>
#include "Functions.h"

#define _CRT_SECURE_NO_WARNINGS

const char header[] =
"|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n"
"|	 |           |           |           |          Телефон            |                             Адрес                               |                    |\n"
"| № |  Фамилия  |    Имя    | Отчество  |-----------------------------|-----------------------------------------------------------------|        Email       |\n"
"|	 |           |           |           |Домашний|Рабочий| Мобильный  |    Страна     |     Город     |     Улица     |№ дома|№ квартиры|                    |\n"
"|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n";
// 3 |     11    |     11    |     11    |    8   |   7   |      12    |       15      |       15      |       15      |   6  |    10    |          20        |

PhoneBook PB[COUNT];

void main()
{
	setlocale(LC_ALL, "RUSSIAN");
	system("mode con cols=158 lines=40");
	printf("%s",header);
	getch();
}
п.с. ну вот, даже сейчас у меня в сообщении все съехало я хз что это такое в студии было все ровно
NewLamer&Programer вне форума Ответить с цитированием
Старый 30.04.2013, 09:55   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Не используйте tab (только пробелы), может поможет.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.04.2013, 10:10   #5
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Не используйте tab (только пробелы), может поможет.
вообще не использовал tab, везде пробелы
NewLamer&Programer вне форума Ответить с цитированием
Старый 30.04.2013, 13:37   #6
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

предыдущие вопросы актуальны !

добавлю: наобходимо реализовать функцию добавления в массив, что то типа void Add(TPhoneBook EPB, TPhoneBook *PB)
то есть в параметрах экземпляр книги и ссылка на массив, пока никак не соображу прежде всего потому что не имею точного количества элементов массива (он статический пока что, так наверное и придется к динамическому приводить), также привожу полный код еще раз, если кто то не читал предыдущую тему (+ добавил функцию опроса, возвращает как раз экземпляр книги)
Вложения
Тип файла: rar KR_2S.rar (1.33 Мб, 22 просмотров)
NewLamer&Programer вне форума Ответить с цитированием
Старый 30.04.2013, 13:48   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

В массив добавить элементы нельзя (в том смысле, что он занимает фиксированное место, указанное при его создании, "расширить" это место просто так не получится). Классический C-вариант: передавать указатель на первый элемент массива и его длину; при добавлении элементов, если массив имеет фиксированный размер, то просто увеличивать длину на 1 (проверяя, не превысила ли она максимум); если массив динамический - создавать новый и копировать в него имеющийся, потом дописывать что надо и удалять старый. Не очень просто, легко где-нибудь ошибиться.
Классический C++-вариант: использовать std::vector<PhoneBook>. Там Вам и длина, и добавление в конец, и много чего другого полезного.
Abstraction вне форума Ответить с цитированием
Старый 30.04.2013, 14:57   #8
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Abstraction, а как этот ваш std::vector<PhoneBook> юзать? вообще то мы изучаем чистый C, но если там настолько все просто, думаю мог бы попробовать...
NewLamer&Programer вне форума Ответить с цитированием
Старый 30.04.2013, 15:02   #9
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

Цитата:
Сообщение от NewLamer&Programer Посмотреть сообщение
спасибо работает, но все равно все съезжает может еще шрифт как то уменьшить? вот код, посмотрите как бы там все выставить

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale>
#include "Functions.h"

#define _CRT_SECURE_NO_WARNINGS

const char header[] =
"|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n"
"|	 |           |           |           |          Телефон            |                             Адрес                               |                    |\n"
"| № |  Фамилия  |    Имя    | Отчество  |-----------------------------|-----------------------------------------------------------------|        Email       |\n"
"|	 |           |           |           |Домашний|Рабочий| Мобильный  |    Страна     |     Город     |     Улица     |№ дома|№ квартиры|                    |\n"
"|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n";
// 3 |     11    |     11    |     11    |    8   |   7   |      12    |       15      |       15      |       15      |   6  |    10    |          20        |

PhoneBook PB[COUNT];

void main()
{
	setlocale(LC_ALL, "RUSSIAN");
	system("mode con cols=158 lines=40");
	printf("%s",header);
	getch();
}
п.с. ну вот, даже сейчас у меня в сообщении все съехало я хз что это такое в студии было все ровно
Код:
const char header[] =
"|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n"
"|	 |           |           |           |          Телефон            |                             Адрес                               |                    |\n"
"| №	 |  Фамилия  |    Имя    | Отчество  |-----------------------------|-----------------------------------------------------------------|        Email       |\n"
"|	 |           |           |           |Домашний|Рабочий| Мобильный  |    Страна     |     Город     |     Улица     |№ дома|№ квартиры|                    |\n"
"|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n";
// 3	 |     11    |     11    |     11    |    8   |   7   |      12    |       15      |       15      |       15      |   6  |    10    |          20        |
Пробуй редактировать всю подобную фигню в обычном блокноте, в редакторе IDE это будет не красиво выглядеть, зато на выходе норм
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.

Последний раз редактировалось Че Гевара; 30.04.2013 в 15:04.
Че Гевара вне форума Ответить с цитированием
Старый 30.04.2013, 15:02   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Abstraction, а как этот ваш std::vector<PhoneBook> юзать? вообще то мы изучаем чистый C, но если там настолько все просто, думаю мог бы попробовать...
Первая ссылка в Google, да и вообще ресурс хороший. Вот здесь есть пример на вектор int-ов.

Но если у Вас по условию чистый Си, то то же самое придётся делать ручками, а не использовать готовое.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Курсовая работа "Экспертная система выдачи рекомендаций по проезду на транспорте" (C#) [FENIX] Фриланс 2 18.10.2012 21:09
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Где скачать Шилда "Полный справочник С++" Syltan Свободное общение 13 01.09.2009 11:48
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
нужна небольшая курсовая по теме "Графика в Паскале". Win't Фриланс 2 18.12.2007 07:53