Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Списки нa C, Не добавляет елемент 
V
    Опции темы
Neox_GeForce
Дата 24.5.2010, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Нужно реализовать однонаправленый связной список.
Я сделал функцию которая проверят не пуст ли список(100) и функцию добавления нового елемента(106). Но почему то всё равно список пустой(90).
Вот код
Код


#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <malloc.h>
#include <stdio.h>

struct region{
            unsigned int coder;
            char title[30];
            struct region* next;
};
struct oblast{
            unsigned int codeo;
            unsigned int coder;
            char title[30];
            struct oblast* next;
};
struct naftobaza{
            unsigned int coden;
            unsigned int codeo;
            char title[30];
            unsigned int count_rezer;
            double capacity;
            struct naftobaza* next;
};
struct oblik {
            unsigned int coden;
            unsigned int count_zavezenux;
            int date;
            int month;
            int year;
            struct oblik* next;
};
struct dyn_region
{
    struct region* head;
    struct region* tail;

} Regions;



int    q;

//проверка на пустоту
int chk_empty(dyn_region &l);
//Добавления нового елемента
void addRegion(struct dyn_region &l,struct region* reg);
int main(void)
{
//Main
clrscr();
    //Main identificators
    int stop=0,i=1;




    /*struct region* next_region=NULL;

    struct oblast* head_oblast=NULL;
    struct naftobaza* head_naftobaza=NULL;
    struct oblik* head_oblik=NULL;
*/    //  struct region curreg;
    Regions.head=NULL;
    Regions.tail=NULL;

    printf("========================\n\n");


    printf("Vedit spusok regioniv \n");
    printf("vvedit \"-1\" v cod dla 3averwenna vvody \n");
    while(!stop){
    region* current=(region*)calloc(1,sizeof(struct region));
    current->coder=i;
    printf("Vvedit nazvy\n");
    scanf("%30s",current->title);
      addRegion(Regions,current);
      i++;
      printf("continue input [y\\n] ?\n");
      char c=getch();
      if(c=='y') stop=0;else
      if(c=='n')stop=1; else stop=0;
    }


//exit

printf("\n spisok - %d ",chk_empty(Regions)); //Всегда 0
printf("Press any key to exit...\n");

q=getch();
//////
return 0;
}


//functin
int chk_empty(dyn_region &l){
    if(l.head==NULL)
    return 1; else
    return 0;

}
void addRegion(struct dyn_region &l,struct region* reg){

 reg->next=NULL;
 if(chk_empty(l))
 l.head=reg;
 else
 l.tail->next=reg;
 l.tail=reg;

// free(reg);

}
 


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Neox_GeForce
Дата 24.5.2010, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Вообщем я удалил тот метод. Тема закрыта


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.