Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2009, 14:23   #1
Crasty
Пользователь
 
Регистрация: 01.11.2008
Сообщений: 35
По умолчанию программа считывает символы не полностью, причём произвольное количество. Написано на Си

У меня есть программа, которая должна считывать строку которую я ввиду,
и преобразовывать все буквы в ней в прописные.
Проблема в том, что программа считывает символы не полностью, причём произвольное количество. Написано на Си.

#include<stdio.h>
#include<ctype.h>
main()
{
char *ch;
int i=0;
clrscr();
printf("Enter a line of symbols\n");
do
{
ch[i]=getchar();
i++;
}
while(ch[i]);
i=0;
while(ch[i])
{
printf("%c", toupper(ch[i++]));
}
}
Crasty вне форума Ответить с цитированием
Старый 25.02.2009, 14:41   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
char *ch;
Эт так в Сях массив описывается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2009, 14:53   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
ch[i]=getchar();
Если так, то массив нужно либо объявлять статическим, либо выделять для него память.
Код:
while(ch[i]);
И когда, по-вашему, условие должно выкинуть из цикла?

Ввод заканчивается enter'ом.
Код:
#include<stdio.h>
#include <conio.h>
#include <ctype.h>
main()
{
char ch[100];
int i,len=0;
printf("Enter a line of symbols\n");
do
{
ch[len] = getche();
} while(ch[len++]!=13);

printf("\n");
for(i=0;i<len;i++)
{
printf("%c", toupper(ch[i]));
}
getch();
return 0;
}
Цитата:
Сообщение от Stilet
Эт так в Сях массив описывается?
Не сказал бы )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Repeat! все написано, проверьте... Andrux Помощь студентам 1 28.12.2008 10:38
СИМВОЛЫ - помогите решить задачу на символы kiko Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2008 16:09
Assembler. Разработать устройство которое считывает из EEPROM типа 24С512 по интерфейсу I2c информацию KEDDDD Фриланс 1 02.09.2008 02:53
Количество оперативной памяти которое занимает программа werser Помощь студентам 1 03.02.2008 02:22
Процесс - на вкладке процессы, напротив процесса программы должно быть написано SYSTEM Terran Общие вопросы Delphi 3 10.01.2008 21:03