Sparks613 2022-06-20 12:31 采纳率: 100%
浏览 35
已结题

管理员登录界面*下面的}有错,该如何改(语言-c语言)

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

struct stuscore
{
char course[10][20]; //课程名称
int coursenumber; //课程门数
int number; //学生学号
char name[8]; //学生姓名
double score[10]; //学生成绩
double average; //平均分
double sum; //总分
};

void scoreinput(struct stuscore *p_stuscorelib); //成绩录入
void scoremodify(struct stuscore *p_stuscorelib); //成绩修改
void scorequery(struct stuscore *p_stuscorelib); //成绩查询
void scorebrowse(struct stuscore *p_stuscorelib); //成绩浏览
void scoredelete(struct stuscore *p_stuscorelib); //成绩删除
void printrecode(struct stuscore *p_stuscorelib, int count); //显示学生成绩
int readscore(struct stuscore *p_stuscorelib); //读取学生成绩,并返回学生成绩记录数

FILE *fp=NULL; //定义学生成绩数据库文件指针
/

#define MAX_LINE 1024
char **strsplit(char str, char delimiter)
{
char group;
int i,j,k;
int m=9,n=20;
group=(char
)malloc(sizeof(char
)m);
for(i=0;i<m;i++)
{
group[i]=(char
)malloc(sizeof(char)*n);
}
//char group[9][20];
int len;
k=0;
j=0;
len = strlen(str);
for(i=0;i<len;i++)
{
if(str[i]!=delimiter)
{
group[k][j]=str[i];
j++;
}
else
{
group[k][j]='\0';
k++;
j=0;
}
}
return group;
}

int main()
{
char buf[MAX_LINE];
char name_array[150][20];
FILE* fp;
int len;
printf("这里打印\n");
char *temp;
char number[20], classname[20], name[20];
int a, b, c, d, e, f;
int i;
if ((fp = fopen("D:\C_code\test\1_1_ANSI.txt", "r")) == NULL)
{
exit(1); // \n \t \0
}
while(fgets(buf, MAX_LINE, fp) !=NULL)
{
len = strlen(buf);
buf[len-1] = '\0';
printf("%s %d \n" , buf, len - 1);

    // 方法1   strtok
     temp = strtok(buf, ",");
     while(temp)
    {
         printf("%s!", temp);
         temp = strtok(NULL, ",");
    }
    printf("\n");

   }
    return 0;
}

{
[Error] expected unqualified-id before '{' token
int i = 0;//假设密码是123456
char password[20] = { 0 };
for (i = 0; < 3;++)
{
printf("请输入密码:>");
scanf("%s", password);
if (strcmp(password, "123456") == 0)
{
printf("登陆成功\n");
break;
}
else
{
printf("密码错误\n");
}
}
if (== 3)
{
printf("三次密码错误,退出登录\n");
exit(0);
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-06-20 13:30
    关注

    供参考:

    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    #define MAX_LINE 1024
    struct stuscore
    {
        char   course[10][20]; //课程名称
        int    coursenumber; //课程门数
        int    number; //学生学号
        char   name[8]; //学生姓名
        double score[10]; //学生成绩
        double average; //平均分
        double sum; //总分
    };
    
    void scoreinput(struct stuscore* p_stuscorelib); //成绩录入
    void scoremodify(struct stuscore* p_stuscorelib); //成绩修改
    void scorequery(struct stuscore* p_stuscorelib); //成绩查询
    void scorebrowse(struct stuscore* p_stuscorelib); //成绩浏览
    void scoredelete(struct stuscore* p_stuscorelib); //成绩删除
    void printrecode(struct stuscore* p_stuscorelib, int count); //显示学生成绩
    int readscore(struct stuscore* p_stuscorelib); //读取学生成绩,并返回学生成绩记录数
    
    FILE* fp = NULL; //定义学生成绩数据库文件指针
    
    char** strsplit(char* str, char delimiter)
    {
        char** group;
        int i, j, k;
        int m = 9, n = 20;
        group = (char**)malloc(sizeof(char*) * m);
        for (i = 0; i < m; i++)
        {
            group[i] = (char*)malloc(sizeof(char) * n);
        }
        //char group[9][20];
        int len;
        k = 0;
        j = 0;
        len = strlen(str);
        for (i = 0; i < len; i++)
        {
            if (str[i] != delimiter)
            {
                group[k][j] = str[i];
                j++;
            }
            else
            {
                group[k][j] = '\0';
                k++;
                j = 0;
            }
        }
        return group;
    }
    int login()
    {
        //[Error] expected unqualified - id before '{' token
        int i = 0;//假设密码是123456
        char password[20] = { 0 };
        for (i = 0; i < 3; i++)
        {
            printf("请输入密码:>");
            scanf("%s", password);
            if (strcmp(password, "123456") == 0)
            {
                printf("登陆成功\n");
                return  1;  //break;
            }
            else if (i < 3 - 1)
            {
                printf("密码错误,还有%d次机会!\n", 3 - i - 1);
            }
        }
        if (i == 3)
        {
            printf("三次密码错误,退出登录\n");
            return 0; //exit(0);
        }
    }
    
    int main()
    {
        char buf[MAX_LINE];
        char name_array[150][20];
        FILE* fp;
        int len;
        printf("这里打印\n");
        char* temp;
        char number[20], classname[20], name[20];
        int a, b, c, d, e, f;
        int i;
        if (login())
            printf("登录成功,继续...");
        else {
            printf("登录失败,退出运行。");
            exit(0);
        }
        if ((fp = fopen("D:\\C_code\\test\\1_1_ANSI.txt", "r")) == NULL)
        {
            exit(1); // \n \t \0
        }
        while (fgets(buf, MAX_LINE, fp) != NULL)
        {
            len = strlen(buf);
            buf[len - 1] = '\0';
            printf("%s %d \n", buf, len - 1);
    
            // 方法1   strtok
            temp = strtok(buf, ",");
            while (temp)
            {
                printf("%s!", temp);
                temp = strtok(NULL, ",");
            }
            printf("\n");
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 6月20日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来