2024.02.18作业

1. 使用fgets统计给定文件的行数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(int argc, char const *argv[])
{if (argc != 2){puts("input file error");puts("usage:./a.out filename");return -1;}FILE* fp = NULL;if ((fp = fopen(argv[1], "r")) == NULL){perror("fopen error");return -1;}int count = 0;char buf[5];while (1){fgets(buf, sizeof(buf), fp);if (strlen(buf) == 0){break;}printf("%s", buf);for (int i = 0; i < 5; i++){if (buf[i] == '\n'){count++;}}memset(buf, 0, sizeof(buf));}printf("%d\n", count);return 0;
}

2. 使用fputs和fgets完成两个文件的拷贝

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAXSIZE 10FILE* open_file(char name[], char method[])
{FILE* fp = NULL;if ((fp = fopen(name, method)) == NULL){return NULL;}return fp;
}int main(int argc, char const *argv[])
{if (argc != 3){puts("input file error");puts("usage:./a.out srcfile destfile");return -1;}FILE* fp = open_file(argv[1], "r");if (NULL == fp){perror("fopen error");return -1;}FILE* fp1 = open_file(argv[2], "w");if (NULL == fp1){perror("fopen error");return -1;}char buf[MAXSIZE];while (1){fgets(buf, sizeof(buf), fp);if (strlen(buf) == 0){break;}fputs(buf, fp1);memset(buf, 0, sizeof(buf));}fclose(fp);fclose(fp1);return 0;
}

3. 完成登录注册功能

做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中

功能2是登录功能,提示输入登陆账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登陆失败

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAXSIZE 100FILE* open_file(char name[], char mode[])
{FILE* fp = NULL;if ((fp = fopen(name, mode)) == NULL){return NULL;}return fp;
}void read_and_save(FILE* src, FILE* dest)
{char buf[MAXSIZE];fgets(buf, sizeof(buf), src);fputs(buf, dest);
}void sign_up()
{FILE* fp = open_file("test.txt", "a+");if (NULL == fp){perror("fopen error");return;}printf("请输入用户名:");read_and_save(stdin, fp);printf("请输入密码:");read_and_save(stdin, fp);fclose(fp);puts("注册成功!");puts("");
}void login()
{FILE* fp = open_file("test.txt", "a+");if (NULL == fp){perror("fopen error");return;}char username[MAXSIZE], passwd[MAXSIZE];printf("请输入用户名:");fgets(username, sizeof(username), stdin);printf("请输入密码:");fgets(passwd, sizeof(passwd), stdin);char buf1[MAXSIZE], buf2[MAXSIZE];while (1){fgets(buf1, sizeof(buf1), fp);if (strlen(buf1) == 0){puts("登录失败!");puts("");break;}fgets(buf2, sizeof(buf2), fp);if (strcmp(username, buf1) == 0 && strcmp(passwd, buf2) == 0){puts("登录成功!");puts("");break;}memset(buf1, 0, sizeof(buf1));memset(buf2, 0, sizeof(buf2));}fclose(fp);
}int main(int argc, char const *argv[])
{int flag = 1;while (flag){printf("====================\n");printf("------ 登录界面 -----\n");printf("-------1、注册-------\n");printf("-------2、登录-------\n");printf("-------0、退出-------\n");printf("====================\n");printf("请输入选项:");int menu;scanf("%d", &menu);getchar();switch (menu){case 1:sign_up();break;case 2:login();break;case 0:flag = 0;break;default:break;}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SMT2020:半导体制造流程标准仿真测试数据介绍

文章目录 问题背景SMT2020 涉及的主要功能1. 包含多种仿真模型类型2. 包含非计划性动作3. 区分不同类型设备的加工速率4. 特殊的复杂操作SMT2020 数据概览1. AutoSched 仿真模型数据2. General Data 输入数据问题背景 在半导体的生产制造当中,由于晶元片及设备等的高价值性,…

CSP-201812-1-小明上学

CSP-201812-1-小明上学 解题思路 #include <iostream> using namespace std; int main() {int red, yellow, green, n, timeSum 0;cin >> red >> yellow >> green;cin >> n;for (int i 0; i < n; i){int flag, time;cin >> flag &g…

分享视频二维码如何生成?怎么让其他人扫码查看自己的视频?

现在很多展示性的视频都会通过生成二维码的方式来传播分享&#xff0c;选择二维码的方式来分享能够更加快捷的获取视频内容&#xff0c;让更多人可以同时查看&#xff0c;有效提高视频传播的速度和效率。那么怎么制作视频二维码呢&#xff1f;其实方法很简单&#xff0c;只需要…

lvs DR模式+基于五台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群

lvs DR模式基于五台服务器部署keepalived lvs DR模式架构(前端带路由)负载均衡的高可用集群 DR模式一&#xff1a; 客户端&#xff1a;172.20.26.167 LVS服务器&#xff1a;172.20.26.198 后端服务器&#xff1a;172.20.26.218 后端服务器&#xff1a;172.20.26.210 两台…

三勾点餐系统源码,java后台+微信小程序 实现完整的餐厅点餐

三勾点餐系统基于javaspringbootelement-plusuniapp打造的面向开发的小程序商城&#xff0c;方便二次开发或直接使用&#xff0c;可发布到多端&#xff0c;包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 功能介绍 1.…

【牛客面试必刷TOP101】Day23.BM27 按之字形顺序打印二叉树和BM30 二叉搜索树与双向链表

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…

java中的数据结构及数据类型转换

基本数据类型&#xff08;4类8种&#xff09; 数据类型关键字内存占用取值范围说明字节byte1个字节-128 ~ 127短整型short2个字节-32768 ~ 32767整型int&#xff08;默认&#xff09;4个字节-231 ~ 231-1&#xff08;21个亿&#xff09;长整型long8个字节-263 ~ 263-&#xff…

在字节划水的7年,太真实了。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 测试这条路是坎坷的&#xff0c;我自己深有体会。 我们的起点低…

高并发系统:常见的设计思路

高并发的书籍文章其实有很多&#xff0c;我们工作中也或多或少遇到过一些。今天这里总结下常见的思路。 一&#xff0c;分而治之。 这个是最容易想到的办法&#xff0c;这里面包含了几层思路。 1&#xff0c;产品设计。业务上就引导用户分开使用&#xff0c;按需购买&#xff…

力扣题目训练(15)

2024年2月8日力扣题目训练 2024年2月8日力扣题目训练507. 完美数520. 检测大写字母521. 最长特殊序列 Ⅰ221. 最大正方形237. 删除链表中的节点115. 不同的子序列 2024年2月8日力扣题目训练 2024年2月8日第十五天编程训练&#xff0c;今天主要是进行一些题训练&#xff0c;包括…

ViT: transformer在图像领域的应用

文章目录 1. 概要2. 方法3. 实验3.1 Compare with SOTA3.2 PRE-TRAINING DATA REQUIREMENTS3.3 SCALING STUDY3.4 自监督学习 4. 总结参考 论文&#xff1a; An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 代码&#xff1a;https://github.com…

C++中的constexpr

C中的constexpr 什么是constexpr&#xff1f; 在C中&#xff0c;constexpr是一个关键字&#xff0c;它用于声明常量表达式。这些表达式在编译时被计算&#xff0c;而不是在运行时。这意味着constexpr可以用于任何需要在编译时知道值的地方&#xff0c;例如数组的大小或模板参…

Python爬虫详解(一看就懂)

爬虫 爬虫是什么 爬虫简单的来说就是用程序获取网络上数据这个过程的一种名称。 爬虫的原理 如果要获取网络上数据&#xff0c;我们要给爬虫一个网址&#xff08;程序中通常叫URL&#xff09;&#xff0c;爬虫发送一个HTTP请求给目标网页的服务器&#xff0c;服务器返回数据…

机器学习---规则学习(序贯覆盖、单条规则学习、剪枝优化)

1. 序贯覆盖 回归&#xff1a; 分类&#xff1a; 聚类&#xff1a; 逻辑规则&#xff1a; 读作&#xff1a;若&#xff08;文字1且文字2且...&#xff09;&#xff0c;则目标概念成立 规则集&#xff1a;充分性与必要性&#xff1b;冲突消解&#xff1a;顺序规则、缺省规则…

nacos 2.3.1-SNAPSHOT 源码springboot方式启动(详细)附改造工程地址

文章时间是2024-2-18日&#xff0c;nacos默认develop分支&#xff0c;最新版是2.3.1-SNAPSHOT版本。 我们这里就以nacos最新版进行改造成springboot启动方式。 1. Clone 代码 nacos github地址&#xff1a;https://github.com/alibaba/nacos.git 根据上面git地址把源码克隆到…

【模板】负环 问题题解(spfa和bellman解决)

P3385 【模板】负环 题目描述 给定一个 n 个点的有向图&#xff0c;请求出图中是否存在从顶点 11 出发能到达的负环。 负环的定义是&#xff1a;一条边权之和为负数的回路。 输入格式 本题单测试点有多组测试数据。 输入的第一行是一个整数 T&#xff0c;表示测试数据的组…

[ai笔记10] 关于sora火爆的反思

欢迎来到文思源想的ai空间&#xff0c;这是技术老兵重学ai以及成长思考的第10篇分享&#xff01; 最近sora还持续在技术圈、博客、抖音发酵&#xff0c;许多人都在纷纷发表对它的看法&#xff0c;这是一个既让人惊喜也感到焦虑的事件。openai从2023年开始&#xff0c;每隔几个…

你知道什么是物联网MQTT么?

目录 你知道什么是物联网MQTT么&#xff1f;MQTT的基本概念MQTT的工作原理MQTT的应用场景MQTT的实例案例智能家居场景工业监控场景 你知道什么是物联网MQTT么&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的、基于发布/订阅模式…

深度学习:开启人工智能的未来探索之旅

科技的飞速发展使得人工智能&#xff08;AI&#xff09;成为当今科技领域的热点之一&#xff0c;其中&#xff0c;深度学习作为人工智能的关键技术&#xff0c;正逐渐成为推动AI发展的强大引擎。本文将深入探讨深度学习在人工智能未来发展中的关键作用&#xff0c;以及它如何推…

24 双非计算机秋招总结

引言 我整理了一份 10w 字数的前端技术文档&#xff08;飞书&#xff09;&#xff0c;地址&#xff1a;https://qx8wba2yxsl.feishu.cn/docx/Vb5Zdq7CGoPAsZxMLztc53E1n0k?fromfrom_copylink&#xff0c;欢迎对前端感兴趣的同学查看、共建、分享。 PS&#xff1a;我是一名大四…