#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int input_int_from_KBD(char *, int *);
int input_10char_from_KBD(char *intitle, char *data);
int main()
{
int data;
char instr[128];
memset(instr,0,sizeof(128));
if(!input_int_from_KBD("input integer:",&data))
printf("input error.\n");
else
printf("input data is %d\n",data);
if(!input_10char_from_KBD("input 10char:",instr))
printf("\ninput error.\n");
else
printf("\ninput data is %s\n",instr);
return 0;
}
int input_int_from_KBD(char *intitle, int *data)
{
int i;
char instr[128];
memset(instr,0,sizeof(char)*128);
printf("%s",intitle);
scanf("%s",instr);
for(i=0;i<strlen(instr);i++){
if(!isdigit(instr[i])) return 0;
}
sscanf(instr,"%d",data);
return 1;
}
int input_10char_from_KBD(char *intitle, char *data)
{
char instr[128];
memset(instr,0,sizeof(char)*128);
memset(data,0,sizeof(char)*128);
printf("%s ",intitle);
scanf("%s",instr);
strncpy(data,instr,10);
if(strlen(instr) <= 10) return 1;
else return 0;
}
|