<数据结构>链式成绩管理系统

/*
名称:成绩管理系统(单链表实现)

功能:学生信息的添加、修改、删除、查找及显示

特点:加入两种查找方式,登录成绩管理系统需要密码
且密码,且有管理员和学生两种权限
(管理员账号:admin,管理员密码:admin
学生账号:student,学生密码:student);

update:
2013.5.20---成绩管理系统beta1(实现基本功能)
2013.5.29---成绩管理系统beta2(加入文件,内置
                                    网工三班前12号成绩(仅作者乱打的数据)
                                    修复删除了人之后不能马上添加的bug)
*/
#include <cstdio>
#include <cstring>
#include <cstdlib>

struct student
{
  long long no;//比如学号为:121052030*
  char name[20];//比如姓名为:蒲*
  float score[3];//数据结构,高数,英语三门学科成绩
  float sum;//总分
  float ave;//平均分
  struct student *next;//指向下一节点的指针
};

//初始化,有头结点
student *Init()
{
    student *stu;
    stu = (student *)malloc(sizeof(student));//动态分配内存
    stu->next = NULL;
    return stu;
}

//登陆函数
int Login()
{
    char Name[20];//用户名
    char Password[20];//密码
    printf("|*************************************|\n");
    printf("|*****欢迎进入Neusoft成绩管理系统*****|\n");
    printf("|*****         登陆              *****|\n");
    printf("       用户名:_____\b\b\b\b\b");
    scanf("%s", Name);
    printf("       密码:_____\b\b\b\b\b");
    scanf("%s", Password);
    printf("|*************************************|\n\n");
    //判断用户名和密码是否正确,以及权限
    if (!strcmp("admin", Name) && !strcmp("admin", Password))
    {
        return 2;
    }
    else if(!strcmp("student", Name) && !strcmp("student", Password))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

//菜单函数
int Menu()
{
    int select;
    printf("|*************************************|\n");
    printf("|*****欢迎进入Neusoft成绩管理系统*****|\n");
    printf("|*****       1.录入新学生信息    *****|\n");
    printf("|*****       2.查找学生信息      *****|\n");
    printf("|*****       3.修改学生信息      *****|\n");
    printf("|*****       4.删除学生信息      *****|\n");
    printf("|*****       5.显示学生信息      *****|\n");
    printf("|*****       6.退出              *****|\n");
    printf("|*************************************|\n");
    do//如果输入不合法的选项,就一直进行输入,知道输入正确的选项
    {
        printf("请输入你的选择:");
        scanf("%d", &select);
    }while (select>6 || select<1);
    return select;
}

//载入文件
void load(student *stu)
{
    FILE *fp;
    student *stuTemp;//哨兵指针
    student *stuNew;//新节点指针
    stuTemp = stu;

    //判断文件是否能正常打开
    if ((fp = fopen("student_list", "rb")) == NULL)
    {
        printf("Can't open file!\n");
        exit (0);
    }

    //到文件结束前,一次读取文件放到链表中
    while (!feof(fp))
    {
        stuNew = (student *)malloc(sizeof(student));
        if (fread(stuNew, sizeof(student), 1, fp)!=1)
        {
            if (feof(fp))
            {
                fclose(fp);
                return ;
            }
            printf("File read error!\n");
        }
        else
        {
            stuTemp->next = stuNew;
            stuTemp = stuNew;
        }
    }
    stuTemp = NULL;
    fclose(fp);//关闭文件
}

//信息写入文件函数
void save(student *stu)
{
    FILE *fp;
    student *stuTemp;//哨兵指针
    stuTemp = stu->next;//指向第一个信息节点
    //判断文件是否能正常打开
    if ((fp = fopen("student_list", "wb"
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>美丽GO</title> <h1>美丽GO<h1> <style> .h1{ justify-content: center; } .wrapper { display: flex; justify-content: center; } #left { display: flex; list-style: none; margin: 0; padding: 0; } #left li { display: inline-block; margin-right: 10px; } #content { display: flex; flex-wrap: wrap; justify-content: center; } #content div { flex: 1; margin: 10px; } img { max-width: 100%; } </style> <script src="jquery.min.js"></script> <script> $(function() { // 1. 鼠标经过左侧的小li $("#left li").mouseover(function() { // 2. 得到当前小li 的索引号 var index = $(this).index(); console.log(index); // 3. 让我们右侧的盒子相应索引号的图片显示出来就好了 // $("#content div").eq(index).show(); // 4. 让其余的图片(就是其他的兄弟)隐藏起来 // $("#content div").eq(index).siblings().hide(); // 链式编程; $("#content div").eq(index).show().siblings().hide(); }) }) </script> </head> <body> <div class="wrapper"> <ul id="left"> <li><a href="#">女靴</a></li> <li><a href="#">雪地靴</a></li> <li><a href="#">冬裙</a></li> <li><a href="#">呢大衣</a></li> <li><a href="#">毛衣</a></li> <li><a href="#">棉服</a></li> <li><a href="#">女裤</a></li> <li><a href="#">羽绒服</a></li> <li><a href="#">牛仔裤</a></li> <li><a href="#">男包</a></li> </ul> <div id="content"> <div> <a href="#"><img src="images/女靴.jpg" /></a> </div> <div> <a href="#"><img src="images/雪地靴.jpg" /></a> </div> <div> <a href="#"><img src="images/冬裙.jpg" /></a> </div> <div> <a href="#"><img src="images/呢大衣.jpg" /></a> </div> <div> <a href="#"><img src="images/毛衣.jpg" /></a> </div> <div> <a href="#"><img src="images/棉服.jpg" /></a> </div> <div> <a href="#"><img src="images/女裤.jpg" /></a> </div> <div> <a href="#"><img src="images/羽绒服.jpg" /></a> </div> <div> <a href="#"><img src="images/牛仔裤.jpg" /></a> </div> <div> <a href="#"><img src="images/男包.jpg" /></a> </div> </div> </div> </body> </html>如何将其代码改成表格形式
06-03

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值