当前位置: 首页 > news >正文

【C】数组及其字符串

数组及其字符数组的基本知识点,以及一个编写一个系统登录界面,输入用户名(chen)和密码(1234),用户名只能输入字符8位,密码只能输入数字12位,使用光标定位函数

例:编写一个系统登录界面,输入用户名(chen)和密码(1234),用户名只能输入字符8位,密码只能输入数字12位,使用光标定位函数

#include<stdio.h>
#include <windows.h>//gotoxy()函数头文件
#include<conio.h>//getch()函数头文件void gotoxy(int x, int y)//形参
{HANDLE hOut;COORD pos = {x, y};// 光标的起始位(第1列,第3行) 0是第1列 2是第3行hOut = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut, pos);//printf("定位光标位置搜索(%d,%d)\n",pos.X,pos.Y);
}
void paintWindow(int startX,int startY,int width,int height)
{int i=0;int j=0;//起始位置gotoxy(startX,startY);printf("╔");for(i=0;i<width-2;i++){printf("═");}printf("╗");for(j=0;j<height-2;j++){gotoxy(startX,startY+1+j);printf("║");for(i=0;i<width-2;i++){printf(" ");}printf("║");}gotoxy(startX,startY + height-1);printf("╚");for(i=0;i<width-2;i++){printf("═");}printf("╝");gotoxy(20,7);printf("OrderDish点菜系统");
}int main()
{int i=0;char ch;int count=0;char userName[20]={0};char passwd[20]={0};paintWindow(5,5,50,20);gotoxy(15,10);printf("用户名:");gotoxy(15,12);printf("密码:");gotoxy(22,10);while(1){while(1){ch=getch();if(count>=8)//只能输入8位{break;}if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){userName[i]=ch;putch(ch);i++;count++;}else if(ch==13) break;//13为回车的ascll码值else if(ch=='\b')//删除的转义字符{if(count>0){printf("\b \b");count--;userName[i]='\0';}}}gotoxy(22,12);count=0;i=0;while(1){ch=getch();if(count>=12)//只能输入12位{break;}if(ch>='0'&&ch<='9'){passwd[i]=ch;putch('*');i++;count++;}else if(ch==13) break;else if(ch=='\b')//删除的转义字符{if(count>0){printf("\b \b");count--;passwd[i]='\0';}}}gotoxy(22,18);if(strcmp(userName,"chen")==0&&strcmp(passwd,"1234")==0){printf("登录成功!\n");break;}else{printf("用户名或密码错误!请重新输入!");i=0;count=0;memset(userName,0,sizeof(userName));//将数组里的值初始化memset(passwd,0,sizeof(passwd));system("cls");//刷新屏幕paintWindow(5,5,50,20);gotoxy(15,10);printf("用户名:");gotoxy(15,12);printf("密码:");gotoxy(24,10);}}return 0;
}

相关文章:

【C】数组及其字符串

数组及其字符数组的基本知识点&#xff0c;以及一个编写一个系统登录界面&#xff0c;输入用户名&#xff08;chen&#xff09;和密码&#xff08;1234&#xff09;&#xff0c;用户名只能输入字符8位&#xff0c;密码只能输入数字12位&#xff0c;使用光标定位函数 例&#xf…...

Python 代码实现对《红楼梦》文本的词频统计和数据可视化

Python 代码主要实现了对《红楼梦》文本的词频统计和数据可视化 完整详细下载地址&#xff1a;https://download.csdn.net/download/huanghm88/89879439 python """ 实训4 基于词频的篇章语义相似度与红楼梦内容分析 步骤3 针对红楼梦词频的数据可视化 &qu…...

yjs机器学习数据操作01——数据的获取、可视化

数据的获取 1.库与模块&#xff1a; import sklearnfrom sklearn import datasets 2.数据集获取的API及解释 对于sklearn的数据获取&#xff0c;主要分为两大部分&#xff0c;分别是“小数据集的获取——load_xxx”和“大数据集的获取fetch_xxx” a.datasets.load_xxx(): …...

w~自动驾驶合集9

我自己的原文哦~ https://blog.51cto.com/whaosoft/12320882 #自动驾驶数据集全面调研 自动驾驶技术在硬件和深度学习方法的最新进展中迅速发展&#xff0c;并展现出令人期待的性能。高质量的数据集对于开发可靠的自动驾驶算法至关重要。先前的数据集调研试图回顾这些数据集&…...

232. 用栈实现队列 【复习链表】-用自定义链表实现栈 用栈实现队列

232. 用栈实现队列 已解答 简单 相关标签 相关企业 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; void push(int x) 将元素 x 推到队列的末尾int pop() 从队…...

G-Set(增长集合,Grow-Only Set)

一、概念 G-Set&#xff08;增长集合&#xff0c;Grow-Only Set&#xff09;是一种冲突自由复制数据类型&#xff08;Conflict-Free Replicated Data Type, CRDT&#xff09;&#xff0c;用于在分布式系统中同步和合并数据&#xff0c;而不需要中央协调器。G-Set 支持两种操作…...

《Vue.js 组件开发秘籍:从基础到高级》

Vue.js 组件开发是构建 Vue 应用程序的核心方法之一。以下是对 Vue.js 组件开发的介绍&#xff1a; 一、什么是 Vue.js 组件&#xff1f; 在 Vue.js 中&#xff0c;组件是可复用的 Vue 实例&#xff0c;它们封装了特定的功能和用户界面。每个组件都有自己独立的模板、逻辑和样…...

【Next.js 项目实战系列】03-查看 Issue

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】02-创建 Issue 查看 Issue 展示 Issue​ 本节代码链接 首先使用 prisma 获取所有…...

Android Settings 设置项修改

Settings 设置项 在 Android 系统上,WRITE_SETTINGS 这个权限从 API 1 就已经开始有了。 通过在 app 中设置权限 android.permission.WRITE_SETTINGS 允许 app 读/写 系统设置。 在官方文档的描述中,还有一段注意事项: Note: If the app targets API level 23 or higher,…...

Windows远程桌面到Ubuntu

在Ubuntu系统中&#xff0c;默认情况下root账户是被禁用的&#xff0c;为了安全起见&#xff0c;建议不要直接使用root账户登录图形界面。但是&#xff0c;如果出于特定的管理或维护需求&#xff0c;您可以按照以下步骤启用和使用root账户登录图形界面&#xff1a; 启用root账户…...

解释 RESTful API,以及如何使用它构建 web 应用程序(AI)

RESTful API&#xff08;Representational State Transfer&#xff09;是一种基于HTTP协议的软件架构风格&#xff0c;用于构建可扩展、可维护和可重用的网络服务。 RESTful API的特点包括&#xff1a; 1. 基于资源&#xff1a;每个API都代表一个或多个资源&#xff0c;这些资…...

NestJs:处理身份验证和授权

使用 Nest.js 开发项目时&#xff0c;处理身份验证和授权是常见的需求&#xff0c;可以采用以下架构和实现方式。 架构 用户认证模块 (Auth Module): 服务 (Service): 处理用户登录逻辑&#xff0c;生成 JWT&#xff08;JSON Web Token&#xff09;&#xff0c;以及验证 token…...

Java EE规范

1、简介 Java EE的全称是Java Platform, Enterprise Edition。早期Java EE也被称为J2EE&#xff0c;即Java 2 Platform Enterprise Edition的缩写。从J2EE1.5以后&#xff0c;就改名成为Java EE。一般来说&#xff0c;企业级应用具备这些特征&#xff1a;1、数据量特别大&…...

Ollama及其Open-WebUI部署更新

目录 1 安装ollama 2 安装Open-WebUI 2.1 不使用容器安装open-webui 2.2 使用Docker安装open-webui 2.3 基于docker升级open-webui 1 安装ollama curl -fsSL https://ollama.com/install.sh | sh启动、关闭ollama systemctl start ollama systemctl stop ollama sys…...

手写 | 设计模式

这里写目录标题 观察者 vs 发布订阅 观察者 vs 发布订阅 参考代码 观察者模式&#xff0c;一对多&#xff0c;两个角色&#xff1a;观察者observer和被观察者/主题Subject。 Subject维护一个数组&#xff0c;记录有哪些Observer&#xff1b;通过调自身的noticefy方法&#xf…...

基于深度学习的地形分类与变化检测

基于深度学习的地形分类与变化检测是遥感领域的一个关键应用&#xff0c;利用深度学习技术从卫星、无人机等地球观测平台获取的遥感数据中自动分析地表特征&#xff0c;并识别地形的变化。这一技术被广泛应用于城市规划、环境监测、灾害预警、土地利用变化分析等领域。 1. 地形…...

进程、线程、协程

文章目录 前言一、易混概念1.1 同步vs异步1.2 并发vs并行 二、进程&#xff08;Process&#xff09;2.1进程概念2.2 进程三个基本状态2.3多进程方式编程 三、线程&#xff08;Thread&#xff09;3.1 线程的引入3.2 线程概念3.3 多线程编程3.4 GIL对多线程的影响3.5 GIL是否意味…...

嵌入式工程师成长之路(1)——元件基础(完整版)

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言一、认识元件①、认识元件②、认识封装二、电阻1.上拉电阻与下拉电阻①、定义②、应用③、阻值选择④、因上下拉电…...

在Ubuntu 20.04 上安装 CoppeliaSim

在 Ubuntu 20.04 上安装 CoppeliaSim Edu V4.6.0 rev18 的步骤如下&#xff1a; 1. 下载安装文件: 首先&#xff0c;确保您已经下载了 CoppeliaSim_Edu_V4_6_0_rev18_Ubuntu20_04.tar.xz 文件。您可以从 Coppelia Robotics 的官方网站下载。 2. 解压缩文件: 打开终端&#…...

pulseaudio的相关操作(二)

这篇文章主要介绍pulseaudio playback的相关API&#xff0c;pulseaudio playback的具体实例可以参考[2]。如果用pulseaudio实现playback&#xff0c;简单地说就是创建一个playback stream&#xff0c;然后指定这个stream的sink&#xff0c;再定期的向这个stream中写数据。 mai…...

Selenium自动化测试工具

一 .Selenium简介 是一个用于Web应用程序测试的工具 Selenium的核心功能之一是测试软件在不同浏览器和操作系统上的兼容性&#xff0c;确保软件功能与用户需求的一致性&#xff0c;提升用户体验。 自动化脚本生成与执行 Selenium支持自动录制用户操作并生成多种编程语言的测…...

优化UVM环境(九)-将interface文件放在env pkg外面

书接上回&#xff1a; 优化UVM环境&#xff08;八&#xff09;-整理project_common_pkg文件 My_env_pkg.sv里不能包含interface&#xff0c;需要将my_intf.sv文件放在pkg之外...

mysql 主从安装

登录看第二篇 WINDOWS系统搭建MYSQL 8.0主从模式_windows mysql8.0.34主从配置-CSDN博客 Windows下MySQL8.0最新版本超详细安装教程_windowsserver安装mysql8.0-CSDN博客 启动两个服务 可执行文件路径一致问题解决&#xff1a; windows&#xff0c;同一台机器安装两个mysq…...

【C++刷题】力扣-#121-买卖股票的最佳时机

题目描述 给定一个数组 prices&#xff0c;其中 prices[i] 表示第 i 天的股票价格。假设你可以在第 i 天买入并在第 j 天卖出股票&#xff08;i ≤ j&#xff09;&#xff0c;设计一个算法来计算你所能获取的最大利润。注意你只能持有一股股票&#xff0c;并且你不能同时参与多…...

Python量化交易(二):金融市场的基础概念

引言 大家好&#xff0c;我是GISer Liu&#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年10月学习赛的Python量化交易学习总结文档&#xff1b;在现代社会中&#xff0c;投资已成为个人、机构和政府追求财富增长和资源配置的重要方式。…...

Java方法的递归调用

Java中的方法可以通过调用自身来实现递归调用。 递归调用在解决一些问题时非常有用&#xff0c;特别是那些可以分解为相同结构的子问题的情况。递归调用可以让问题的解决过程更加简洁和优雅。 下面是一个简单的示例&#xff0c;展示了如何使用递归调用来计算一个数字的阶乘&a…...

JavaScript 第30章:综合项目

看起来您想要了解如何在一个JavaScript为主的项目中进行项目规划、技术选型、开发流程以及维护等方面的内容&#xff0c;并且希望结合Java的源代码来进行详细的讲解。不过&#xff0c;JavaScript和Java是两种不同的编程语言&#xff0c;通常它们的应用场景也不同。JavaScript 主…...

GB/T28181-2022规范解读、应用场景和技术实现探究

GB/T28181-2022和GB/T28181-2016区别 GB/T28181-2022《公共安全视频监控联网系统信息传输、交换、控制技术要求》与 GB/T28181-2016 相比&#xff0c;主要有以下区别&#xff1a; 术语和定义方面&#xff1a; 术语删减&#xff1a;GB/T28181-2022 删除了 “联网系统信息”“数…...

Docker容器间链路管理

Docker容器是一个轻量级的、可移植的软件打包技术&#xff0c;它允许开发者将应用程序及其依赖项打包到一个独立的容器中&#xff0c;然后发布到任何支持Docker的环境中运行。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口&#xff0c;容器性能开销极低。 可以将…...

python画图|在三维空间的不同平面上分别绘制不同类型二维图

【1】引言 前序已经完成了基础的二维图和三维图绘制教程探索&#xff0c;可直达的链接包括但不限于&#xff1a; python画图|3D参数化图形输出-CSDN博客 python画三角函数图|小白入门级教程_正余弦函数画图python-CSDN博客 在学习过程中&#xff0c;发现一个案例&#xff1…...

抚州企业网站做优化/台州网站优化公司

目录 0、概览 1、个人心得 2、总结 本文是对本人前面讲的的一些经典框架的汇总。 纯手打&#xff0c;如果有不足之处&#xff0c;可以在评论区里留言。 0、概览 &#xff08;1&#xff09;详解深度学习之经典网络架构&#xff08;一&#xff09;&#xff1a;LeNet &…...

淘宝网站的建设/长春网站seo哪家好

http://www.nj13z.cn/2004/down_view.asp?actiondownload&id14 http://www.japcn.com/tools/rational_perm.rar 转载于:https://www.cnblogs.com/Snowwolf/archive/2005/09/22/242349.html...

余姚做网站哪家好/新媒体推广渠道有哪些

一、安装Django 打开命令行窗口&#xff0c;或使用anaconda创建虚拟环境后&#xff1a; pip install django查看Django版本&#xff1a;python -m django --version 二、创建工程 2.1 创建工程 如果这是你第一次使用 Django 的话&#xff0c;你需要一些初始化设置。也就是…...

p2p网站审批/公司软文怎么写

1 安装miniconda建立文件夹&#xff1a;mkdir miniconda(文件夹名)html 下载软件安装包&#xff1a;cd miniconda(转到当前文件夹)web下载miniconda软件wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.shbash 执行程序&#xf…...

网站建设与技术团队/怎么营销一个产品

文章目录信号分解为正交函数1 矢量的正交分解2 信号的正交分解3 帕斯瓦尔定理信号分解为正交函数 1 矢量的正交分解 &#xff08;1&#xff09;矢量正交 复习&#xff1a;两矢量V1V_1V1​与V2V_2V2​正交&#xff0c;夹角为90 两正交矢量的内积为零 &#xff08;2&#x…...

中国山东网站建设/网站的营销策略

大家好&#xff0c;欢迎来到《刺激实战教室》&#xff0c;我是你们的老朋友刺激哥。在查看粉丝留言的时候&#xff0c;发现有粉丝想要刺激哥的灵敏度。需要提到的是&#xff0c;刺激哥本身是模拟器玩家&#xff0c;使用手机玩《和平精英》的时候&#xff0c;自身的实力也是非常…...