| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1004 人关注过本帖
标题:向大佬求助
只看楼主 加入收藏
图灵遇到偏见
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-11-10
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
向大佬求助
又重新修改了一遍,运行到一半就中断了,不知道为什么?  
#include<stdio.h>
程序代码:
#include<stdlib.h>
#define Max 10
#include <string.h>
typedef struct Log
{
    char account[10];
    char password[10];
}Log;
typedef struct LOG
{
    Log St[Max];
    int n;
}LOG;

int main()
{
    char account1[10],password1[10];
    LOG *sts;
    Log St[Max];
    Log log;
    int i=0,choose=1;
    FILE *fp = NULL;
    char flag = 'y';
    fp = fopen("text2.txt","a");
    if(fp == NULL)
    {
        printf("文件打开失败!\n");
        return -1;
    }
    while(flag == 'y'||flag == 'Y')//注册过程
    {
        printf("***********************\n");
        printf("请输入您想要注册账号:\n\n");
        scanf("%s",&log.account);
        printf("请输入您想要注册密码:\n\n");
        scanf("%s",&log.password);
        printf("***********************\n");
        fprintf(fp,"账号:%-10s密码:%-10s",log.account,log.password);
        fputc('\n',fp);
        fflush(stdin);
        printf("继续输入吗,请输入y或Y\n");
        scanf("%c",&flag);
    }
    sts->St[sts->n]= log;
    sts->n++;
    while(choose==1)
    {
        printf("***********************\n");
        printf("账号是:");
        scanf("%s",&account1[10]);
        printf("\n");
        printf("密码是:");
        scanf("%s",&password1[10]);
        printf("***********************\n");
        printf("稍等片刻\n");
        for(i=0;i<sts->n;i++)
        {
            if(strcmp(account1,sts->St[sts->n].account)>0 && strcmp(password1,sts->St[sts->n].password)>0)
            {
                printf("登录成功\n");
                choose == 0;
                break;
            }
            else
            {
                printf("账号或密码错误\n");
                choose == 1;
                break;
            }
        }
    }
    return 0;
}


[此贴子已经被作者于2017-12-20 16:06编辑过]

搜索更多相关主题的帖子: char password printf 输入 scanf 
2017-12-20 11:33
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:5 
实在看不懂,写的c++么?为何没有<stdio.h>?
另外为何有2个名字都叫log的结构体?

2017-12-20 16:50
图灵遇到偏见
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-11-10
收藏
得分:0 
回复 2楼 虫眼
“实在看不懂,写的c++么?为何没有<stdio.h>?另外为何有2个名字都叫log的结构体?”

版主你好请多见谅,其中有一堆问题。。 。我写的是C,<stdio.h>没有是因为没有打上去,关于第一个结构体是 结构体Log 有 account[10](账号),password[10](密码) 而第二个结构体LOG存在一个集合(该集合是第一个结构体 所以是Log St[Max].而n是用来表示有多少个,后来表示乱了。

最开始我的想法是将账号,和密码存在text2.txt文档中,但是我只知道如何输入,不懂怎么读取文档。于是又改用结构体的方式 来验证登陆,然而将账号和密码存入text2.txt的步骤没有删除,保留在里面。我对结构体指针的用法不是特别清楚,所以写的乱七八糟。
2017-12-21 09:46
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:0 
昨天调了一下,发现到这里程序就崩溃了。另外结构体花括号里面好像不能放数组,我记得是在花括号外面放数组。
程序代码:
  }
    sts->St[sts->n]= log;
    sts->n++;
    while(choose==1)
    {
2017-12-21 09:51
图灵遇到偏见
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-11-10
收藏
得分:0 
回复 4楼 虫眼
明白。
2017-12-22 09:39
快速回复:向大佬求助
数据加载中...
 
   



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

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