Неспособность ограничить ввод в мой массив символов - PullRequest
0 голосов
/ 30 апреля 2020

По сути, я пытался ограничить ввод данных пользователем, чтобы исключить целочисленные значения, но мне не повезло. Я попытался использовать функции isdigit() и isalnum(), но, похоже, это работает только со значениями, которые были установлены на int.

Это мой код, который работает нормально, но все же позволяет вводить целочисленные значения, которые мне не нужны:

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

const int maxsize=50;
const int listlength=10;

int main() {
    int daysofrental;
    double balancedue;
    char names[listlength][maxsize];
    cout<<"LastName FirstName"<< "DaysofRental"<< "BalanceDue"<<endl;
    for(int i=0;i<10;i++)
    {
      cin>>setw(30);cin.getline(names[i],50);
    }
    for(int i=0;i<9;i++)
    {
      for(int o=i+1;o<10;o++)
      {
        if(strcmp(names[i],names[o])>0)
        {
          char temp[50];
          strcpy(temp,names[i]);
          strcpy(names[i],names[o]);
          strcpy(names[o],temp);}
        }
      }
      for(int i=0;i<10;i++)
      {
        cout<<names[i]<<endl;
      }
    }

Запускается, но при попытке отправки выдает ошибку

: для выполнения

* потребовалось много времени 1013 *

Что я могу предположить только потому, что не смог проверить массив символов?

...