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

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

Войти
Регистрация
Восстановить пароль
 
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
#1

Есть ли ошибка в коде. Не могу найти. - C++

10.04.2012, 11:38. Просмотров 314. Ответов 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
#include<stdio.h>
#include<string.h>
#include<conio.h>
int summa(char *st)
{
    int i;
    i=0;
    while ( st[i] ) 
{ 
if ((st[i] >= 'a' && st[i] <= 'z' )) 
st[i] -= 32; 
else 
i++; 
} 
printf("\n%s\n", st);
return 0;
}
int main()
{
char *st[80]; 
printf("\nEnter the string\n"); 
scanf("%s",&st);
summa(*st);
return 0;}
Где здесь ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2012, 11:38     Есть ли ошибка в коде. Не могу найти.
Посмотрите здесь:

Необходимо найти квадрат числа в данном числе - Есть ошибка, но не могу ее найти... C++
Не могу найти ошибку в коде C++
C++ Не могу найти ошибку в коде :(
C++ ошибка в коде,не могу разобраться
C++ Не могу найти ошибку в коде
Где ошибка в коде?Не могу понять C++
Где в этом коде ошибка.голову ламаю, не могу найти? C++
Ошибка в коде. Не могу ввести вещественное число C++
C++ Ошибка в коде - не могу найти
C++ События и семафоры. Не могу понять где ошибка в коде
C++ Не могу найти ошибку в коде
C++ Не могу понять что за ошибка в коде

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21782 / 10506 / 1705
Регистрация: 12.02.2012
Сообщений: 17,509
10.04.2012, 11:48     Есть ли ошибка в коде. Не могу найти. #2
1) Этот оператор if ((st[i] >= 'a' && st[i] <= 'z' )) лучше бы записать так:
if ((st[i] >= 'a') && (st[i] <= 'z' )) Но это не ошибка...
2) на мой взгляд неверно реализован ввод строки scanf("%s",&st);
Амперсанд перед st - лишний, т.к. st - это уже АДРЕС
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
10.04.2012, 11:57  [ТС]     Есть ли ошибка в коде. Не могу найти. #3
как тогда исправить реализацию scanf
Catstail
Модератор
 Аватар для Catstail
21782 / 10506 / 1705
Регистрация: 12.02.2012
Сообщений: 17,509
10.04.2012, 12:19     Есть ли ошибка в коде. Не могу найти. #4
scanf("%s",st);

Добавлено через 18 минут
Нет! Я был не прав!!! Главная ошибка - в описании строки - char *st[80];
Надо char st[80]. Ты ведь описываешь не массив указателей на строку, а просто строку из 80 символов.
Ну, и обращаться к ф-ции summ надо так: summ(st) (без звезды). Все заработает.
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
10.04.2012, 13:43  [ТС]     Есть ли ошибка в коде. Не могу найти. #5
а если мне задачу решить надо через указатели?
Catstail
Модератор
 Аватар для Catstail
21782 / 10506 / 1705
Регистрация: 12.02.2012
Сообщений: 17,509
10.04.2012, 16:46     Есть ли ошибка в коде. Не могу найти. #6
А Бога ради! Просто звезда там НЕ НУЖНА. И в функции summa указатель используется...
Yandex
Объявления
10.04.2012, 16:46     Есть ли ошибка в коде. Не могу найти.
Ответ Создать тему
Опции темы

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