Вопросы по С++
начинающий  -    2999
Написал простейшую программу, но при нажатии CTRL+F5 выскакивает ошибка. Вроде бы все правильно написал. Помогите найти ошибку
Цитата:
#include <stdio.h>
#include <math.h>
void main ()
{
    int x,y;
    scanf("%i",x);
    y=x+1;
    printf("%i",x);
}
Ответов 77 Написать ответ
  • DiElGl
    17 сентября 2012  

    А ошибка?...

    0
  • начинающий
    18 сентября 2012  

    проект создан на win32

    а ошибка в том, что когда я запускаю программу нажав кнопки CTRL+F5, то выходит консоль, но она ничего не делает
    тупо говорит для продолжения нажмите любую кнопку
    нажимаешь
    а там консоль закрывается

    0
    • Green
      18 сентября 2012  

      Ты на Visual C++ программируешь?

      0
    • Green
      18 сентября 2012  

      Я кажется понял!

      У тебя окно консоли быстро закрывается.
      Тебе нужно запускать программу либо через cmd.exe, либо изменить на такой код:

      Цитата:

      using namespace std;
      #include <cstdlib>

      #include <stdio.h>
      #include <math.h>
      void main ()
      {
      int x,y;
      scanf("%i",x);
      y=x+1;
      printf("%i",x);
      system("pause");
      }

      0
  • bormaley
    18 сентября 2012  

    ...

    Функция scanf не принимает аргументы по значению, ты должен был передать адрес переменной. Следовательно, вызов станет таким:
    scanf("%i",&x);

    0
    • acorn
      acorn
      Вв Вв
      18 сентября 2012  

      ааа не получается=(((

      #include <stdio.h>
      #include <math.h>
      void main ()
      {
          int x,y;
          scanf("%i",&x);
          y=x+1;
          printf("%i",y);
      }
      image

      0
  • acorn
    acorn
    Вв Вв
    18 сентября 2012  

    если писать stdafx все равно не получается. геморрой уаще из-за этого

    image
    кстати про y
    меняю на у, но все равно не получается
    это я написал х случайно потому что сначала писал "y=x+1" как "x++;"

    0
    • evawi
      18 сентября 2012  

      y = y + 1 равносильно y++; а x = x + 1 x++;

      посмотри на ошибки которые пишет компилятор

      0
      • Welran
        5 ноября 2012  

        вообще то нет

        y=y+1 равносильно ++y

        если ты напишеш y=1; x=y=y+1; то x будет 2, а если напишеш y=1; x=y++; то х будет равен 1.

        0
  • Green
    19 сентября 2012  

    -

    Я вообще давно на С++ не программировал, но попробуй написать в конце функции main()

    Цитата:
    return 0;

    0
    • JSeven
      14 ноября 2012  

      Лучше и дальше не программируй :)

      А то возвращать значение в теле void функции - знаешь, както не соответствует правилам языка

      0
  • Green
    19 сентября 2012  

    -

    А ты вообще при создании проекта какой тип выбрал?
    Для консольных обычно бывает Win32 Console

    0
  • halyabalya
    19 сентября 2012  

    оооо задача века:)

    0
  • AC0RN
    19 сентября 2012  

    Win32 Console выбрал.

    вы тоже попробуйте порешать и залейте скрин, а то эта задача мя достала

    0
  • 300техник
    19 сентября 2012  

    Нашли из-за чего париться )))

    Сними процесс zaa...exe из памяти и попробуй заново, совет Бармалея верен.

    0
    • AC0RN
      19 сентября 2012  

      а как снять то??? блин я даже решал задачу заново перегрузив комп и создав новый проект

      0
  • 300техник
    19 сентября 2012  

    переустанови приложение нормально.

    Кажись скопировал да? Все стадо MS VS.net без ведома зоотехника то бишь setup.exe ))) А так, попробуй это - берем советы Бармалея и тов. Грина собери проект и запусти непосредственно из папки - т.е. мои документы/проект мс встудио/проект/debug/твоепростоеприложение.ехе

    0
  • Green
    20 сентября 2012  

    У меня Visual Studio 2005 Professional

    при создании консольного проекта создается файл CPP, с пустой функцией main и файл stdafx.h
    содержимое файла cpp

    Цитата:
    #include "stdafx.h"


    int _tmain(int argc, _TCHAR* argv[])
    {

    int x,y;
    scanf("%i",&x);
    y=x+1;
    printf("%i",y);
        return 0;
    }


    файла stdafx.h
    Цитата:
    #pragma once

    #ifndef _WIN32_WINNT        // Allow use of features specific to Windows XP or later.
    #define _WIN32_WINNT 0x0501    // Change this to the appropriate value to target other versions of Windows.
    #endif                        

    #include <stdio.h>
    #include <tchar.h>
    #include <stdio.h>
    #include <math.h>


    проект собирается нормально, программа работает!

    0
  • acorn
    acorn
    Вв Вв
    20 сентября 2012  

    Пацаны, проблема решена!

    image
    у меня была установлена Visual Studio 2010 Ultimate и .Net Framework 4.5 . Visual не видела фрэймворк 4.5 поэтому и не хотела решать задачу
    image
    как установил Visual Studio 2012 Ultimate .Net Framework 4.5 была уже видна и проблема решилась сразу.

    0
  • acorn
    acorn
    Вв Вв
    20 сентября 2012  

    почему константа "M_PI" не определен?

    image
    ведь константа "M_PI" вроде бы объявлена в файле "math.h"
    Условие задачи: Запишите в виде инструкции присвивания формулу вычисления площади круга: s=pi*r*r;
    pi примерно 3.14, я это конечно знаю, но М_PI не хочет работать, что делать?

    0
  • acorn
    20 сентября 2012  

    вопрос

    image
    почему при 3/4*M_PI*pow(r,3) V всегда = 0
    image
    и почему при (3*M_PI*pow(r,3))/4
    ответ нормально выводится?

    0
    • ac0rn
      20 сентября 2012  

      все парни проблема решена

      надо было писать не 3 и 4 а 3.0 и 4.0 соответственно

      0
  • ring0
    11 октября 2012  

    C++

    Хмм... ненавижу stdio

    0
  • acorn
    acorn
    Вв Вв
    24 октября 2012  

    Задача: вообщем вести и вывести массив

    image
    и когда я вывожу массив то выходит какая-то абракадабра
    пацаны хеелп!

    0
    • hezymal
      24 октября 2012  

      хехе, ты забыл, чтобы вывести массив нужно пройтись по ней

      вот здесь ошибка:
      printf("%i", array[i]);

      добавь впереди неё:
      for(i=0; i<5; i++)

      и здесь можно сразу в массив ввести без переменного 'z':
      for(i=0; i<5; i++)
      scanf("%i", &array[i]);

      0
      • ac0rn
        25 октября 2012  

        задача та же вести и вывести массив, но не получается ааа помогите

        вот код:

        Цитата:
        #include <stdio.h>
        #include <conio.h>
        void main ()
        {
            int a[i];
            int i;    
            for(i=0; i<5; i++)
                scanf("%i",&a[i]);
            for(i=0; i<5; i++)    
                printf("%i",a[i]);
            getch ();
        }

        0
  • ac0rn
    26 октября 2012  

    аа понятно надо было добавить это спс чувак! денег у мя нету. еды тоже

         for (i=0; i<4; i++)
         { if (a[i]<a[i+1])
        z=a[i];
         else
        z=a[i+1];
         }

    0
  • acorn
    acorn
    Вв Вв
    27 октября 2012  

    вести и вывести двумерный массив

    image
    Почему пишет:

    Цитата:
    Error: тип возвращаемого значения не соответствует типу функции

    0
  • апатаах
    3 ноября 2012  

    может так

    #include <stdio.h>
    #include <conio.h>
    void main ()
    {
    int x,y;
    scanf("%d",&x);
    y=x+1;
    printf("%d",y);
    getch();

    }

    0
  • acorn
    acorn
    Вв Вв
    9 ноября 2012  

    Решить задачу без массива, с помощью цикла for

    Задача
    image
    Подскажите где ошибка?
    image

    0
    • Ветер
      9 ноября 2012  

      Подсказываю...ошибка в коде

      0
    • Andre
      9 ноября 2012  

      Лови льва в пустыне.

      1. Сделай так, чтобы в сумме должно было получиться нецелое число (например, в качестве Х, возьми не 5,4 а 5,1)
      2. Посмотри что у тебя получилось в сумме (вместо z, выведи y).
      3. Если у = 25,5, тогда проблема в результатах деления.
      4. Попробуй разделить не на 5 , а на 5,00

      0
    • ANDOLINI
      9 ноября 2012  

      У меня все получилось

      Цитата:
      #include "StdAfx.h"
      #include <conio.h>
      #include <stdio.h>
      #include <iostream>
      void main()
      {
          float x,z,y=0;
          int i;
          for(i=1;i<=5;i++)
          {
          printf("->");
          scanf("%f",&x);
          y+=x;
          }
          z=y/5;
          printf("%.2f",z);
          getch();
      }


      Я как бы новичок в C++, вот у вас в начале using namespace std; идет, это для чего и как вы создаете проект? У меня начинает кричать. И вообще, что за софт юзаете?

      0
  • ac0rn
    9 ноября 2012  

    чем отличаются void main () int main () и %name% main () ?

    0
  • ac0rn
    11 декабря 2012  

    HELP! NEW PROBLEM!!!

    Цитата:
    #include <stdio.h>
    #include <conio.h>
    void main ()
    {
        char name[40];
        char ch;
        int i;
        printf("What your name?\n");
        printf("->");
        i=0;
        while((ch=getch()) !=13 && i<40)
        {putch(ch);
        name[i++]=ch;
        }
         name[i]='\0';
        printf("\nHello, %s",name);
        getch();
    }

    Объясните плиизз вот эту строку
    Цитата:
        i=0;
        while((ch=getch()) !=13 && i<40)
        {putch(ch);
        name[i++]=ch;
        }
         name[i]='\0';

    и почему надо писать именно 13 на while???

    0
    • ANDOLINI
      11 декабря 2012  

      А не буду я тебе помогать больше

      Ты неблагодарный :)

      0
    • el_balamut
      12 декабря 2012  

      +

      Мне кажется вам надо открыть мануал по С++ и вкуривать основы. Ни разу не писал на сиплюсах, но вопросы у вас детские.

      0
      • ac0rn
        12 декабря 2012  

        но я новичок в строках и символах

        а вопрос не из детских

        0
        • ANDOLINI
          12 декабря 2012  

          Потому-что ты читать ленишься

          Вопрос детский, притом что char(13) это Return (Enter)

          0
          • ac0rn
            12 декабря 2012  

            что за return?

            вроде бы я должен писать, без перевода на другую строку

            0
            • ANDOLINI
              12 декабря 2012  

              А я тебе не помогу

              Все равно ты неблагодарный :)

              0
              • ac0rn
                12 декабря 2012  

                plzz объясни

                0
                • ANDOLINI
                  12 декабря 2012  

                  Ну ладно

                  i=0;
                  while((ch=getch()) !=13 && i<40)
                  {putch(ch);
                  name[i++]=ch;
                  }
                  name[i]='\0';

                  переменная ch имеет тип символ
                  putch(ch) это нажатие клавиши, определяет переменную ch
                  name[i++]=ch это значит name=name+ch
                  пока не нажата кнопка Enter и длина символов меньше 40 можешь набирать текст, а если за 40 то Enter не принимается, а после нажатия Enter ты определяешь переменную name. Понял?
                  С тебя 100 руб. на сотовый.

                  0
  • ac0rn
    12 декабря 2012  

    а что это пока не равно 13? откуда взялась цифра 13?

    У меня 100 рублей нету, питаюсь бомжпакетами из местной забегаловки=(
    могу сказать только спасибо

    0
    • ac0rn
      13 декабря 2012  

      а все понял, оказывается

      13 - это номер в таблице ASCII, которая обозначает кнопку Return

      0
  • acorn
    acorn
    Вв Вв
    5 января 2013  

    Задача не решается

    Даны два неупорядоченных набора целых чисел (может быть, с повторениями). Выдать без повторений в порядке возрастания все те числа, которые встречаются в обоих наборах.
    image
    А где ошибка то?

    0
  • Людмила
    5 февраля  

    scanf("%i",&x);

    0
Ответ на тему: Вопросы по С++
Введите код с картинки*:  Кликните на картинку, чтобы обновить код
grinning face grinning face with smiling eyes face with tears of joy smiling face with open mouth smiling face with open mouth and smiling eyes smiling face with open mouth and cold sweat smiling face with open mouth and tightly-closed eyes smiling face with halo smiling face with horns winking face smiling face with smiling eyes face savouring delicious food relieved face smiling face with heart-shaped eyes smiling face with sunglasses smirking face neutral face expressionless face unamused face face with cold sweat pensive face confused face confounded face kissing face face throwing a kiss kissing face with smiling eyes kissing face with closed eyes face with stuck-out tongue face with stuck-out tongue and winking eye face with stuck-out tongue and tightly-closed eyes disappointed face angry face pouting face crying face persevering face face with look of triumph disappointed but relieved face frowning face with open mouth anguished face fearful face weary face sleepy face tired face grimacing face loudly crying face face with open mouth face with open mouth and cold sweat face screaming in fear astonished face flushed face sleeping face dizzy face face without mouth face with medical mask face with no good gesture face with ok gesture person bowing deeply person with folded hands raised fist raised hand victory hand white up pointing index fisted hand sign waving hand sign ok hand sign thumbs up sign thumbs down sign clapping hands sign open hands sign flexed biceps
  
Предложения и замечания