int input(char s[31],data *p) //输入函数,用于使用户按要求输入账务信息
{
char c;
printf("请输入%s时间:\n年份:",s);
scanf("%d",&p->year);
while ((c = getchar()) != '\n' && c != EOF ) ;/*清空缓冲区*/
for(;;) //循环判断用户输入数据,直至符合要求
{
if(p->year<0) //年份不能为负数啊,额,我是说公元前的人应该用不到这个程序
{
printf("%s年份输入错误,请重新输入:\n年份:",s);
scanf("%d",&p->year);
while ( (c = getchar()) != '\n' && c != EOF ) ;/*清空缓冲区,这是必须的,当然有其它多种清除缓冲区的办法,百度一下*/
}
else break;
}
printf("请输入%s金额:\n金额:",s);
scanf("%lf",&p->amount);
while ( (c = getchar()) != '\n' && c != EOF ) ; /*清空缓冲区*/
for(;;)
{
if(p->amount<0)
{
printf("%s金额输入错误,请重新输入:\n金额:",s);
scanf("%lf",&p->amount);
while ( (c = getchar()) != '\n' && c != EOF ) ;/*清空缓冲区*/
}
else break;
}
printf("请输入%s备注:\n备注:",s);
gets(p->note);
return 0;
}
温馨提示:答案为网友推荐,仅供参考