Новые книги

Рано или поздно продажи в любом бизнесе «замирают». Чтобы не сдать позиции конкурентам, необходимо ежедневно завоевывать и удерживать клиентов.

Активные продажи – двигатель бизнеса, а клиентская база – его главный актив. Применение методики холодных звонков, которая пошагово описана в этой книге, поможет вам успешно завоевывать клиентов и удерживать их. Простые инструменты – скрипты продаж и чек-листы, автоматизация и точечный контроль – сразу же докажут свою результативность.

Книга будет полезна топ-менеджерам и владельцам бизнеса, руководителям отделов продаж, начинающим менеджерам по продажам и опытным продавцам.
В отличие от множества трудов, посвященных руководству проектами и командами, в этой книге не проповедуются никакие новые учения и не превозносятся великие теории. Скотт Беркун считает залогом успеха практику и разнообразие подходов. В книге описываются основные сложности и проблемные ситуации, возникающие в работе менеджера проекта, даны рекомендации по выходу из них.

Издание предназначено не только для лидеров команд и менеджеров высшего звена, но и для программистов, тестеров и других исполнителей конкретных проектных заданий. Также оно будет полезно студентам, изучающим бизнес-менеджмент, проектирование изделий или программную инженерию.

Текст нового издания значительно переработан автором с целью добиться большей ясности, кроме того, книга дополнена новым приложением и более чем 120 практическими упражнениями.

Примеры.

Пример 6

/* Сортировка букв в строке методом "пузырька" (bubble sort) */
#define YES 1
#define NO  0
bsort(s) char *s;
{
    register i;          /* индекс сравниваемой буквы */
    register need = YES; /* надо ли продолжать сортировку ? */
    while( need ){
	need = NO;       /* не надо */
	for(i=0; s[i+1]; i++ )
	  /* условие цикла: мы сравниваем i-ую и i+1-ую буквы,
	   * поэтому и проверяем наличие i+1ой буквы
	   */
	   if( s[i] > s[i+1] ){ /* в неверном порядке */
		swap( &s[i], &s[i+1] ); /* переставить */
		need = YES; /* что-то изменилось: надо будет
			     * повторить просмотр массива букв */
	   }
    }
}
/* А вот вариант сортировки, написанный с указателями */
bpsort(s) char *s;
{
	register char *p; register need = YES;
	while( need ){
		need = NO;
		for( p = s; p[1] != '\0' ; p++ )
		    if( *p > *(p+1) ){
			swap( p, p+1 ); need = YES;
		    }
	}
}
/* обмен двух букв, находящихся по адресам s1 и s2 */
swap( s1, s2 ) register char *s1, *s2;
{
	char tmp;  /* temporary */
	tmp = *s1; *s1 = *s2; *s2 = tmp;
}
char sample1[] = "Homo homini lupus est - ergo bibamus!";
char sample2[ sizeof sample1 ]; /* массив такого же размера */
main(){
	strcpy( sample2, sample1 );  /* скопировать */
	bsort ( sample1 ); printf( "%s\n", sample1 );
	bpsort( sample2 ); printf( "%s\n", sample2 );
}

© Copyright А. Богатырев, 1992-95
Си в UNIX

Назад | Содержание | Вперед