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

Почему данный код игнорирует 1-ый символ и приходится первую букву дублировать? - C++

Восстановить пароль Регистрация
Другие темы раздела
SFML Нужна ссылка на видеоуроки SFML http://www.cyberforum.ru/cpp-beginners/thread1102526.html
дайте ссылку на видео уроки по SFML только на русском или украинском языке
C++ Не возвращается вхождение символа в строку void Str :: Control(char* a, int b) { int i(0); char masHex = {'0','1', '2', '3' , '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', '\0'}; do { char* ptr = strstr(masHex, a); if (*ptr == NULL) {cout << "Error!" << endl; a++;} else a++; } while (i < b); } http://www.cyberforum.ru/cpp-beginners/thread1102464.html
Выводит на экран сразу два cout C++
На экран выводит сразу две строки. Как решить эту проблему? #include <iostream> #include <conio.h> #include <string.h> using namespace std; struct student { //char name;
C++ Регистрация глобальных горячих клавиш и их использование
Привет, пишу на Code::Blocks + wxWidgets 2.8.12 Нужно сделать регистрацию глобального хоте-кея и сделать его обработчик, нашел инструкцию здесь но не могу разобраться, если кто знает, помогите пожалуйста
C++ Позиционирование в консоле http://www.cyberforum.ru/cpp-beginners/thread1102409.html
Добрый вечер госопда, есть фрагмент кода: #include <iostream> #include <stdlib.h> #include <time.h> #include <windows.h> //Для функций консоли. using namespace std; ... void SetPos(int x, int y) {
C++ Удаления элемента Vector-а по имени У меня есть вот такая функция создания экземпляра класса в динамической памяти: dxDot* dxCreateDot(float x, float y, char symbol) { dxDot* Temp = new dxDot(x, y, symbol); DotsArray.push_back(*Temp); return Temp; delete Temp; Temp = 0; } подробнее

Показать сообщение отдельно
Sshh
1 / 1 / 0
Регистрация: 17.02.2014
Сообщений: 9
22.02.2014, 04:17     Почему данный код игнорирует 1-ый символ и приходится первую букву дублировать?
Здравствуйте, подскажите пожалуйста почему данный код игнорирует 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
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    string k;
    int s=0;
 
    while(k!="end"){
                            cout<<"Введите параметр:";
                            cin.ignore();
                            getline(cin,k);
                            if(k!="end"){
                                if(k=="char"){
                                    s=s+ sizeof(char);
                                }else{
                                    if(k=="short int"){
                                        s=s+sizeof(short int);
                                    }else{
                                        if(k=="int"){
                                            s=s+ sizeof(int);
                                        }else{
                                            if(k=="long int"){
                                                s=s+ sizeof(long int);
                                            }else{
                                                if(k=="float"){
                                                    s=s+ sizeof(float);
                                                }else{
                                                    if(k=="double"){
                                                        s=s+ sizeof(double);
                                                    }else{
                                                        cout<<"Ошибка!Такого параметра нет:"<<'\n';
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
    return 0;
}
Добавлено через 1 час 52 минуты
Вероятно, мне стоит уточнить, что я хочу:
Я использую cin.ignore() , чтобы у меня читались строки (long int ,short int ) , т.к без этого программа не читает строку с пробелом, но тут возникает проблема в том, что почему-то при вводе строки, строка теряет первую букву и если ты хочешь, чтобы программа работала, надо продублировать первую букву.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru