我試圖用,檢查結構的成員是唯一的字母
if(isalpha(card[i].name))
...
,但它說,我不能在這裏char類型使用它是我的代碼: 這是結構:
struct firm {
unsigned egn;
char name[80];
char lastname[80];
char department[80];
unsigned salary;
}card[100];
這就是我想要做檢查,如果只是字母,然後繼續功能:
void enter()
{
int i, n;
char temp[80];
do{
cout<<"Enter how many workers you want to add: ";cin>>n;
}while(!(n>0 && n<101));
for(i=top;i<n;i++)
{/*ЕГН + проверка*/
cout<<"Enter EGN: ";do{
cin>>temp;
if((strlen(temp)!=10))
cout<<"Enter EGN: ";
}while(strlen(temp)!=10);
card[i].egn = (unsigned) atoi (temp);
/*Име Фамилия*/
cout<<"Enter name(only letters): ";cin>>card[i].name;
cout<<"Enter lastname(only letters): ";cin>>card[i].lastname;
cout<<"Enter department: ";cin>>card[i].department;
cout<<"Enter salary: ";cin>>temp;
card[i].salary = (unsigned) atoi (temp);
}
}
當我嘗試使用這種類型的代碼:
cout<<"Enter name(only letters): ";do{
cin>>card[i].name;
if(isalpha(card[i].name))
.....;
它說我不能在int中使用char(isalpha使用int? )
類型name'的'是不'char'。你應該更多地關注編譯器的錯誤信息。如果你這樣做,你會注意到這個類型是'char [80]',而不是'char'。 –
因此,放鬆說我需要爲每個數字做一個循環?我該怎麼辦呢 – Koleto