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

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

Войти
Регистрация
Восстановить пароль
 
nikolazzzed
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 32
#1

выбивает ошыбку - C++

13.10.2013, 21:09. Просмотров 282. Ответов 5
Метки нет (Все метки)

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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h> 
int func(char* str)
{
 
if (strlen(str) == 8 && str[0] >= '0' && str[0] <= '9' &&
str[1] >= '0' && str[1] <= '9')
{
int res = (str[0] - '0') * 10 + str[1] - '0';
return res;
} else
return -1;
}
 
int main()
{
system("cls");
 
char* str;
char ans;
int res;
 
do
{
printf("Vvedite stroku iz dvuh cifr\n");
gets(str);
 
res = func(str);
if (res != -1)
printf("Vvedonoe chislo ravno %d\n", res);
else
printf("Stroka vvedena nekorektno!\n");
 
printf("Esho raz?(Y/N)\n");
ans = getch();
printf("%c\n", ans);
}
while (ans == 'Y' || ans == 'y');
 
}




что изменить??

Добавлено через 33 минуты
аууууу
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос выбивает ошыбку (C++):

Помогыте исправыть ошыбку в програме - C++
А вот и сама програма::good:#include &lt;conio.h&gt; #include &lt;iostream.h&gt; FILE *fp; void ocenki(int a) { int two = 0; ...

Не знаю как исправить ошыбку в коде - C++
Ошыбка, наверное, в том что я в классе roslunu описываю ф-ию get_name, где пам'ять под name выделена динамически, а в следующих классах...

Не знаю как исправить ошыбку в коде - C++
Выбивает вот-это error C2679: бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;flower (__cdecl *)(void)&quot; (или приемлемое...

Выбивает 1.#IND - C++
Вот задача:протабулировать функцию от х до b вот мой код: // help.cpp: определяет точку входа для консольного приложения. // ...

Ошибку выбивает - C++
#include &lt;iostream.h&gt; int main(void) { int i; //счетчик в цикле int N; // размер массива int a; // объявление массива char...

Выбивает ошибку - C++
Мне нужно вывести на экран начало адреса! Почему, когда я пишу эту функцию с красным символом(тоесть то, что я выделила), то мне выбивает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
13.10.2013, 21:14 #2
C++
1
2
char str[80];
if (strlen(str) == 2...
0
nikolazzzed
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 32
13.10.2013, 21:48  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
1. if (strlen(str) == 2
2.char str[80];
маленькая просьба к вам, можете это в коде изменить?

Добавлено через 20 минут
zss,
сможете помочь мне?
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
13.10.2013, 22:54 #4
7-я строка Вашего текста, поменяйте 8 на 2
C++
1
if (strlen(str) == 2 && str[0] >= '0' && str[0] <= '9' &&
21 строка
вместо
C++
1
char* str;
надо
C++
1
char str[80];
остальное сойдет
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 23:48 #5
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h> 
 
int func(char* str)
{
 
    if (strlen(str) == 2 && str[0] >= '0' && str[0] <= '9' &&
        str[1] >= '0' && str[1] <= '9')
    {
        int res = (str[0] - '0') * 10 + str[1] - '0';
        return res;
    } else
        return -1;
}
 
int main()
{
    system("cls");
 
    char str[255];
    char ans;
    int res;
 
    do
    {
        printf("Vvedite stroku iz dvuh cifr\n");
        gets(str);
 
        res = func(str);
        if (res != -1)
            printf("Vvedonoe chislo ravno %d\n", res);
        else
            printf("Stroka vvedena nekorektno!\n");
 
        printf("Esho raz?(Y/N)\n");
        ans = getch();
        printf("%c\n", ans);
    }
    while (ans == 'Y' || ans == 'y');
 
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
14.10.2013, 01:19 #6
жи-ши

Цитата Сообщение от nikolazzzed Посмотреть сообщение
char* str;
сюда вы ничего более не запишите. Умные люди даже добавляют const char * = ...
Для ваших целей следует использовать массив char[]
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2013, 01:19
Привет! Вот еще темы с ответами:

Выбивает ошибку в коде - C++
Код выбивает ошибку MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup,...

Почему выбивает ошибку в if(.); {.} else {.} - C++
Помогите пожалуйста, не могу понять в чем проблема #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; //Условие задачи:...

В классах выбивает ошибку - C++
# include &quot;stdafx.h&quot; # include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;windows.h&gt; #include &lt;tchar.h&gt; using...

Выбивает при создании вектора - C++
Мне нужно считать сначала, цифру означающую количество строк, в каждой из которых есть по 3 цифры. Я создаю вектор размера a*3 - где а -...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.10.2013, 01:19
Ответ Создать тему
Опции темы

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