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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.73
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
#1

таблица умножения с++ - C++

06.10.2012, 15:35. Просмотров 2721. Ответов 7
Метки нет (Все метки)

Задача
Разработать программу на языке С ++, предлагающую пользователю ввести целое число N и выводящую на консоль таблицу умножения от 1 до N.
Вот что я сделал

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
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
  int main()
     {
     int i, j;       столбца
     int n=0;
              printf ("Vvedite n: ");
 
 
     scanf ("%d", &n);      
         for(i = 1; i <= n ; i++)       
     {
         for(j = 1; j <= n ; j++)     
     {
              printf ("%5d", i * j);  
 
                  if (n>=15)   
     {
              printf ("Vvedute chuslo < 15 \n") ;
     break;
 
     } else
                  if (n<=0)        
     {
              printf ("Vvedute chuslo >0");
     break;
     }
     }
              printf("\n");
     }
     getch();
     return 0;
     }
Помогите сделать так чтобы программа когда вводишь число меньше нуля писала чтобы мы "ввели заново число >0" (у меня это не работает)
и при вводе числа больше 15 сообщение об ошибке выводится такое количество раз, какое число было введено надо чтобы было написано всего один раз сообщение
и при вводе буквы писала прога введите число
Вложения
Тип файла: zip Лр2.zip (218.1 Кб, 6 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 15:44     таблица умножения с++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, j; //столбца
 int n=0;
 do
 {
  printf ("Vvedite n>0 i <15: ");
  scanf ("%d", &n);
 }
 while ((n<=0)||(n>=15)); 
 for(i = 1; i <= n ; i++) 
  {
   for(j = 1; j <= n ; j++) 
    printf ("%5d", i * j); 
   printf("\n"); 
  }
 getch();
 return 0;
}
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
06.10.2012, 16:14  [ТС]     таблица умножения с++ #3
Спасибо всё работает кроме когда вводишь букву программа виснет
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 16:35     таблица умножения с++ #4
Так на это защиты не было. Вы ж только на числа просили.
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
06.10.2012, 17:46  [ТС]     таблица умножения с++ #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
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, j; //столбца
 int n=0;
 do
{
 char szInput [256];
   printf ("Vvedite n>0 i <15: ");
 fgets ( szInput, 256, stdin );
 n = atoi (szInput);
     scanf ("%d", &n);
 
}
 while ((n<=0)||(n>=15));
  for(i = 1; i <= n ; i++)
{
  for(j = 1; j <= n ; j++)
   printf ("%5d", i * j);
   printf("\n");
}
 getch();
 return 0;
}
вот вроде сделал
чтобы когда вводишь буквы он просил ввести число
но когда вводишь в первый раз что-нибудь(цифры или буквы) и нажимаешь на ентер он ничего не выдаёт пишу либо число либо букву второй раз потом программа работает корректно как от этого избавиться?
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 17:51     таблица умножения с++ #6
Ну, она дважды просит ввести. 15 строку удалить.
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
06.10.2012, 18:17  [ТС]     таблица умножения с++ #7
спасибо
Ещё кое-что: при воде цифры, а затем буквы (10sad) она на буквы не обращает внимание и выводит таблицу умножения для н=10
Как сделать чтобы программа выводила сообщение ВВедите только число без букв
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2012, 18:45     таблица умножения с++
Еще ссылки по теме:

Таблица умножения заданого числа C++
Таблица умножения C++
таблица умножения C++
C++ Таблица умножения
Таблица умножения С++ C++

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

Или воспользуйтесь поиском по форуму:
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 18:45     таблица умножения с++ #8
Вот, сделал посимвольную проверку.
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
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
 int i, j, n; //столбца
 do
{
 bool b=false;
 char szInput [256];
 memset(szInput,0,256);
   printf ("Vvedite n>0 i <15: ");
 fgets ( szInput, 256, stdin );
 for (i=0; i<strlen(szInput)-1; i++)
  if (!isdigit(szInput[i]))
   b=true;
  if (!b)
   n = atoi (szInput);
  else
   n=0; 
}
 while ((n<=0)||(n>=15));
  for(i = 1; i <= n ; i++)
{
  for(j = 1; j <= n ; j++)
   printf ("%5d", i * j);
   printf("\n");
}
 getch();
 return 0;
}
Yandex
Объявления
06.10.2012, 18:45     таблица умножения с++
Ответ Создать тему
Опции темы

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