IOday1

2023-10-27

附加题(带注册功能的账号密码输入)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    char member[20]="";
    char passwd[20]="";
    char k='y';
    char end='y';

    while(end!='n')
    {
        FILE *userfp=fopen("usr.txt","r+");
        if(NULL==userfp)
        {
            perror("userfp fopen");
            return -1;
        }
        if(k=='y')
        {
            printf("是否需要注册(y/n)");
            scanf(" %c",&k);
        }
        if(k=='n')
        {
            printf("是否需要登录(y/n)");
            scanf(" %c",&end);
            if(end=='n')
                break;
        }
        printf("请输入账户:");
        scanf("%s",member);
        printf("请输入密码:");
        scanf("%s",passwd);
        char fmem[20]="";
        char fpwd[20]="";
        while(1)
        {
            int flag=fscanf(userfp,"%s",fmem);
            fscanf(userfp,"%s",fpwd);
            if(EOF==flag)
            {
                if(k!='y')
                {
                    printf("账户不存在\n");
                    break;
                }
                printf("注册成功\n");
                fprintf(userfp,"%s %s\n",member,passwd);    
                break;
            }
            if((strcmp(fmem,member))==0)
            {
                if(0==(strcmp(passwd,fpwd)))
                {
                    if(k!='y')
                    {
                        printf("登录成功\n");
                        end='n';
                        break;
                    }
                }
                if(k!='y')
                    printf("密码不正确\n");
                else
                    printf("注册失败,账户重复\n");
                break;
            }
        }
        if(fclose(userfp)<0)
        {
            printf("文件关闭错误\n");
            return -1;
        }
    }
    return 0;
}

复制并计算文件的行数和字节数

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    FILE *fp1=fopen("1.txt","r");
    if(NULL==fp1)
    {
        perror("fp1 fopen");
        return -1;
    }
    FILE *fp2=fopen("2.txt","w");
    if(NULL==fp2)
    {
        perror("fp2 fopen");
        return -1;
    }
    char t=0;
    int c1=0;
    int c2=0;
    while(1)
    {
        t=fgetc(fp1);
        if(EOF==t)
            break;
        fputc(t,fp2);
        c1++;
        if(t=='\n')
        {
            c2++;
        }

    }
    printf("该文件有%d个字节\n有%d行\n",c1,c2);
    if(fclose(fp1)<0)
        return -1;
    if(fclose(fp2)<0)
        return -1;

    return 0;
}

账号密码输入

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    char member[20]="";
    char passwd[20]="";
    FILE *userfp=fopen("usr.txt","r");
    if(NULL==userfp)
    {
        perror("userfp fopen");
        return -1;
    }
    printf("请输入账户:");
    scanf("%s",member);
    printf("请输入密码:");
    scanf("%s",passwd);
    while(1)
    {
        char fmem[20]="";
        char fpwd[20]="";
        int flag=fscanf(userfp,"%s",fmem);
        fscanf(userfp,"%s",fpwd);
        if(EOF==flag)
        {
            printf("账户不存在\n");
            break;
        }
        if(!(strcmp(fmem,member)))
        {
            if(!(strcmp(passwd,fpwd)))
            {
                printf("登录成功\n");
                break;
            }
            printf("密码不正确\n");
            break;
        }
    }
    if(fclose(userfp)<0)
    {
        printf("文件关闭错误\n");
        return -1;
    }

    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOday1 的相关文章

随机推荐

  • Word论文书写--页眉线设置

    开始 gt 段落 gt 边框和底纹 基本设置如下 结果
  • 用Flex布局模型开发网页

    目录 一 为什么要用Flex布局 对比浮动有什么优点 二 Flex布局组成 三 如何使用Flex布局 1 基本方法 2 主轴对齐方式 3 侧轴对齐 4 改变主轴方向 5 弹性盒子换行 四 弹性盒子多场景运用 1 圣杯布局 2 如何让父盒子里
  • JBoss 系列四十四:jBPM5示例之 GateWay

    jBPM5中的GateWay如果选择AND则表示平行执行多个Task ParallelExecute示例演示jBPM5中如何平行执行多个Task ParallelExecute流程如下 上图为平行执行多个Task的流程 其中Task1 1
  • 002-从零搭建微服务-认证中心(二)

    写在最前 如果这个项目让你有所收获 记得 Star 关注哦 这对我是非常不错的鼓励与支持 源码地址 https gitee com csps mingyue 文档地址 https gitee com csps mingyue wikis 创
  • Shadow Build 读取不到配置文件

    问题 使用阴影构建后 无法读取配置文件 方法 阴影构建在单独目录中搜索 普通构建在项目目录搜索
  • MySQL的安装与配置

    免安装版的Mysql MySQL关是一种关系数据库管理系统 所使用的 SQL 语言是用于访问数据库的最常用的标准化语言 其特点为体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 在 Web应用方面 MySQL 是最好RDBMS Rel
  • C语言文件操作详解

    C语言文件操作详解 一 文件指针和流 1 文件指针 2 流 二 文件的打开与关闭 1 fopen与fclose函数 2 文件打开方式 3 实例演示 三 文件的顺序读写 一 fgetc与fputc函数 1 fgetc总述 2 fgetc使用实
  • UE4-材质自发光

    1 创建材质 选择无光照 将贴图及控制自发光强度参数逻辑连接完成 使用staticswitchparameter 节点进行判断是否开启自发光 2 设置完成后 在场景中选择自发光物体 细节面板找到光照 Lightmass 使用静态光照的自发光
  • Python 数据处理之散点图--matplotlib

    import matplotlib pyplot as plt plt rcParams font sans serif SimHei 解决中文显示问题 x values 1 2 3 4 5 y values 3000 4000 6000
  • 华为od机试 最大价值的矿堆 Java

    题目 我们规定 0表示空地 1表示银矿 2表示金矿 矿堆表示由相邻的金矿或银矿连接形成的地图 银矿价值是1 金矿价值是2 你的目标是找出地图中最大价值的矿堆 并且输出该矿堆的价值 示例1 输入 22220 00000 00000 01111
  • SeleniumLibrary4.5.0 关键字详解(五)

    SeleniumLibrary4 5 0 关键字详解 五 库版本 4 5 0 库范围 全局 命名参数 受支持 简介 SeleniumLibrary是Robot Framework的Web测试库 本文档说明了如何使用SeleniumLibra
  • 全基因组选择-GS的技术评估

    基因组选择的流程 GS一般包括以下步骤 图1 首先建立参考群体 reference population 参考群体中每个个体都有已知的表型和基因型 通过合适的统计模型可以估计出每个SNP或不同染色体片段的效应值 然后对候选群体 candid
  • Tomcat 弱口令 && 后台getshell漏洞

    漏洞编号 VUL 2021040008 爆发时间 2018 10 10 漏洞简介 Tomcat支持在后台部署war文件 可以直接将webshell部署到web目录下 其中 欲访问后台 需要对应用户有相应权限 影响版本 Tomcat8 x T
  • vue格式化时间戳

    js var articleContent new Vue el articleContent data articles Vue filter yearMonthTime function value value为13位的时间戳 func
  • SpringCloud LoadBalancer 新一代负载均衡器

    前言 工作中使用 OpenFeign 进行跨服务调用 最近发现线上经常会遇到请求失败 java net ConnectException Connection refused connect 复制代码 通过排查我们发现不是接口超时 而是有时
  • 【hadoop——Hive的安装和配置】保姆式教学

    目录 一 Hive的安装和配置 1 Hive并不是hadoop自带的组件 因此我们需要去下载hive 此次课我们使用hive 1 2 1版本 下载地址为 2 下载完成之后 安装包默认保存在下载文件夹中 解压安装包apache hive 1
  • 【LeetCode】7. 整数反转 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,

    7 整数反转 给你一个 32 位的有符号整数 x 返回将 x 中的数字部分反转后的结果 如果反转后整数超过 32 位的有符号整数的范围 2 31 2 31 1 就返回 0 假设环境不允许存储 64 位整数 有符号或无符号 示例 1 输入 x
  • HTML5_京东首页样式

    通用样式 去掉边框 里面的东西不会乱 页头 头部样式 header background f7f7f7 header gt header inner height 32px header gt header inner gt lf line
  • 架构师学习--组件化开发之APT使用及JavaPoet

    一 概念及作用 什么是APT 全称是Annotation Processing Tool 翻译过来就是注解处理工具 它的作用就是可以在代码编译期间对注解进行处理 并且生成Java文件 减少手动的代码输入 因此它能够使我们编写的代码更加优雅
  • IOday1

    附加题 带注册功能的账号密码输入 include