takumi ୧⍢⃝୨ 2022-05-21 15:34 采纳率: 86.7%
浏览 23
已结题

struct结构体是函数还是结构图数据类型,这两个有怎么联系,能用//具体解释一下这些代码的意思嘛

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MAX_SIZE 20
//学生信息结构体
struct stu_information//这里使用了struct结构体
{
char Name[MAX_SIZE];
int Gender;
int Sno;
char ID[MAX_SIZE];
char telephone[MAX_SIZE];
char mailbox[MAX_SIZE];
char Cipher[MAX_SIZE];
}*s;
int num=0;
void EnterPassWard(char *passward);为什么是void
void logon();//这个是什么函数,有什么作用
int main()//这个主函数是在干什么
{
int flag=1;
char Flag,ch;
s=(struct stu_information )malloc(100sizeof(struct stu_information));
char UserName[MAX_SIZE];
char Cipher[MAX_SIZE];

while(1)这个是while选择语句嘛,他在干什么
{
    system("cls");//清空有什么作用
    printf("请选择一项服务:\n1.登录已有账号\n2.注册新用户\n");
    flag=getch();
    if(flag==49)
    {  system("cls");
        printf("输入用户名:");
        scanf("%s",UserName);

L1: printf("密码:");
EnterPassWard(Cipher);

        flag=CheckIfExist(UserName,Cipher,s);

        if(flag==0)
        {
            printf("密码错误!\n");
            goto L1;
        }
        else if(flag==-1)
        {
            printf("\n用户不存在!\n");
            printf("是否注册新用户?(Y/N)");
            getchar();
            scanf("%c",&Flag);
            if(Flag=='Y'|| Flag=='y')
                logon();
        }
  • 写回答

2条回答 默认 最新

  • 树下等苹果 2022-05-21 15:46
    关注

    注释如下:

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    #define MAX_SIZE 20
    //学生信息结构体
    struct stu_information//这里定义了struct结构体
    {
        char Name[MAX_SIZE];
        int Gender;
        int Sno;
        char ID[MAX_SIZE];
        char telephone[MAX_SIZE];
        char mailbox[MAX_SIZE];
        char Cipher[MAX_SIZE];
    }*s;
    int num = 0;
    void EnterPassWard(char* passward); // void:表示这个函数无返回值
    void logon();//这里只是函数声明,函数作用由你写的函数决定
    int main()//main函数是程序入口,运行程序后从main函数开始运行
    {
        int flag = 1;
        char Flag, ch;
        s = (struct stu_information)malloc(100sizeof(struct stu_information));
        char UserName[MAX_SIZE];
        char Cipher[MAX_SIZE];
    
        while (1)  //这个是while循环语句,while(1)保证代码一直处于循环当中,不会退出
        {
            system("cls");//清空屏幕,看着舒适
            printf("请选择一项服务:\n1.登录已有账号\n2.注册新用户\n");
            flag = getch();
            if (flag == 49)
            {
          system("cls");
         printf("输入用户名:");
         scanf("%s",UserName);
    L1: printf("密码:");
    EnterPassWard(Cipher);
    
            flag = CheckIfExist(UserName,Cipher,s);
    
            if (flag == 0)
            {
                printf("密码错误!\n");
                goto L1;
            }
            else if (flag == -1)
            {
                printf("\n用户不存在!\n");
                printf("是否注册新用户?(Y/N)");
                getchar();
                scanf("%c",&Flag);
                if (Flag == 'Y' || Flag == 'y')
                    logon();
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 已采纳回答 5月28日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用