嵌入式第九天学习

第九天学习

课外知识

ai的简洁循环

c 复制代码
const char *prompt[3] = {"请输入你的名字:", "请输入你的学号:", "请输入你的成绩:"};

for (int i = 0; i < 3; ++i) {
    printf("%s", prompt[i]);
    scanf("%31s", massage[time1][i]);   // %31s 防止写越界
}
c 复制代码
#include <stdio.h>

int main(void) {
    int n;
    printf("请输入元素个数:");
    if (scanf("%d", &n) != 1 || n <= 0 || n > 1000) {
        fprintf(stderr, "非法个数!\n");
        return 1;
    }

    int a[n];           // C99 可变长数组(VLA)
    printf("请输入 %d 个整数:", n);
    for (int i = 0; i < n; ++i) {
        if (scanf("%d", &a[i]) != 1) {
            fprintf(stderr, "输入错误!\n");
            return 1;
        }
    }

    /* 打印验证 */
    for (int i = 0; i < n; ++i)
        printf("%d ", a[i]);
    puts("");
    return 0;
}

一句话总结:

给 %c/% 等不自动跳过空白的格式加前导空格 是最简单、最通用的"吃掉换行符"技巧。

c 复制代码
scanf(" %c", &ch);   // %c 前面有空格

查询系统

#include <stdio.h>

#include <string.h>

#include <windows.h>

char name11032;

char password11032;

char name\[\] = {0};

char password\[\] = {0};

int num = 0;

char massage10332;

void menu()

{

printf("*********\n");
printf("***** 1.创建账户 \n");
printf("
2.登录账户 \n");
printf("
3.查询信息 \n");
printf("
4.退出 \n");
printf("
\n");

}

void creat()

{

printf("正在创建账户,请稍等。 \n");

Sleep(1000);

while (1)

{

printf("请输入账号:");

scanf(" %s", name1num);

printf("%s", name1num);

printf("请输入密码:");

scanf(" %s", password1num);

printf("账号为:%s ,密码为:%s \n", name1num, password1num);

num++;

break;

}

}

void getin()

{

int time1 = num;

int time2 = num;

int flag = 0;

while (1)

{

err:

printf("请输入账号:\n");

scanf(" %s", name);

// while (getchar() != '\n')

// {}

while (time1 + 1)

{

int true1 = strcmp(name, name1time1);

if (true1 == 0)

{

break;

}

time1--;

if (time1 == -1)

{

printf("账号错误请重新输入! \n");

goto err;

}

}

break;

}

while (1)

{

err1:

printf("请输入密码: \n");

scanf(" %s", password);

while (getchar() != '\n')

{

}

while (time2 + 1)

{

int true2 = strcmp(password, password1time2);

if (true2 == 0)

{

break;

}

time2--;

}

if (time2 == -1)

{

printf("密码错误请重新输入! \n");

goto err1;

}

break;

}

for (int i = 0; i < 3; i++)

{

if (i == 0)

{

printf("请输入你的名字:");

scanf(" %s", massagetime1i);

continue;

}

if (i == 1)

{

printf("请输入你的学号:");

scanf(" %s", massagetime1i);

continue;

}

if (i == 2)

{

printf("请输入你的成绩:");

scanf(" %s", massagetime1i);

continue;

}

}

printf("您查询的序号为:%d \n", time1);

}

void found()

{

printf("请输入你的查询序号:");

int a = 0;

scanf(" %d", &a);

for (int i = 0; i < 3; i++)

{

switch (i)

{

case 0:

printf("您的名字为:%s \n", massageai);

break;

case 1:

printf("您的学号为:%s \n", massageai);

break;

case 2:

printf("您的成绩为:%s \n", massageai);

break;

default:

break;

}

}

}

int main(int argc, char const *argv\[\])

{

复制代码
menu();
int chose = 0;
printf("请输入你的选择:");
while (1)
{
    scanf("%d", &chose);
    if (chose == 1)
    {
        creat();
        Sleep(1000);
        menu();
        continue;
    }

    if (chose == 2)
    {
        getin();
        Sleep(1000);
        menu();
        continue;
    }
    if (chose == 3)
    {
        found();
        Sleep(1000);
        menu();
        continue;
    }
    if (chose == 4)
    {
        printf("下次再见!");
        break;
    }
    else
    {
        printf("选择错误,请重新输入:");
        continue;
    }
}
return 0;

}

相关推荐
星恒随风几秒前
Python 基础语法详解(3):顺序语句、条件语句和循环语句一篇讲清楚
开发语言·笔记·python·学习
worilb几秒前
Spring Cloud 学习与实践(6):Nacos 配置中心
数据库·学习·spring cloud
CHHH_HHH几秒前
【C++】红黑树:比AVL树更实用的平衡二叉搜索树
开发语言·数据结构·c++·算法·stl
SoftLipaRZC3 分钟前
C语言文件:文件操作完全指南
android·java·c语言
零陵上将军_xdr4 分钟前
API 签名防重放机制:基于 HMAC-SHA256 的设计与实现
java·学习·安全架构
数智工坊4 分钟前
周志华《Machine Learning》学习笔记--第九章--聚类
笔记·学习·机器学习
Lazionr6 分钟前
基础算法 | 模拟算法练习
c++·算法
Amazing_Cacao6 分钟前
CFCA精品可可品鉴师初级防御战:刺破营销故事幻象,划定极其硬核的瑕疵风味物理边界
学习
爱喝水的鱼丶9 分钟前
SAP-ABAP:SAP 内存管理详解:从架构到优化
开发语言·学习·架构·sap·abap·内存管理
老H科研技术10 分钟前
第 02 篇:5 分钟搭建第一个 MCP 服务器
大数据·运维·服务器·人工智能·学习·aigc·ai编程