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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2009, 23:14   #1
vo_sa
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 15
По умолчанию надо только вывести структуру

Код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>  
#include "locale.h"
#define QUEUE struct queue
QUEUE
{

  char name[100];
  int plsh;
  int etzh;
  float gdsr;
  int stm;
  QUEUE *next;
};

extern void insert(QUEUE **q, QUEUE **new_node);
extern char* take_out(QUEUE **q, int *error);

void insert(QUEUE **q, QUEUE **new_node)
{
  QUEUE *current = *q;
  QUEUE *previous = 0;
  while ( current)
  {
    previous = current;
    current = current -> next;
  }
  (*new_node) = ( QUEUE * ) malloc( sizeof( QUEUE) );
  if (previous )
  {
    (*new_node) -> next = previous -> next;
    previous -> next = (*new_node);
  }
  else
  {
    *q = *new_node;
    (*q) -> next = 0;
  }
}
char* take_out(QUEUE**q, int *error )
{
  char text[100];
  memchr(text,0,100);
  QUEUE *old_header = *q;
  if (*q)
  {
    if((*q)->next)
    {
      while(old_header->next->next)
        old_header=old_header->next;
//      value = old_header->next->;
      memcpy(text,old_header->next->name,100);
      free( old_header->next );
      old_header->next=0;
    }
    else
    {
//      value = old_header -> info;
      memcpy(text,old_header->name,100);
      *q = (*q) -> next;
      free( old_header );
    }
    *error = 0;
  }
  else
    *error = 1;
  return text;
}
void main()
{
  int error;
  QUEUE *q1, *q2=0;
  float temp;

  insert(&q1, &q2);
  printf("Naimenovanie: ");
  scanf("%s",q2->name);
  printf("Ploshad': ");
  scanf("%d",&q2->plsh);
  printf("Etazhnost': ");
  scanf("%d",&q2->etzh);
  printf("God sooruzhenia: ");
  scanf("%f",&temp);
  q2->gdsr=temp;
  printf("Stoimost' mln.rub.: ");
  scanf("%d",&q2->stm);

  insert(&q1, &q2);
  printf("\nNaimenovanie: ");
  scanf("%s",q2->name);
  printf("Ploshad': ");
  scanf("%d",&q2->plsh);
  printf("Etazhnost': ");
  scanf("%d",&q2->etzh);
  printf("God sooruzhenia: ");
  scanf("%f",&temp);
  q2->gdsr=temp;
  printf("Stoimost' mln.rub.: ");
  scanf("%d",&q2->stm);

  insert(&q1, &q2);
  printf("\nNaimenovanie: ");
  scanf("%s",q2->name);
  printf("Ploshad': ");
  scanf("%d",&q2->plsh);
  printf("Etazhnost': ");
  scanf("%d",&q2->etzh);
  printf("God sooruzhenia: ");
  scanf("%f",&temp);
  q2->gdsr=temp;
  printf("Stoimost' mln.rub.: ");
  scanf("%d",&q2->stm);


  printf("\nremove( &q2 ) = %s", take_out(&q1, &error));
 //printf("\nremove( &q2 ) = %s", take_out(&q1, &error));
 // printf("\nremove( &q2 ) = %s", take_out(&q1, &error));
  getch();

}
нада вывести на экран то что заполнено в структуре.
в инете нашёл пример, но не знаю как это реализовать

Код:
для просмотра содержимого очереди: 
void VYVOD (node **no, node **ko)
// Вывод содержимого очереди. 
// *no - указатель на начало очереди, 
// *ko - указатель на конец очереди.
{
  node *r;
  cout<< "Очередь: "; r = *no;
  while (r!=NULL)
    { cout<<(*r).elem<<" "; r = (*r).sled; }
  cout<<endl;
}
vo_sa вне форума Ответить с цитированием
Старый 31.03.2009, 14:56   #2
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Предполагаю, что так
Код:
#include <iostream>  
using namespace std;

void VYVOD (QUEUE **no, QUEUE **ko)
// Вывод содержимого очереди. 
// *no - указатель на начало очереди, 
// *ko - указатель на конец очереди.
{
  QUEUE *r;
  cout<< "Очередь: "; r = *no;
  while (r!=NULL)
  {
	  cout<<(*r).name<<" ";
	  cout<<(*r).plsh<<" ";
	  // и т.д.
	  cout<<endl;	  
               r = (*r).next; 
  }
  cout<<endl;
}
Svetlag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять как надо ч/з форму вывести результат на лист и еще связать с другим листом данных Aliyushka Microsoft Office Excel 28 16.01.2009 19:44
TCategoryButtons создать структуру ? Родион Компоненты Delphi 2 07.05.2008 16:41
начал учить только-только - нужна ваша помошь vanDJ Помощь студентам 20 18.12.2007 21:53
Как вывести текст в окно без компонентов делфи. Только на win api deadh5n1 Помощь студентам 1 08.12.2007 01:41