C语言随机点名系统(代码+论文+视频)

前几年做的,整理了一下,需要的私我。

系统介绍:

随机点名系统,包含以下功能模块:学生名单管理、点名流程管理、点名统计管理、点名清零。各个模块包含的功能如下:

  1. 学生名单管理:新增、删除、修改、查询学生信息;
  2. 点名流程管理:随机抽取需要点名的部分学生清单,到与未到的学生做出标记。
  3. 点名完成后,可以查看统计情况。
  4. 点名清零,点名统计清零,点名重新开始,一般在新学期开始等情况下使用。

部分截图:

 

部分代码:

 

int choice=0;
char arr[48] = {0};
P_NODE_T p_find=NULL;
FILE *fp11=fopen("2.txt","a+");
FILE *fp22=fopen("3.txt","a+");
    while (1)
    {
        printf("\n功能选择:\n1.显示所有名字\n2.查看已到学生\n3.查看未到学生\n4.查找学生\n5.删除学生\n6.添加学生\n7.修改学生姓名\n0.退出\n");
        scanf("%d",&choice);
        switch(choice){
        case 1:
            klist_print_all_node(p_head);//打印链表中的所有名字
            continue;

        case 2:
            printf("已到学生:");
            for (int i = 0; i < yes; i++)
            {
                fread(arr, sizeof(arr), 1, fp11);//从2.txt中读取名字
                printf("%s-",arr);
            }
            printf("\n");
            continue;

        case 3:
            printf("未到学生:");
            for (int i = 0; i < no; i++)
            {
                fread(arr, sizeof(arr), 1, fp22);//从3.txt中读取名字
                printf("%s-",arr);
            }
            printf("\n");
            continue;
        
        case 4:
            bzero(name,sizeof(name));
            printf("请输入要查找的名字:");
            scanf("%s",name);
            p_find = klist_search(p_head,name);//查找学生信息
            if(p_find==NULL)
            {
                printf("没有找到%s\n",name);
            }continue;
            
        case 5:
            bzero(name,sizeof(name));
            printf("请输入需要删除的名字:");
            scanf("%s",name);
            klist_del(p_head,name);//检索名字 并将链表内的名字删除
            printf("已删除\n");
            continue;

        case 6:
            insert_name(p_head);//生成一个名字
            fread(name, sizeof(name), 1, fp);
            klist_add_tail(NULL, p_head, name);//插入链表中
            printf("已将%s加入名单\n",name);
            continue;

        case 7:
            bzero(name,sizeof(name));
            printf("请输入要修改的姓名:");
            scanf("%s",name);
            klist_revise(p_head,name);//修改学生姓名
            continue;
            
        default:
            break;
        }
        break;
    }
    fclose(fp); 
    fclose(fp11);
    fclose(fp22);
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值