| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 429 人关注过本帖
标题:[求助]关于错误提示
只看楼主 加入收藏
ferry001
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-11-23
收藏
 问题点数:0 回复次数:1 
[求助]关于错误提示

下面代码执行后要输入姓名和年龄,年龄是整型。如果输入是字符型时会出错!
怎么改 能在输入年龄类型错误后会提示出<输入类型错误!> 再需要重新输入!
帮忙下!

#include <malloc.h>
#include <stdio.h>
#define List_Max_Size 100
#define Add_Size 10


struct Human_Data {
char Name [20];
int Age;
};//定义顺序表数据结构体
typedef Human_Data Thread_Save_Struct;

struct Thread_1 {
int Length;
int List_Size;
Thread_Save_Struct *Point;
};//定义顺序表指针结构体
typedef Thread_1 Thread;

int Create_List( Thread &List )
{
List.Point = (Thread_Save_Struct * )malloc ( sizeof(Thread_Save_Struct) * List_Max_Size);
if ( !List.Point ) return (0);
List.List_Size = List_Max_Size;
List.Length = 0;
return (1);
}//建立一个顺序表

int main()
{
int Create_List( Thread &List );
int OnOff = 1;
int Add = 0;
Thread_Save_Struct *Point_1;
Thread User;


if (Create_List(User)==1)
{
printf("\n","存储空间开辟成功");

for (Point_1 = User.Point;OnOff==1 && User.Length<User.List_Size;Point_1++)
{
printf("当前指针域:%d\n",Point_1);
printf("在此输入名字:");
scanf("%s", &(Point_1->Name));
printf("在此输入年龄:");
scanf("%d", &(Point_1->Age));
// if(Point_1->Age==NULL) printf("error:输入年龄类型错误!");
printf("是否继续输入?是(1),否(0):");
scanf("%d",&OnOff);
User.Length++;
}//for
printf("当前指针域:%d\n",Point_1);
for (Point_1 = User.Point;Add != User.Length ;Point_1++)
{
printf("当前指针域%d\n",Point_1);
printf("姓名:%s\n",Point_1->Name);
printf("年龄:%d",Point_1->Age);
scanf("%d", &OnOff);
Add++;
}//for
}//if
else printf("%s\n","存储空间开辟失败");
return 0;
}//main

搜索更多相关主题的帖子: 提示 
2006-12-07 12:32
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
你可以允许输入字符串,然后用atoi这些函数看看可不可以转换成整形,如果不能转换就重新输入

c++/C + 汇编 = 天下无敌
2006-12-07 13:52
快速回复:[求助]关于错误提示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042932 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved