| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1367 人关注过本帖
标题:找大神指导,小弟新手
只看楼主 加入收藏
HONGS烨
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2013-7-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:20 
找大神指导,小弟新手
struct student

{
    int num;
    char name[20];
    int kcxh;
    int maths;
    int english;
    int c;
    int phy;
    int xf;
}a;
#include"stdio.h"
#include"string.h"
main()
{
    int n,m;
    n=strlen(a.name);
    printf("学号:");
    G:scanf("%d",&a.num);
    if((a.num>=10000000)&&(a.num<=99999999))
    {
        printf("姓名:");
    }
    else
    {
        printf("输入错误,请重新输入\n");
        printf("学号:");
        goto G;             //无条件转移语句,直到重新输入的数据正确。
    }
    H:scanf("%s",a.name);
    if((n>=2)&&(n<=20))
    {
        printf("请输入课程序号:");
    }
    else
    {
        printf("输入错误,请重新输入\n");
        printf("姓名:");
        goto H;
    }

我用C Free5.0编的。这是我下午吸收大神解释改过了,学号没问题,但是姓名还是有问题,不论我输入什么“1”,“12”还是“11111”永远是输出“输入错误,请重新输入”。。。哪里错了?

[ 本帖最后由 HONGS烨 于 2013-7-6 22:15 编辑 ]
搜索更多相关主题的帖子: english include 姓名 
2013-07-06 12:08
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:0 
菜鸟飞过 看到strlen的参数~~
2013-07-06 14:24
CPer
Rank: 2
来 自:海南
等 级:论坛游民
帖 子:13
专家分:21
注 册:2013-4-26
收藏
得分:0 
你能说说你的代码要表达什么意思吗??

DO IT YOURSELF!
2013-07-06 14:49
秦殇
Rank: 2
等 级:论坛游民
帖 子:61
专家分:77
注 册:2013-3-13
收藏
得分:0 
把错误信息贴出来
2013-07-06 16:24
雪狼MJ
Rank: 8Rank: 8
来 自:甘肃
等 级:蝙蝠侠
威 望:4
帖 子:267
专家分:853
注 册:2012-5-27
收藏
得分:0 
第一:你用到了strlen函数,所以应当包含头文件<string.h>

第二:strlen函数的参数是字符串,你这里是传递进去了单个的字符。应该改为:(strlen(a.name)>=2)&&((strlen(a.name)<=20))

第三:你判断姓名的长度的条件表达式里少打了个);

尽量不要用goto,用for或其余的循环代替,要不然到后面程序代码多了很不好维护的。
收到的鲜花
  • HONGS烨2013-07-06 22:28 送鲜花  3朵   附言:我很赞同

Edsger Dijkstra:算法+数据结构=程序
2013-07-06 16:45
awisebird_
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:185
注 册:2013-7-6
收藏
得分:0 
主函数的返回值是int型,在函数结尾处加上return 0;
2013-07-06 20:22
zjct520
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-29
收藏
得分:0 
主函数int,应该返回return EXIT_SUCCESS;
strlen(a.name[20])>=2)&&((strlen(a.name[20])<=20)
这里不需要[20]吧,去掉啊
而且这里应该不是按照姓名长短来输入课程号吧,理解不透
2013-07-06 20:38
HONGS烨
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2013-7-6
收藏
得分:0 
回复 楼主 HONGS烨
呵呵,,,我也是只大菜鸟。。。
2013-07-06 22:16
HONGS烨
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2013-7-6
收藏
得分:0 
回复 2楼 心灯甚亮
刚回复给自己了,我去。。。我也是大菜鸟
2013-07-06 22:18
HONGS烨
Rank: 1
等 级:新手上路
帖 子:14
专家分:2
注 册:2013-7-6
收藏
得分:0 
回复 3楼 CPer
输入学号,学号格式正确就继续输入姓名,学号格式不正确就显示输入错误,重新输入。。。
2013-07-06 22:19
快速回复:找大神指导,小弟新手
数据加载中...
 
   



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

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