Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
TABA4OK
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
1

Проверка чисел при вводе

16.01.2016, 18:54. Просмотров 341. Ответов 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace aLotOfTasks
{
    class Program
    {
        //Написать программу, которая находит среднее 
        //арифметическое значение введенных вещественных чисел.
        static void Main(string[] args)
        {
            Program myProg = new Program();
 
            myProg.Check();
        }
 
        public void Check() // проблема в этом методе
        {
            Program myProg = new Program();
 
            double[] array = Console.ReadLine()
                            .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                              .Select(double.Parse)
                              .ToArray();
 
            // тут проверка на число
 
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i].GetTypeCode() == TypeCode.Double)
                {
                    myProg.AvaregeArithmeticValue(array);
                }
                else
                {
                    Console.WriteLine("Error");
                }
            }
        } // конец Check
 
        public void AvaregeArithmeticValue(double[] array)
        {
            double AvaregeValue = 0;
            double arraySum = array.Sum();
            int arrayLength = array.Length;
 
            AvaregeValue = arraySum / arrayLength;
 
            Console.WriteLine("Сума элементов массива: {0} ", arraySum);
            Console.WriteLine("К-во эл. массива: {0} ", array.Length);
            Console.WriteLine("Среднее арифметическое: {0} ", AvaregeValue);
 
            Console.ReadKey();
        }
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2016, 18:54
Ответы с готовыми решениями:

Проверка на ноль при вводе последовательности чисел
Как сделать так, чтобы если вводят ноль первым числом не выдавалось &quot;Минимальное число 2147483647,...

Проверка текста при вводе с клавиатуры
цикл проверяющий правильность ввода текста с клавиатуры в операторе стринг

Создать исключение при вводе отрицательных чисел
static void Main(string args) { string q = &quot;q&quot;; ...

Ввод чисел с консоли, без исключения при некорректном вводе
В данном кейсе осуществляется поиск цены цена double, если ввести букву - произойдет аварийное...

Закончить цикл при при вводе негативного или не числового значения
Имеется код, в котором используется цыкл. Каким образом добавить условие, чтобы цикл заканчивался...

2
Даценд
Модератор
Эксперт .NET
5109 / 4349 / 2814
Регистрация: 20.04.2015
Сообщений: 7,829
16.01.2016, 19:21 2
Вот код с проверкой. По методам сами раскидайте. Только не надо в методах класса Program создавать экземпляры класса Program. Или воспользуйтесь статическими методами, передавая туда данные из Main, или напишите отдельный класс.
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
static void Main(string[] args)
{
    double[] array = new double[0];
    try 
    {
        array = Console.ReadLine()
                            .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                              .Select(double.Parse)
                              .ToArray();
    }
    catch(Exception ex)
    { 
        Console.WriteLine("Error:");
        Console.WriteLine(ex.Message);
        Console.ReadLine();
        return;
    }
 
    double AvaregeValue = 0;
    double arraySum = array.Sum();
    int arrayLength = array.Length;
 
    AvaregeValue = arraySum / arrayLength;
 
    Console.WriteLine("Сума элементов массива: {0} ", arraySum);
    Console.WriteLine("К-во эл. массива: {0} ", array.Length);
    Console.WriteLine("Среднее арифметическое: {0} ", AvaregeValue);
 
    Console.ReadKey();
}
1
TABA4OK
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 39
16.01.2016, 19:28  [ТС] 3
Спасибо большое, то что надо было.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2016, 19:28

Проверка утверждения о простоте чисел, вычисляемых по формуле x^2 + x + 41 при 0≤x≤40
Составить программу для проверки утверждения: &quot;Результатами вычисления по формуле x^2 + x +41 при...

Ошибка при вводе
в файле есть название, автор, цена название и автор string, а вот цена double если при вводе цены...

Ошибка при вводе
using System; namespace AntiLychrelNumbers { class MainClass { public static void Main...


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

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

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