Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/17: Рейтинг темы: голосов - 17, средняя оценка - 4.59
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
#1

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

06.10.2012, 15:35. Просмотров 3120. Ответов 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 сообщение об ошибке выводится такое количество раз, какое число было введено надо чтобы было написано всего один раз сообщение
и при вводе буквы писала прога введите число
0
Вложения
Тип файла: zip Лр2.zip (218.1 Кб, 6 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 15:35
Ответы с готовыми решениями:

Таблица умножения
Написал программу которая делает такое: 1.Юзер вводит число, таблицу умножения...

Таблица умножения С++
1) Составить алгоритм вывода таблицы умножения следующего вида: ...

Таблица умножения
У меня такое дело...надо из корней составить таблицу умножения (Работа с...

таблица умножения
Помогите написать программу, которая поможет ученику начальной школы выучить...

Таблица умножения
Здравствуйте программисты! подскажите пожалуйста,как эту программу сдлать одним...

7
BumerangSP
4287 / 1409 / 463
Регистрация: 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 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
06.10.2012, 16:14  [ТС] #3
Спасибо всё работает кроме когда вводишь букву программа виснет
0
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 16:35 #4
Так на это защиты не было. Вы ж только на числа просили.
1
Рустам-ВЛ
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;
}
вот вроде сделал
чтобы когда вводишь буквы он просил ввести число
но когда вводишь в первый раз что-нибудь(цифры или буквы) и нажимаешь на ентер он ничего не выдаёт пишу либо число либо букву второй раз потом программа работает корректно как от этого избавиться?
0
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.10.2012, 17:51 #6
Ну, она дважды просит ввести. 15 строку удалить.
1
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
06.10.2012, 18:17  [ТС] #7
спасибо
Ещё кое-что: при воде цифры, а затем буквы (10sad) она на буквы не обращает внимание и выводит таблицу умножения для н=10
Как сделать чтобы программа выводила сообщение ВВедите только число без букв
0
BumerangSP
4287 / 1409 / 463
Регистрация: 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;
}
1
06.10.2012, 18:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2012, 18:45

Таблица умножения
Использовать двойной цикл for. В программе вводятся шестнадцатеричные числа m...

Таблица умножения
Доброго времени суток, прошу помочь с данной программой. Напечатать полную...

Таблица умножения
Привет. Нужно рандомно вывести два числа, имеющие значения от 1 до 9. Эти...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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