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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2015, 22:11   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, есть некая программа, добавляет первый символ из введенной строки в список.

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

В чем может быть причина? Извиняюсь за глупый вопрос, после 5-ой программы голова не работает

Код:
using namespace std;

struct SYMBOL
{
    string sumbol_one; 
    SYMBOL *next;
};

SYMBOL *head=NULL,*curritems;


void MainWindow::on_pushButton_clicked()
{
    curritems=new SYMBOL;


    curritems->sumbol_one=ui->lineEdit->text().toStdString()[0];

    ui->textEdit->clear();
    ui->textEdit->append(QString("%1").arg(curritems->sumbol_one.c_str()));
    ui->lineEdit->clear();
    ui->lineEdit->setFocus();

    if(!(head))
        curritems->next=NULL;
    else
        curritems->next=head;
    head=curritems;


}

void MainWindow::on_pushButton_4_clicked()
{

    head=curritems;
    ui->textEdit->clear();
    while(curritems)
    {    ui->textEdit->append(QString(curritems->sumbol_one.c_str()));
        curritems=curritems->next;

    }
}
Есть какие-нибудь идеи?
from dark to light)

Последний раз редактировалось Аватар; 10.06.2015 в 23:17.
Алексей_2012 вне форума Ответить с цитированием
Старый 11.06.2015, 04:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

А где кнопка показать то?

Код:
head=curritems;
Обычно голову не трогают и делают наоборот...
p51x вне форума Ответить с цитированием
Старый 11.06.2015, 10:48   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Обычно голову не трогают и делают наоборот...
Согласен. В результате голова указывает на хвост. Котопес получается )
Эту строку нужно убирать.
Или точнее:
Код:
    curritems->next=NULL;
    last=curritems;
    if(!(head))
        head=curritems;
Где last - Спецпеременка для указания на хвост.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не читает после пробела ubun PHP 1 15.01.2012 21:39
Не читает ячейку valerij Microsoft Office Excel 11 10.08.2011 01:22
читает с COM но ошибка yuta_86 Общие вопросы Delphi 5 17.01.2011 12:35
скачивание файла после просмотра рекламы westakof JavaScript, Ajax 3 02.07.2008 15:48
DVD после записи не читает собственные диски photozaz Свободное общение 14 10.04.2008 12:17