Как объединить символы в массиве в C - PullRequest
1 голос
/ 26 октября 2019

Я хочу получить значение (1, 2 или 3 цифры номера) с клавиатуры и хочу распечатать значение на консоли.

У меня есть,

char val[i] // value from a Keypad from 1 through 120
            // so, val[i] could be one, two or three digit number.

Что я хочу сделать, это:

if (val[i] == 1)
    printf("The number you got is %d", val[i]); // prints "The number you got is 1"
else if ((val[i] == 2)
    printf("The number you got is %d", val[i]); // prints "The number you got is 2"
    .
    .
else if ((val[i] == 10)
    printf("The number you got is %d", val[i]); // prints"The number you got is 10"
    .
    .
else if ((val[i] == 120)
    printf("The number you got is %d", val[i]); // prints"The number you got is 108"
else    printf("Error!");               // prints "Error!"

Пожалуйста, помогите мне. Заранее благодарю за помощь.

Ответы [ 2 ]

1 голос
/ 26 октября 2019

Должно работать нормально


#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int isNumber(char* s)
{
    for (int i = 0; i < strlen(s); i++)
        if (isdigit(s[i]) == 0)
            return 0;

    return 1;
}

int main()
{
    char * a = (char*) malloc(4);
    scanf("%s",a);

    int i = atoi(a);

    if(isNumber(a) && i>= 1 && i <= 120)
    {
        printf("The number you got is %d\n", i);
    } else printf("Error!");
}

В моей машине:

Ввод: 120

Вывод: число, которое вы получили, составляет 120

Вход: 12А

Выход: Ошибка!

0 голосов
/ 26 октября 2019

Вы можете попробовать код ниже

#include<iostream>
#include<string.h>
using namespace std;

int main(){
int num;
int state;
int a,b,data[num];
string element[2];

cout<<"Enter amount data: ";
    cin>>num;
for(a=0;a<num;a++){
    cout<<"Enter state: ";
        cin>>state;

        if(state==3){
            element[0]="A";
        } else if(state==10){
            element[1]="B";
        }   
   }

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...