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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
#1

Вопрос по Char - C++

20.10.2010, 12:22. Просмотров 372. Ответов 5
Метки нет (Все метки)

Вот в чем суть я токо изучаю С++ токо неделю (самоучка по книге Шилдта) раньше програмировал на Паскале.
Как я понял переменная типа Char местит один символ, S заполняетса введенним с клавиатури символом если ввести строку и после cin прописать cout то на екран выведетса последний символ с строки, следовательно я понимаю что в S записиваетса 1 символ и S изаполняетса после нажатия ентер. Токо я немогу понять тогда каким макаром програма ниже работает и подсчитивает количество точек введенних с клавиатуры? помогите разобратса. И есть ли в С++ тип как у паскале String 225 строка символов ? Зарание благодарен.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
    char s;
    int suma = 0;
    cout << "Подсчет точек в наборе с клавиатури. Для завершення $" << endl;
    for(;;) {
        cin >> s ;
        if (s == '.') suma++ ;
        if (s == '$') break;
            }
        cout << endl << " KКоличество точек = " << suma;
        cin >> s;       
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 12:22     Вопрос по Char
Посмотрите здесь:

Вопрос про char - C++
Пожалуйста обьясните доступным языком в чем разница между объявлениями, и какие когда лучше использовать char a; char *c; char b=new...

_itoa,вопрос по char* - C++
В MSDN описана функция char *_itoa( int value, char *str, int radix ); В примере

Вопрос об особенности char и конструкторах - C++
1. Хочу вывести на экран таблицу символов ascii: #include &lt;iostream&gt; int main() { unsigned short T; for...

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& - C++
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, unsigned short); ...

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

array char* to char* (значения массива указателей в один указатель) - C++
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Knockkk
15 / 15 / 2
Регистрация: 10.10.2010
Сообщений: 42
20.10.2010, 12:32     Вопрос по Char #2
в с++ строка - это char[n] - массив символов.А по вопросу почему работает.А почему бы ей не работать?)
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
20.10.2010, 12:35     Вопрос по Char #3
есть такой класс, как std::string
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
int main()
{
    std::string word;
    
    std::cout << "input word: ";
    std::cin  >> word;
 
    std::cout << word << std::endl;
    return 0;
}
Цитата Сообщение от archideus Посмотреть сообщение
Токо я немогу понять тогда каким макаром програма ниже работает и подсчитивает количество точек введенних с клавиатуры? помогите разобратса.
На каждой итерации цикла запрашивается ввод символа и определяется какой символ был введен.
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,507
20.10.2010, 13:13     Вопрос по Char #4
Цитата Сообщение от archideus Посмотреть сообщение
Токо я немогу понять тогда каким макаром програма ниже работает и подсчитивает количество точек введенних с клавиатуры?
читает по одному символу из ввода, если символ - точка, увеличивает счётчик, если $ - прерывает цикл.
Вот так может нагляднее будет?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
int main(){
    int numPoints = 0;
    char c;
    cout << "String: ";
    while ( cin.get(c) && c != '\n' )
        if ( c == '.' )
            ++numPoints;
    cout << numPoints << " points" << endl;
    return 0;
}
archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
20.10.2010, 14:22  [ТС]     Вопрос по Char #5
Почему я задал вопрос как так она работает: именяю програму дописиваю в цикле вивод на екран

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
        char s;
        int suma = 0;
        cout << "Подсчет точек в наборе с клавиатури. Для завершення $" << endl;
        for(;;) {
                cin >> s ;
                cout << endl <<  "_" s "_";
                if (s == '.') suma++ ;
                if (s == '$') break;
                        }
                cout << endl << " KКоличество точек = " << suma;
                cin >> s;               
}
запускаем програму вводис клавиатуры: hello . word ... $
результат

$
KКоличество точек = 4

вопрос том что перед проверкой переменной я ее вивел на екран и ето бил $
следовательно if (s == '.') suma++ ; била би лож потому что s='$'

Добавлено через 3 минуты
Цитата Сообщение от easybudda Посмотреть сообщение
читает по одному символу из ввода]
Я когда писал код тоже думал что так и должно работать токо меня запутало то что если дописать в цикле вивод на екран то просле ввода каждого символа(без нажатия ентер) ничего невыводитса на екран, следовательно я подумал что и недолжна би работать проверка.
Извените за пою орфография я несилен в русском.

Добавлено через 5 минут
Спасибо а то я никак немог понять а где же в С++ строки. Например написать програму аналог Hello world!!! токо чтоб она спросила имя и посдоровалась не с миром а с пользователем .))
И есче такой вопросик а где можна найти информацию про функции которие содержат определенные библиотеки к прримеру <iostream>, <cmath> і т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 14:56     Вопрос по Char
Еще ссылки по теме:

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Передача в функцию char*([Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]) - C++
Почему компилятор на это матерится? ObjA.Show(&quot;A&quot;); deprecated conversion from string constant to 'char*' #include &lt;iostream&gt; ...

Строка: чем отличается строки string, char, char*? - C++
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

Работа со строками - Invalid conversion from 'char' to 'const char*' - C++
#include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; void poisk(int n, char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
20.10.2010, 14:56     Вопрос по Char #6
Цитата Сообщение от archideus Посмотреть сообщение
И есче такой вопросик а где можна найти информацию про функции которие содержат определенные библиотеки к прримеру <iostream>, <cmath> і т.д.
Книги.
Ну и http://cplusplus.com/ как справочник.
Yandex
Объявления
20.10.2010, 14:56     Вопрос по Char
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru