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

Управление строками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс "Окружность" с данными центр и радиус окружности. http://www.cyberforum.ru/cpp-beginners/thread1096653.html
Помогите, пожалуйста, решить задачу: Класс "Окружность" с данными центр и радиус окружности. Задание. 1. Объявить класс в соответствии с вариантом и определить для него 2-3 конструктора. 2. Определить функции-методы класса для ввода и вывода свойств внутри объявления класса. 3. Составить программу, которая определяет три объекта класса и выводит их на экран. Первый объект должен...
C++ Создать структуру "игрушки" Создать структуру "игрушки", которая содержит следующую информацию: Название игрушки, Разрешенный возраст для использования, Цена. Заполнить поля структуры, создав в ней 10 записей. Вывести записи на экран. http://www.cyberforum.ru/cpp-beginners/thread1096602.html
C++ Почему ругается компилятор
#include <iostream> using namespace std; int main() { int a; cin.get(a); system("pause"); }
C++ Осуществить поиск индекса максимального элемента
Нужно найти индекс макс. эл-та. Ошибку я нашел, а вот как ее исправить - не знаю. #include <iostream> #include <string> using std::cout; using std::cin; using std::endl; int main () {
C++ Удаление с перемещением элементов массива http://www.cyberforum.ru/cpp-beginners/thread1096557.html
Помогите, пожалуиста, никак не могу разобраться сама. =( for(int i=1; i<=n; i++) { if(i==p) { for(int j=p; j<n; j++) { stud.fname=stud.fname; stud.sname=stud.sname;
C++ Удаление элемента структуры void list_del(list_head *list, int i){ if(list->head==NULL){printf("Заданного элемента не существует."); return;} list_node *current = list->head; for (int j=0; j<i;j++){ current = current->next;} list_node *temp = current->next; current->next=temp->next; free(temp->data); free(temp);} если в структуре 1 элемент функция закрывается, если 2 и более... подробнее

Показать сообщение отдельно
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
14.02.2014, 20:02     Управление строками
Цитата Сообщение от MultyStepan Посмотреть сообщение
Всем привет!
Я изучаю с++ недавно, в как учебное пособие использую "С++ для чайников".
Книжка, мягко скажем, не очень. Я не говорю, что нужно кидаться сразу на серьезную литературу, но если действительно хочется изучить язык, лучше взять что-нибудь получше. Например вот.

Цитата Сообщение от MultyStepan Посмотреть сообщение
Пример перепечатал с книги, а он не работает!
По возможности укажите не только ошибку ну и почему нужно было сделать так, а не иначе!
Все части стандартной библиотеки С++ содержатся в пространстве имен std. В твоем примере к стандартной библиотеке С++ относятся cout и cin, которые определены в заголовочном файле <iostream>.
Ошибка из-за которой не компилируется - отсутствие указания пространства имен. Решить можно тремя сопособами:
1) как посоветовали выше, - using namespace std ("импортирует" все имена из std в текущую область видимости, в данном случае в глобальное пространство имен);
2) явным указанием принадлежности идентификатора пространству имен - std::cin, std::cout;
3) третий способ - явное указание (опять же для текущей области видимости) для конкретного имени - using std::cin, using std::cout.

Я бы посоветовал делать так:
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
//.....
    std::cout<<"Vedite stroky #1: ";
    std::cin.getline(szString1, 128);
    
//.....
 
    std::cout<<"Vedite stroky #2: ";
    std::cin.getline(szString2, 128);
//.....
Импортирование всех имен из std может иногда приводить к не очень приятным и неочевидным ошибкам. Особенно, если такое сделано в заголовочном файле. Говорю по собственному опыту.

Что еще следует помнить:
1) Полное имя идентификатора помещенного в namespace включает в себя имя этого пространства имен.
2) Заголовочные файлы <stdio.h>, <string.h> относятся к стандартной библиотеке Си, в С++ аналоги подключаются как <cstdio> и <cstring> (не путать с <string>) соответственно. Подключив их в С++ мы в праве ожидать, что идентификаторы из них будут доступны через пространство имен std:: (например std :: pow из <cmath>, вместо pow из <math.h>).

Добавлено через 6 минут
Добавлено:
Чтобы не тратить силы на специальное зазубривание (оно само потом запомнится) что где находится, можно пользоваться одним из онлайн справочников.
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru