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

Массив символьных указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объектно-ориентированный C++ и другие языки http://www.cyberforum.ru/cpp-beginners/thread428993.html
Один мой знакомый посоветовал мне, для того чтобы лучше разобраться с объектно-ориентированной и библиотечно-шаблонной кухней C++ сперва предварительно лучше изучить такой язык как Visual Basic или C#. Верно ли это? То есть как лучше изучать C++ на голяк или лучше предварительно изучить чего-нибудь попроще?
C++ Для чего именно и как исползуется dynamic_cast(обясните "ЯЗИКОМ ЧЕЛОВЕКА") привет ребята ктото может привести хороший пример о dynamic_cast ?(об осталних я выучил).. Именно для чего он исползуется?(пожолуйсто обясните "ЯЗИКОМ ЧЕЛОВЕКА") Спасибо заранее.. http://www.cyberforum.ru/cpp-beginners/thread428980.html
C++ Метод секущих (блок-схема)
подскажите пожалуйста, правильно ли я составил блок-схему по методу секущих Скрин во вложении.. Вот листинг: #include <conio.h> #include <iostream> using namespace std; #include <math.h> const double E=2.718281828459; //функция double func(double x)
C++ Ошибка при компиляции
template <class Data> List <Data>::~List() { if (pbeg !=0) { Node *pv = pbeg; while (pv) { pv=pv->next; delete pbeg; pbeg=pv;
C++ Смена иконки *.ехе при компиляции http://www.cyberforum.ru/cpp-beginners/thread428955.html
Как можно в visual studio сменить иконку *.ехе при компиляции программы?
C++ Использование собственного класса строк Здравствуйте, уважаемые господа. Есть реализация собственного класса строк: class MyString { private: size_t length; char *str; подробнее

Показать сообщение отдельно
HungryInsect
2 / 2 / 1
Регистрация: 16.01.2012
Сообщений: 6
16.01.2012, 01:57     Массив символьных указателей
Эксперементирую с функциями в stdlib. В данной программе конкретно atoi();
Но не в этом суть.
Проблема вот в чем. Я использую в этой программе массив строчных указателей. И я хочу его инициализировать вводя значения с клавиатуры. Я пробывал сначала вот так вот

C++
1
2
3
4
5
6
char str[10];
char *s[4];
 
for(int i = 0; i <= 3; i++){
    cin >> str;
    s[i] = str;
В итоге все укзатели в массиве равнялись последнему вводимому значению. А первый указатель вообще никак значение не отображал (Тоже вопрос). И до меня дошло, что указателям присваивается адресс массива str. А после собственно по адрессу передают одинаковое значение.

А вообще с самого начала, у меня была идея считывать сразу в указатели.
C++
1
2
3
4
char *s[4];
 
for(int i = 0; i <= 3; i++){
    cin >> s[i];
Ведь вот так можно:

C++
1
char *s[4]={"Green","Blue","Black","Yellow"};
Вот собственно код рабочий. Но я хочу разобраться в этой теме, и сделать покороче, чтоли поизящнее, покрасивее.
Хэлп?

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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
main()
{
      cout << "Enter 4 strings which contain integer digits \n";
      char *s[4];
      char str1[10], str2[10], str3[10], str4[10];
      
      cin >> str1 >> str2 >> str3 >> str4;
      s[0] = str1;
      s[1] = str2;
      s[2] = str3;
      s[3] = str4;
      
      cout << "The summ of the ";
      int sum = 0;
      
      
      for (int i = 0; i <= 3; i++){
          cout << s[i] << (i==3 ? " = " : " + ");
          sum += atoi(s[i]);
          }
          
          
      cout << sum;
      cout << "\nThe strings are: \n";
      
      
      for (int i = 0; i <= 3; i++)
          cout << (i+1) << ". " << s[i] << '\n';
          
      
      system("PAUSE");
      
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru