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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2012, 14:24   #1
Bags
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 12
По умолчанию В C++ Builder компилируется, а в Visual C++ 2010. В чем может быть проблема?

Всем привет!
Странная ситуация, в Borland C++ Builder всё компилируется, а вот в Visual C++ 2010 отказывается.
Можете объяснить, в чем дело?
Спасибо!

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>

typedef struct item {
char data;
  struct item *next;
} Item;

void Insert(char value);
void Delete(char value);
void Display(void);
	
Item* list = NULL;
#define FALSE 0
#define TRUE 1
	
main()
{
int done = FALSE;
char c, value;   /* символ команды пользователя и */
               /* вводимое значение             */
while (!done) {
	  Display();
	  printf("\n\nA)dd, D)elete, Q)uit ");
	  c = getch();
	    switch (toupper(c)) {
	      case 'A':
	        printf("\nEnter a character: ");
	        value = getch();  /* получить символ */
	        Insert(value);    /* вставить его в список */
	        break;
	      case 'D':
	        if (list != NULL) { /* если список не пуст */
	          printf("\nEnter character to be deleted: ");
	          value = getch();  /* получить символ */
	          Delete(value);    /* удалить его из списка */
	        }
	        break;
	      case 'Q':
	        done = TRUE;
	        break;
	    }
	  }
	  return 0;
	}
	
/* Вставить элемент в список */
void Insert(char value)
{
Item *p, *cur = list, *prev = NULL; 
                                    
p = (Item *)malloc(sizeof(Item));
p->data = value;
p->next = NULL;
/* Цикл while находит место для вставки элемента */
while (cur != NULL && value > cur->data) {
	    prev = cur;      
	    cur = cur->next; 
}
if (prev == NULL) { /* если новый элемент должен быть */
                      /* первым в списке... */
p->next = list;   /* связать его со списком */
list = p;         /* list указывает на первый элемент */
  } else {            /* иначе... */ 
   prev->next = p;   /* вставить элемент */
   p->next = cur;    /* в середину или конец списка */
  }
}

/* Удалить элемент из списка */
void Delete(char value)
{
Item *prev = list, *cur = list->next, *p;

if (value == list->data) { /* если нужно удалить */
                             /* начальный элемент списка */
	    p = list;          /* p указывает на удаляемый элемент*/
	    list = list->next; /* list указывает на след. элемент */
	    free(p);           /* удалить элемент */
	  } else {             /* иначе... */
	    /* С помощью цикла while найти элемент */
	    while (cur != NULL && cur->data != value) { 
	      prev = cur; 
	      cur = cur->next; 
	    }
	    if (cur != NULL) { /* если элемент найден... */
	      p = cur;         /* p указывает на удаляемый элемент*/ 
	      prev->next = cur->next; /* перенастроить связи */
	      free(p);                /* удалить элемент */
	    }
	  }
	}

	/* Отобразить список */
void Display(void)
{
	Item* p = list;
	clrscr();
	if (p == NULL)
	   printf("List is empty");
	else {
	   printf("List: ");
	  while (p != NULL) {
	      printf("%c -> ", p->data);
	      p = p->next;
	    }
	    printf("NULL");
	  }
	}
Bags вне форума Ответить с цитированием
Старый 30.11.2012, 14:27   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Отказывается с какими словами?
Abstraction вне форума Ответить с цитированием
Старый 30.11.2012, 15:43   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А где возвращаемый тип у мейн?
p51x вне форума Ответить с цитированием
Старый 30.11.2012, 15:44   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Подзреваю, что не находит clrscr()
waleri вне форума Ответить с цитированием
Старый 01.12.2012, 17:54   #5
Bags
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 12
По умолчанию

Говорит: error C3861: 'clrscr': identifier not found
Bags вне форума Ответить с цитированием
Старый 01.12.2012, 18:32   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно. В Борланде этой функции уже нет. Убирай ее.
Можешь заменить ее на system("cls");
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.12.2012, 00:25   #7
Bags
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Правильно. В Борланде этой функции уже нет. Убирай ее.
Можешь заменить ее на system("cls");
Понял. Спасибо!
Bags вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем может быть ошибка? Imposters Общие вопросы .NET 4 23.11.2012 14:11
Z-буфер, в чем может быть проблема? kaifat Общие вопросы Delphi 8 26.05.2012 22:49
цикл не печатает Y 10 раз, в чем может быть проблема serzav5 Общие вопросы C/C++ 8 22.01.2012 23:57
Visual Studio не компилируется программа. Ошибка в iostream.h (no such file or directory). В чем проблема? Mubat Visual C++ 2 19.10.2011 20:41
не работает ехе файл в visual C++. В чем может быть ошибка? katya-vesnushka Visual C++ 1 08.11.2010 22:00