Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17

Тема: мелкая помощь начинающим програмерам

  1. #1 мелкая помощь начинающим програмерам 
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    простой пример
    # include <iostream>
    using namespace std;
    void main()
    {
    int x;
    int y;
    int result;
    cin >> x ;
    cin >> y ;
    result = y + x;
    cout << result;
    cin.get() ;
    }

    я нажал выполнить появилось окно чёрное я ввёл слогаемые нажал интер и всё,мои вычисления закончились,как изменить код чтоб не выходя из чёрного экрана можно было ввести новые слогаемые и сделать новое вычисление?

    C++ изучаю програмирование второй день,строго не судите за слабые вопросы
    Ответить с цитированием  
     

  2. #2  
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    как у дробного числа убрать дробную часть 2.4567 = 2 или незнаю что проще 2.4567 = 0.4567?
    Ответить с цитированием  
     

  3. #3  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    Прошу прощения за столь поздний ответ.
    Цитата Сообщение от ppisatel Посмотреть сообщение
    я нажал выполнить появилось окно чёрное я ввёл слогаемые нажал интер и всё,мои вычисления закончились,как изменить код чтоб не выходя из чёрного экрана можно было ввести новые слогаемые и сделать новое вычисление?
    В общем случае вы можете заставить программу постоянно решать введенные вами выражения, поместив все, что после int result; и до cin.get() в цикл, на подобие do while. Вот пример подобной программы, которая решает примеры сразу с 4-мя действиями, и при этом проверяет на деление на 0. Выйти из такой программы можно, поделив на 0, или введя неверный знак действия (например, какую нибудь букву):
    Код c:
    # include <iostream.h>
    # include <conio.h>
    void main()
    {
        int x;
        int y;
        int result;
        int err;
        unsigned char z;
        err = 0;
        clrscr();
        do
        {
    	cout << "Введите X: ";
    	cin >> x ;
    	cout << "Введите Y: ";
    	cin >> y ;
    	cout << "Введите символ действия: ";
    	cin >> z ;
    	switch (z)
    	{
    	    case '+':
    	      result = x + y;
    	      break;
    	    case '-':
    	      result = x - y;
    	      break;
    	    case '*':
    	      result = x * y;
    	      break;
    	    case '/':
    	      if (y == 0)
    		err = 2;
    	      else
    		result = x / y;
    	      break;
    	    default:
    	      result = 0;
    	      err = 1;
    	      break;
    	}
    	if (err == 0)
    	{
    	    cout << result;
    	    cout << char(10) << char(13);
    	}
        } while (err == 0);
        cout << "Ошибка или выполнение программы прервано";
    }

    Библиотека conio.h подключается лишь для подпрограммы clrscr(), которая очищает экран. А так как я компилировал программу на borland c++ 3.1, то мне пришлось подправить директиву #include <iostream.h>.
    Общий принцип работы таков: сначала объявляются переменные, затем программа входит в цикл do, в котором изначально проиходит ввод значений переменных x и y, а также символ действия z. Далее бросается конструкция switch, которая в зависимости от того, что мы вводим в z заставляет выполняться разные блоки. Затем, после выполнения блока switch, мы проверяем переменную err на ошибку (она будет не ноль, если произошла какая либо ошибка) и выводим ответ. Оператор while (err == 0); проверяет переменную err, и если ошибки не было, то гонит цикл выполняться заново.
    Дружба-магия-радость!
    Ответить с цитированием  
     

  4. #4  
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    спасибо за ответ
    Ответить с цитированием  
     

  5. #5  
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    помогите плиз как можно
    разбить число на отдельные числа пример 230567 a = 2 b = 3 c = 0 d = 5 e = 6 f = 7 очень нуна

    число может быть и 13 значным
    Ответить с цитированием  
     

  6. #6  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    В общем виде можно решить подобную задачу с помощью символьного массива. Ибо использование множества переменных очень неудобно.

    В данной программе сначала объявляется символьный массив num, в котором после ввода, начиная с num[2] оказываются отдельно все введенные символы, в нашем случае это должны быть числа.
    Если вам необходимо все же занести эти значения в переменные, то потом это решается просто присваиванием: a=num[2] (первое число) b=num[3] (второе) и.т.п.
    Код c:
    # include <iostream.h>
    # include <conio.h>
    void main()
    {
        const maxlen=20;
        char num[maxlen+2];     //макс длина буфера для вводимого числа - 20 (+2 для cgets)
        int i;
        clrscr();
        cputs("Введите число: ");
        i=0;
        num[i]=maxlen;     //Задаем ограничение на маскимальную длину ввода
        cgets(num);
     
        cputs("Введенное число состоит из таких чисел: ");
        for(i=2; i<num[1]+2; i++) {   //цикл по каждому из введенных символов
    	if (num[i] < '0' != num[i] > '9') {    //Если ввели не число а символ
    	    cputs("Число введено с ошибкой");
    	    break;
    	}
    	putch(num[i]);        //Выводим на экран
    	putch(' ');
        }
        num[1]=getche();      //организовываем простейшую паузу до нажатия любой клавиши
    }
    Дружба-магия-радость!
    Ответить с цитированием  
     

  7. #7  
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    В Visual C++ 2005 чото компилируется с ошибкой и пост N3 такайж проблема
    Ответить с цитированием  
     

  8. #8  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    Было бы хорошо, если бы вы написали еще и какой именно текст ошибки, а не просто констатировали факт.
    Я указал в сообщении №3: "А так как я компилировал программу на borland c++ 3.1, то мне пришлось подправить директиву #include <iostream.h>"

    Попробуйте заменить строку # include <iostream.h> на # include <iostream> в обоих примерах. Это как минимум дает ошибку. Вопрос в том, есть ли где еще различия, т.к у меня VC++ 2005 нету
    А вообще, я стараюсь лишь показать вам суть (я и сам C++ знаю лишь на уровне первого курса универа), и надеюсь, что вы не просто будете вбивать полученные примеры целиком, и пытаться компилировать, а попробуете разобраться в том, как этим программы работают.
    Дружба-магия-радость!
    Ответить с цитированием  
     

  9. #9  
    Новичок
    Регистрация
    22.08.2011
    Сообщений
    6
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    скопировал текст ошибки

    1>------ Построение начато: Проект: bbb, Конфигурация: Debug Win32 ------
    1>Compiling...
    1>bbbb.cpp
    1>.\bbbb.cpp(1) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
    1>Build log was saved at "file://c:\Documents and Settings\Loner\Мои документы\Visual Studio 2005\Projects\bbb\bbb\Debug\BuildLog.htm"
    1>bbb - 1 error(s), 0 warning(s)
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
    Ответить с цитированием  
     

  10. #10  
    Гуру Аватар для Абадябер
    Регистрация
    09.12.2010
    Адрес
    Беларусь, Минск
    Сообщений
    1,219
    Сказал(а) спасибо
    302
    Поблагодарили 176 раз(а) в 144 сообщениях
    Записей в блоге
    5
    Цитата Сообщение от Абадябер Посмотреть сообщение
    Попробуйте заменить строку # include <iostream.h> на # include <iostream> в обоих примерах.
    Об этом я написал сразу-же в предыдущем сообщении.
    Дружба-магия-радость!
    Ответить с цитированием  
     

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 14
    Последнее сообщение: 21.02.2012, 09:25
  2. Ответов: 2
    Последнее сообщение: 21.12.2011, 11:34
  3. Срочно!!! Помощь по Ассемблеру
    от Doomer_ в разделе Assembler
    Ответов: 5
    Последнее сообщение: 21.12.2011, 04:26
  4. Помощь в разработке сайта.
    от Абадябер в разделе HTML, CSS
    Ответов: 19
    Последнее сообщение: 01.11.2011, 02:01
  5. Нужна помощь с функцией.
    от Абадябер в разделе C/C++
    Ответов: 23
    Последнее сообщение: 22.01.2011, 13:22
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •