По сути, я пытался ограничить ввод данных пользователем, чтобы исключить целочисленные значения, но мне не повезло. Я попытался использовать функции 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 *
Что я могу предположить только потому, что не смог проверить массив символов?