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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2013, 22:17   #1
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию Построить прямоугольник. (Функция putchar())

Не совсем умею пользоваться функцией putchar();
Не знаю в чем ошибка... но подозреваю, что дело в кодах...
Подскажите , пожалуйста, в чем опять ошибка у меня)
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
    int i,j;
    char c;
    system("chcp 1251 > nul");
    printf("Введите стороны прямоугольника A и B соответственно для печати:");
    scanf("%d%d", &i ,&j);
    printf("Введите каким символом будете печатать прямоугольник:");
    scanf("%c", &c);
    for (i=0;i<j;i++)
    {
        for (i=0;j<i;j++)
        putchar(c);
        putchar('\n');
    }
    getch();          
}
zaira001002 вне форума Ответить с цитированием
Старый 30.09.2013, 22:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Загляни сюда:http://www.programmersforum.ru/showthread.php?t=189687
Обрати внимание на функцию
void rect(int len,int wid)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2013, 22:40   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
    int i,j,n,m;
    char c;
    system("chcp 1251 > nul");
    printf("Введите стороны прямоугольника A и B соответственно для печати:");
    scanf("%d%d%*c", &n ,&m);
    printf("Введите каким символом будете печатать прямоугольник:");
    scanf("%c", &c);
    for (i=0;i<n;++i)
    {
        for (j=0;j<m;++j)
        putchar(c);
        putchar('\n');
    }
    getch();          
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 30.09.2013, 23:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а, прямоугольник должен быть залитым?
Тогда извиняюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2013, 23:14   #5
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

вроде точно так же исправила... где были недочеты... но , по-прежнему , не печатает... а вот...если скопировать то же самое от вас... кусок цикла с for, то работает все ок... хотя... все точь-в-точь... (((( в чем же у меня тогда ошибка ?

А так.... BDA , спасибо Вам большое))) уже не раз подсказали и помогли))))

Кстати, можно, один маленький вопрос? Что делает *с там... и я наблюдала, что происходит без нее в программе, почему так?
Код:
scanf("%d%d%*c", &n ,&m);

Последний раз редактировалось Stilet; 01.10.2013 в 10:30.
zaira001002 вне форума Ответить с цитированием
Старый 30.09.2013, 23:52   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Вообще, я уже давал Вам некие объяснения по этому поводу. Повторение - матьмучения. Вы вводите два числа и нажимаете Enter. В буфере оказываются два числа, разделенные пробелом, и код клавишы enter. Первый scanf "заберет" числа, но оставит enter. Второй scanf заберёт enter вместо нужного символа. Чтобы этого не происходило, считываем символ, но не заносим его ни в какую переменную (%*c).

Попробуйте ещё такой вариант:
Код:
scanf("%d%d", &n ,&m);
fflush(stdin);
printf("Введите каким символом будете печатать прямоугольник:");
scanf("%c", &c);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Getchar и putchar lonsdale Общие вопросы C/C++ 5 03.02.2013 10:54
bc3.1, логическая музыка и putchar Ivanhoe Общие вопросы C/C++ 0 04.03.2012 13:11
Си, замена + на - с использованием getchar и putchar Skrappy Помощь студентам 5 28.06.2011 16:01
прямоугольник ronny137 Помощь студентам 2 21.04.2011 19:34
C#, прямоугольник Goldcoding Фриланс 2 09.04.2010 20:34