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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 18:36   #1
katushka-1990
Новичок
Джуниор
 
Регистрация: 22.03.2010
Сообщений: 2
По умолчанию Не выводится структура! Что не так?

написала программу структуры со списком, добавляю 1 элемент, при выводе пишет null, добавляю несколько, выдает ошибку и подчиркивает принт.

Код:
#pragma argsused
struct AVTO      // структура авто
{
  int id;
  char name[30];
  AVTO *next;
}a;

struct USER      // структура владельцев
{
  char name;
  USER *link;
  AVTO mashina;
}u;
int _tmain(int argc, _TCHAR* argv[])
{
  int sw1, sw2;	     // переменные для switch
  USER *top_u, *k_u; // указатель на вершину стека и рабочий указатель
  char n_u;          // буферные переменные
  top_u=NULL;        // стек пустой

  loopmenu:		 // метка главного меню
  cout<<"Viberete deistvie: \n"<<endl;
  cout<<"1. Dobavit vladelica: \n"<<endl;
  cout<<"2. Posmotret spisok: \n"<<endl;
  cin>>sw1;
  switch(sw1)
  {
	 case 1:   // добавить владельца
	 {
		/* Построение стека */
		k_u=new USER;    // Выделение динамической памяти
		k_u->link=top_u; // Связь с предыдущим узлом
		k_u->name=n_u;   // Записываем в информационное поле введенные данные
		top_u=k_u;       // Вершина стека перемещается на вновь созданный узел
		printf("vedite vladelica\n");
		scanf("%s", &n_u);
		USER *newUSER = new USER;
		newUSER->link = top_u;
		newUSER->name = n_u;
		top_u = newUSER;
		goto loopmenu;
	 }
	 break;
	 case 2:
	 {
		/*_ Вывод построенного стека _*/
		k_u = top_u; // Устанавливаем указатель на вершину стека
		while (k_u != NULL) // Пока не достигли конца стека
		{
			printf("%s", k_u->name); // здесь ошибка!
			k_u = k_u->link; // Перемещение к следующему узлу
		}
	 }
	 break;

Последний раз редактировалось katushka-1990; 23.03.2010 в 06:19.
katushka-1990 вне форума Ответить с цитированием
Старый 22.03.2010, 19:17   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Есть кнопка "#" и тег "[ CODE ]"

Код:
struct AVTO // структура авто
{
int id;
char name[30];
AVTO *next;
}a;

struct USER // структура владельцев
{
char name[30];
USER *link;
AVTO mashina;
}u;

int _tmain(int argc, _TCHAR* argv[])
{
int sw1, sw2; // переменные для switch
USER *top_u, *k_u; // указатель на вершину стека и рабочий указатель
char n_u[30]; // буферные переменные
top_u=NULL; // стек пустой

while(1)
{  // метка главного меню
cout<<"Viberete deistvie: \n"<<endl;
cout<<"1. Dobavit vladelica: \n"<<endl;
cout<<"2. Posmotret spisok: \n"<<endl;
cin>>sw1;
switch(sw1)
{
case 1: // добавить владельца
{
/* Построение стека */
k_u=new USER; // Выделение динамической памяти

if(!top_u)
  top_u = k_u;

printf("vedite vladelica\n");
scanf("%s",k_u->name);
k_u=k_u->link;
}
break;

case 2:
{
/*_ Вывод построенного стека _*/
k_u = top_u; // Устанавливаем указатель на вершину стека
while (k_u != NULL) // Пока не достигли конца стека
{
printf("%s", k_u->name); // здесь ошибка!
k_u = k_u->link; // Перемещение к следующему узлу
}
}
break;
}
}

как-то так...
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А что не так??? frargus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 21.03.2010 08:05
Что не так? rododendron Общие вопросы C/C++ 5 05.05.2009 22:48
Что не так? Alexcomeback Общие вопросы C/C++ 9 07.04.2009 23:14
Что не так? Viento Microsoft Office Excel 3 30.01.2009 14:38