Форум программистов, компьютерный форум CyberForum.ru

Работа с символьным типом - C++

Восстановить пароль Регистрация
 
SkyFlyStaR
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 69
16.10.2011, 19:22     Работа с символьным типом #1
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// ex10_4.cpp
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////
struct link                           
   {
   int data;                         
   link* next;                        
   };
////////////////////////////////////////////////////////////////
class linklist                        //a list of links
   {
   private:
      link* first;                    //pointer to first link
   public:
      linklist()                      //no-argument constructor
         { first = NULL; }            //no first link
      ~linklist();                    //destructor
      void additem(int d);            //add data item (one link)
      void display();                 //display all links
   };
//--------------------------------------------------------------
void linklist::additem(int d)         //add data item
   {
   link* newlink = new link;          //make a new link
   newlink->data = d;                 //give it data
   newlink->next = first;             //it points to next link
   first = newlink;                   //now first points to this
   }
//--------------------------------------------------------------
void linklist::display()              //display all links
   {
   link* current = first;             //set ptr to first link
   while( current != NULL )           //quit on last link
      {
      cout << endl << current->data;  //print data
      current = current->next;        //move to next link
      }
   }
//--------------------------------------------------------------
linklist::~linklist()                 //destructor
   {
   link* current = first;             //set ptr to first link
   while( current != NULL )           //quit on last link
      {
      link* temp = current;           //save ptr to this link
      current = current->next;        //get ptr to next link
      delete temp;                    //delete this link
      }
   }
////////////////////////////////////////////////////////////////
int main()
   {
   linklist li;       //make linked list
 
   li.additem(49);    //add four items to list
   li.additem(50);
   li.additem(51);
   li.additem(52);
 
   li.display();      //display entire list
   cout << endl;
   return 0;
   }
Здесь работа (в том числе вывод) с целочисленным типом int, как сделать так, чтобы значениями списка были символы (буквы, например)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
16.10.2011, 19:24     Работа с символьным типом #2
Цитата Сообщение от SkyFlyStaR Посмотреть сообщение
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// ex10_4.cpp
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////
struct link                           
   {
   int data;                         
   link* next;                        
   };
////////////////////////////////////////////////////////////////
class linklist                        //a list of links
   {
   private:
      link* first;                    //pointer to first link
   public:
      linklist()                      //no-argument constructor
         { first = NULL; }            //no first link
      ~linklist();                    //destructor
      void additem(int d);            //add data item (one link)
      void display();                 //display all links
   };
//--------------------------------------------------------------
void linklist::additem(int d)         //add data item
   {
   link* newlink = new link;          //make a new link
   newlink->data = d;                 //give it data
   newlink->next = first;             //it points to next link
   first = newlink;                   //now first points to this
   }
//--------------------------------------------------------------
void linklist::display()              //display all links
   {
   link* current = first;             //set ptr to first link
   while( current != NULL )           //quit on last link
      {
      cout << endl << current->data;  //print data
      current = current->next;        //move to next link
      }
   }
//--------------------------------------------------------------
linklist::~linklist()                 //destructor
   {
   link* current = first;             //set ptr to first link
   while( current != NULL )           //quit on last link
      {
      link* temp = current;           //save ptr to this link
      current = current->next;        //get ptr to next link
      delete temp;                    //delete this link
      }
   }
////////////////////////////////////////////////////////////////
int main()
   {
   linklist li;       //make linked list
 
   li.additem(49);    //add four items to list
   li.additem(50);
   li.additem(51);
   li.additem(52);
 
   li.display();      //display entire list
   cout << endl;
   return 0;
   }
Здесь работа (в том числе вывод) с целочисленным типом int, как сделать так, чтобы значениями списка были символы (буквы, например)
Замените в своих объявлениях тип int на тип char.
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
16.10.2011, 19:24     Работа с символьным типом #3
Заменить int на char / std::string во всем коде
С ув. Ваш КО.
SkyFlyStaR
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 69
16.10.2011, 19:43  [ТС]     Работа с символьным типом #4
Цитата Сообщение от Сыроежка Посмотреть сообщение
Замените в своих объявлениях тип int на тип char.
Заменить можно, но к примеру тут
C++
1
2
3
4
   li.additem(49);    //add four items to list
   li.additem(50);
   li.additem(51);
   li.additem(52);
вместо 52..49 выведутся 4,3,2,1, а необходимо, чтобы те же 52, 51, 50, 49

Добавлено через 16 минут
Тема/проблема/задача актуальна
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
16.10.2011, 19:48     Работа с символьным типом #5
Цитата Сообщение от SkyFlyStaR Посмотреть сообщение
вместо 52..49 выведутся 4,3,2,1, а необходимо, чтобы те же 52, 51, 50, 49
Если вы делаете список char'ов, то не получиться, потому как 52 - это два символа, придется делать так:
C++
1
2
li.additem('5');
li.additem('2');
Сыроежка
Заблокирован
16.10.2011, 19:49     Работа с символьным типом #6
Цитата Сообщение от SkyFlyStaR Посмотреть сообщение
Заменить можно, но к примеру тут
C++
1
2
3
4
   li.additem(49);    //add four items to list
   li.additem(50);
   li.additem(51);
   li.additem(52);
вместо 52..49 выведутся 4,3,2,1, а необходимо, чтобы те же 52, 51, 50, 49

Добавлено через 16 минут
Тема/проблема/задача актуальна
Если вы хотите, чтобы вывелись теже 52 и т.д., то и оставьте свой тип int. Какие проблемы?! На мой взгляд вам следует сначала грамотно сформулировать, что вы именно хотите.
Yandex
Объявления
16.10.2011, 19:49     Работа с символьным типом
Ответ Создать тему
Опции темы

Текущее время: 10:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru