永发信息网

c语言 怎么将输入的数字限制在六位啊

答案:2  悬赏:0  手机版
解决时间 2021-04-18 21:17
c语言 怎么将输入的数字限制在六位啊
最佳答案
按照你的要求,修改了一下:
#include 
#include 
#include 
struct customer
{
    char name[50];
    char address[100];
    char phone[20];
    char PIN[10];
};
void new_customer()
{
    struct customer a;
    struct customer *p = &a;
    FILE *fp1;
    char filename[20] = {0};
    int i;
    memset(&a, 0, sizeof(struct customer));
    printf("please enter file name
");
    gets(filename);
    if((fp1=fopen(filename,"w"))==NULL)
    {
        printf("cannot open file
");
        exit(0);
    }
    printf("please input your name:
");
    gets(p->address);
    printf("please input your address:
");
    gets(p->address);
    printf("please input your telephone number:
");
    gets(p->phone);
    printf("please input your PIN:
");
    scanf("%6s", p->PIN);
    for (i = 0; i < 6; i++)
    {
        if (p->PIN[i] < '0' || p->PIN[i] > 9)
        {
            printf("Your PIN is incorrect.
");
            fclose(fp1);
            return ;
        }
    }
    fwrite(p->address, 1, strlen(p->address), fp1);
    fwrite(" ", 1, 1, fp1);
    fwrite(p->phone, 1, strlen(p->phone), fp1);
    fwrite(" ", 1, 1, fp1);
    fwrite(p->PIN, 1, strlen(p->PIN), fp1);
    fclose(fp1);

int main(void)
{
    new_customer();
    return 0;
}测试截图:

提示字符太多,就不写注释了。

全部回答


你的struct *p未分配内存 这样写运行会出错 你可以malloc一下 结束前free掉
可以把结构里的int改成char,不然pin[20]可以存20个32位2进制数、、、、、、、、、
然后gets(p-〉pin),把上面的scanf后面的for循环str改成p->pin替换上去就可以了
至于写 fwrite((void*)p,sizeof(struct customer),1,fp)即可
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
张国荣有什么好听的歌,张国荣的歌曲好听吗?
对同学好友的临别赠言,搜集临别赠言,歌颂友情
砂浆的强度等级有哪些,抹灰砂浆和砌砖砂浆有
金艺豪游戏娱乐地址在什么地方,想过去办事
粉鱼长什么样子,求我的世界籽岷、大橙子、五
换后保险杠要多少钱,汽车前面的保险杠撞了维
04年希腊奥运会男篮冠军是哪只球队?
9.2除以0.4等于多少?
夸女生漂亮的句子,关于形容女孩子清秀美丽的
潜水泵电机过载的原因,三相水泵为什么一开就
National Day is an exciting festival.All t
红星苑停车场(梁溪区金星街道红星路阳光城市
曾慧玲的照片是什么
从深圳南山开车到惠州石湾要多少时间
梦见捡到朋友的钱,还她一些,自己藏了一些
推荐资讯
人年龄大了为什么热衷于给人介绍对象
帮我找个英文名关于SJ的,女孩的,好听的,容易
为什么库克船长第二次会被夏威夷人攻击?
在哪里可以搜索到英语版的oracle研究论文或者
ASP.NET客户端状态管理对象有哪些
艾灰是什么植物,这是什么植物???和青苔长
460x57十57ox54的简便方法
小规模开具货物销售发票税率是多少
饱吃惠州饭,细和渊明诗。彭泽千载人,子瞻百世
阿长和山海经好句子,求甄缳传里提到的诗词名
看了又看怎么设置,韩剧<看了又看>演员的近况
想去一汽大众4s店做汽车销售需要什么条件啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?