哈工大慕课 学生成绩管理系统V3.0

题目内容:
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用二维字符数组作函数参数编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号、姓名和考试成绩;
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
(4)按成绩由低到高排出名次表;
(5)按学号由小到大排出成绩表;
(6)按姓名的字典顺序排出成绩表;
(7)按学号查询学生排名及其考试成绩;
(8)按姓名查询学生排名及其考试成绩;
(9)按优秀(90~ 100)、良好(80~ 89)、中等(70~ 79)、及格(60~ 69)、不及格(0~ 59)5个类别,统计每个类别的人数以及所占的百分比;
(10)输出每个学生的学号、姓名、考试成绩。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please enter your choice:
然后,根据用户输入的选项执行相应的操作。

请按照下面的定义及函数原型编程:
#define MAX_LEN 10 /* 字符串最大长度 /
#define STU_NUM 30 / 最多的学生人数 */
int Menu(void);
void ReadScore(long num[], char name[][MAX_LEN], float score[], int n);
void AverSumofScore(float score[], int n);
void SortbyScore(long num[], char name[][MAX_LEN], float score[], int n,
int (*compare)(float a, float b));
int Ascending(float a, float b);
int Descending(float a, float b);
void SwapFloat(float *x, float *y);
void SwapLong(long *x, long *y);
void SwapChar(char x[], char y[]);
void AsSortbyNum(long num[], char name[][MAX_LEN], float score[], int n);
void SortbyName(long num[], char name[][MAX_LEN], float score[], int n);
void SearchbyNum(long num[], char name[][MAX_LEN], float score[], int n);
void SearchbyName(long num[], char name[][MAX_LEN], float score[], int n);
void StatisticAnalysis(float score[], int n);
void PrintScore(long num[], char name[][MAX_LEN], float score[], int n) ;

程序运行结果示例:
Input student number(n<30):
6↙
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
1↙
Input student’s ID, name and score:
11003001↙
lisi↙
87↙
11003005↙
heli↙
98↙
11003003↙
ludi↙
75↙
11003002↙
dumo↙
48↙
11003004↙
zuma↙
65↙
11003006↙
suyu↙
100↙

Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
2↙
sum=473,aver=78.83
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
3↙
Sort in descending order by score:
11003006 suyu 100
11003005 heli 98
11003001 lisi 87
11003003 ludi 75
11003004 zuma 65
11003002 dumo 48
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
4↙
Sort in ascending order by score:
11003002 dumo 48
11003004 zuma 65
11003003 ludi 75
11003001 lisi 87
11003005 heli 98
11003006 suyu 100
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
5↙
Sort in ascending order by number:
11003001 lisi 87
11003002 dumo 48
11003003 ludi 75
11003004 zuma 65
11003005 heli 98
11003006 suyu 100
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
6↙
Sort in dictionary order by name:
11003002 dumo 48
11003005 heli 98
11003001 lisi 87
11003003 ludi 75
11003006 suyu 100
11003004 zuma 65
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
7↙
Input the number you want to search:
11003004↙
11003004 zuma 65
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
8↙
Input the name you want to search:
heli↙
11003005 heli 98
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
9↙
<60 1 16.67%
60-69 1 16.67%
70-79 1 16.67%
80-89 1 16.67%
90-99 1 16.67%
100 1 16.67%
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
10↙
11003002 dumo 48
11003005 heli 98
11003001 lisi 87
11003003 ludi 75
11003006 suyu 100
11003004 zuma 65
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
11↙
Input error!
Management for Students’ scores
1.Input record
2.Caculate total and average score of course
3.Sort in descending order by score
4.Sort in ascending order by score
5.Sort in ascending order by number
6.Sort in dictionary order by name
7.Search by number
8.Search by name
9.Statistic analysis
10.List record
0.Exit
Please Input your choice:
0↙
End of program!

代码实现

#include <stdio.h>
#include <string.h>
#define   MAX_LEN  10        	/* 字符串最大长度 */
#define   STU_NUM 30         /* 最多的学生人数 */
int   Menu(void);        	/*输出题设菜单并输入选择*/
void  ReadScore(long num[], char name[][MAX_LEN], float score[], int n);        	/*选项1 录入每个学生的学号、姓名和考试成绩*/
void  AverSumofScore(float score[], int n);        	/*选项2 计算课程的总分和平均分*/
void  SortbyScore(long num[], char name[][MAX_LEN], float score[], int n,int (*compare)(float a, float b));         /*选项3.4 按成绩排出名次表*/
int   Ascending(float a, float b);           /*返回a>b是否为真*/
int   Descending(float a, float b);          /*返回a<b是否为真*/
void  SwapFloat(float *x, float *y);         /*转换*x,*y对应的值*/
void  SwapLong(long *x, long *y);         /*转换*x,*y对应的值*/
void  SwapChar(char x[], char y[]);         /*转换x[],y[]对应的值*/
void  AsSortbyNum(long num[], char name[][MAX_LEN], float score[], int n);           /*选项5 按学号由小到大排出成绩表*/
void  SortbyName(long num[], char name[][MAX_LEN], float score[], int n);            /*选项6 按姓名的字典顺序排出成绩表*/
void  SearchbyNum(long num[], char name[][MAX_LEN], float score[], int n);           /*选项7 按学号查询学生排名及其考试成绩*/
void  SearchbyName(long num[], char name[][MAX_LEN], float score[], int n);          /*选项8 按姓名查询学生排名及其考试成绩*/
void  StatisticAnalysis(float score[], int n);           /*选项9 输出百分比*/
void  PrintScore(long num[], char name[][MAX_LEN], float score[], int n);            /*输出每个学生的学号、姓名和考试成绩*/
int main()
{
    long num[STU_NUM];
    float score[STU_NUM];
    char name[STU_NUM][MAX_LEN];
    int n, co;
    printf("Input student number(n<30):\n");
    scanf("%d", &n);
    while(1)
    {
        co=Menu();
        switch(co)
        {
        case 1:
            ReadScore(num, name, score, n);
            break;
        case 2:
            AverSumofScore(score, n);
            break;
        case 3:
            SortbyScore(num, name, score, n, Descending);
            printf("Sort in descending order by score:\n");
            PrintScore(num, name, score, n);
            break;
        case 4:
            SortbyScore(num, name, score, n, Ascending);
            printf("Sort in ascending order by score:\n");
            PrintScore(num, name, score, n);
            break;
        case 5:
            AsSortbyNum(num, name, score, n);
            printf("Sort in ascending order by number:\n");
            PrintScore(num, name, score, n);
            break;
        case 6:
            SortbyName(num, name, score, n);
            printf("Sort in dictionary order by name:\n");
            PrintScore(num, name, score, n);
            break;
        case 7:
            SearchbyNum(num, name, score, n);
            break;
        case 8:
            SearchbyName(num, name, score, n);
            break;
        case 9:
            StatisticAnalysis(score, n);
            break;
        case 10:
            PrintScore(num, name, score, n);
            break;
        case 0:
            printf("End of program!");
            exit(0);
        default :
            printf("Input error!\n");
        }
    }
}
int   Menu(void)           /*输出题设菜单并输入选择*/
{
    int co;
    printf("Management for Students' scores\n\
1.Input record\n\
2.Caculate total and average score of course\n\
3.Sort in descending order by score\n\
4.Sort in ascending order by score\n\
5.Sort in ascending order by number\n\
6.Sort in dictionary order by name\n\
7.Search by number\n\
8.Search by name\n\
9.Statistic analysis\n\
10.List record\n\
0.Exit\n\
Please Input your choice:\n");
    scanf("%d", &co);
    return co;
}
void  ReadScore(long num[], char name[][MAX_LEN], float score[], int n)        	/*选项1 录入每个学生的学号、姓名和考试成绩*/
{
    int i;
    printf("Input student's ID, name and score:\n");
    for(i=0; i<n; i++)
    {
        scanf("%ld%s%f", &num[i], name[i], &score[i]);
    }
}
void  AverSumofScore(float score[], int n)        	/*选项2 计算课程的总分和平均分*/
{
    float sum=0;
    int i;
    for(i=0; i<n; i++)
    {
        sum+=score[i];
    }
    printf("sum=%.0f,aver=%.2f\n", sum, sum/n);
}
void  SortbyScore(long num[], char name[][MAX_LEN], float score[], int n,int (*compare)(float a, float b))         /*选项3.4 按成绩排出名次表*/
{
    int i, j;
    for(i=0; i<n-1; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if((*compare)(score[i], score[j]))
            {
                SwapFloat(&score[i], &score[j]);
                SwapChar(name[i], name[j]);
                SwapLong(&num[i], &num[j]);
            }
        }
    }
}
int   Ascending(float a, float b)           /*返回a>b是否为真*/
{
    return a>b;
}
int   Descending(float a, float b)          /*返回a<b是否为真*/
{
    return a<b;
}
void  SwapFloat(float *x, float *y)         /*转换*x,*y对应的值*/
{
    float temp;
    temp=*x;
    *x=*y;
    *y=temp;
}
void  SwapLong(long *x, long *y)         /*转换*x,*y对应的值*/
{
    long temp;
    temp=*x;
    *x=*y;
    *y=temp;

}
void  SwapChar(char x[], char y[])         /*转换x[],y[]对应的值*/
{
    char temp[MAX_LEN];
    strcpy(temp, x);
    strcpy(x, y);
    strcpy(y, temp);
}
void  AsSortbyNum(long num[], char name[][MAX_LEN], float score[], int n)           /*选项5 按学号由小到大排出成绩表*/
{
    int i, j;
    for(i=0; i<n-1; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if(num[i]>num[j])
            {
                SwapFloat(&score[i], &score[j]);
                SwapChar(name[i], name[j]);
                SwapLong(&num[i], &num[j]);
            }
        }
    }
}
void  SortbyName(long num[], char name[][MAX_LEN], float score[], int n)            /*选项6 按姓名的字典顺序排出成绩表*/
{
    int i, j;
    for(i=0; i<n-1; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if(strcmp(name[i], name[j])>0)
            {
                SwapFloat(&score[i], &score[j]);
                SwapChar(name[i], name[j]);
                SwapLong(&num[i], &num[j]);
            }
        }
    }
}
void  SearchbyNum(long num[], char name[][MAX_LEN], float score[], int n)           /*选项7 按学号查询学生排名及其考试成绩*/
{
    long se;
    int i, t=0;
    printf("Input the number you want to search:\n");
    scanf("%ld", &se);
    for(i=0; i<n; i++)
    {
        if(num[i]==se)
        {
            printf("%ld\t%s\t%.0f\n", num[i], name[i], score[i]);
            t=1;
        }
    }
    if(t==0)
    {
        printf("Not found!\n");
    }
}
void  SearchbyName(long num[], char name[][MAX_LEN], float score[], int n)          /*选项8 按姓名查询学生排名及其考试成绩*/
{
    char se[MAX_LEN];
    int i, t=0;
    printf("Input the name you want to search:\n");
    scanf("%s", se);
    for(i=0; i<n; i++)
    {
        if(strcmp(se, name[i])==0)
        {
            printf("%ld\t%s\t%.0f\n", num[i], name[i], score[i]);
            t=1;
        }
    }
    if(t==0)
    {
        printf("Not found!\n");
    }
}
void  StatisticAnalysis(float score[], int n)           /*选项9 输出百分比*/
{
    int d1, d2, d3, d4, d5, d6, i;
    for(i=0, d1=d2=d3=d4=d5=d6=0; i<n; i++)
    {
        if(score[i]<60){
            d1++;}
        else if(score[i]<70){
            d2++;}
        else if(score[i]<80){
            d3++;}
        else if(score[i]<90){
            d4++;}
        else if(score[i]<100){
            d5++;}
        else{
            d6++;}
    }
    printf("<60\t%d\t%.2f%%\n", d1, 100*(float)d1/n);
    printf("%d-%d\t%d\t%.2f%%\n", 60, 69, d2, 100*(float)d2/n);			/*这里按题意应该用循环的,但是用了有点麻烦*/
    printf("%d-%d\t%d\t%.2f%%\n", 70, 79, d3, 100*(float)d3/n);
    printf("%d-%d\t%d\t%.2f%%\n", 80, 89, d4, 100*(float)d4/n);
    printf("%d-%d\t%d\t%.2f%%\n", 90, 99, d5, 100*(float)d5/n);
    printf("%d\t%d\t%.2f%%\n", 100, d6, 100*(float)d6/n);
}
void  PrintScore(long num[], char name[][MAX_LEN], float score[], int n)            /*输出每个学生的学号、姓名和考试成绩*/
{
    int i;
    for(i=0; i<n; i++)
    {
        printf("%ld\t%s\t%.0f\n", num[i], name[i], score[i]);
    }
}
  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 一、系统介绍 1 二、总体设计 1 2.1程序模块 1 2.2.函数分析 1 2.3.总体结构 2 三.主要模块的实现 3 四.程序调试 6 五.总结与体会 13 六.源程序清单 14 一、系统介绍 成绩管理系统主要管理学生考试成绩的基本信息。在系统中,每个学生是一条记 录,包括姓名学号、所选课程,而每个学生对应课程有相应成绩。系统要对一个有 N个学生的班级所选课程成绩统一进行管理。包括了学生成绩的录入、显示、修改、 排序、保存等操作。 二、总体设计 2.1程序模块 主界面 void homepage(); 显示全部成绩 void display(); 录入 插入 void input(); 删除记录 void del(); 排序 void sort(); 等待界面 void waiting(); 退出界面 void quit(); 2.2.函数分析 主函数 :调用所定义的函数,实现本系统要求的功能 主界面函数 :显示主页面,并连接其它函数模块 显示函数 : 显示按要求查询的信息 录入 插入函数 :录入或插入所需信息 删除记录函数 : 删除数据中原有的信息 排序函数 : 按照要求排列出信息的顺序 等待界面函数 : 在显示期间一个缓冲页面 退出界面函数 : 退出现有页面并返回子菜单 2.3.总体结构 . 三.主要模块的实现 主函数(main) 通过对函数的调用实现录入、显示、修改、排序、保存等功能,有机的联系了所有的模 块,是整个系统正常完整的运行。 主页面函数void homepage() 这个函数主要利用了printf输出了完整的主页面,并且通过函数的调用使这个页面和本 程序的其他功能模块连接了起来! 显示全部成绩函数void display() 这个函数主要通过printf输出提示,操作者输入所查找方向,调用先前建立的数组中的 存储数据,再通过printf函数按照一定的顺序全部完整的输出出来。完成了整个成绩的 输出,显示。 录入插入函数void input() 这个函数先用到if语句判断输入成绩是否正确,for语句判断学号是否正确,然后用到f or,printf,scanf三的函数完成了对所有学生信息的录入,并且保存到系统中,又用if, else判断输入数量是否超出数组的容纳量 删除记录函数void del() 这个函数先用for,if来判断所输入信息是否属于该系统信息,找到信息后用del()函数删 除掉原有的信息,并且用if,else选择是否继续。 排序函数void sort() 这个函数用printf输出操作提示,可以用for,if来实现对每一种方式的排序,在按数字 时用通过函数的调用地方法完成进入每一种排序的页面。 退出界面函数void quit() 这个函数主要通过printf输出"谢谢是由本程序",完成对整个程序运行结束的提醒。 删除模式 输入信息 四.程序调试 五.总结与体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能 力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新 日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说 掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确, 从从拿到题目到完成整个编程,从理论到实践,在一个多星期的日子里,我学到很多很 多的的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到 过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真 正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到 问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时 在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得 不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故 。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指 导下,终于完成课程设计。同时,我也学得到很多实用的知识,在次,对给予过我帮助 的各位指导老师和所有同学表示忠心的感谢! 参考文献 《C语言程序设计案例教程》 张基温 编著 清华大学出版社 C程序设计 (第三版) 谭浩强 著 清华大学出版社 《C语言程序设计方法》 邓文新 张宏烈 著 哈尔滨工业大学出版社 《C语言课程设计案例精编》 中国水利水电出版社 六.源程序清单 #include<stdio.h> #include<string.h> #include<windows.h> #include<conio.h> void ho
### 回答1: 数据库系统哈工大慕课PDF是指哈尔滨工业大学开设的数据库系统慕课课程提供的学习资料的PDF文件。慕课是指大规模开放在线课程,通过网络平台提供的教育资源,而PDF则是一种常用的电子文档格式。 数据库系统是计算机科学中的一个重要领域,它涉及到数据的组织、存储、管理和检索的技术和方法。哈尔滨工业大学开设的数据库系统慕课课程旨在向广大学生和社会人士传授数据库系统的基本原理、数据库设计和实施的技术方法以及数据库管理和应用开发的相关知识。 通过学习数据库系统哈工大慕课PDF,学生可以了解数据库系统的基本概念和理论,掌握数据库设计和实施的方法,学习数据库查询语言和数据操作技术,以及了解数据库管理和应用开发的实践经验。PDF格式的学习资料便于学生在电子设备上进行阅读和学习,可以随时随地方便地获取课程内容。 数据库系统哈工大慕课PDF的内容包括课程的教学视频、讲义、习题和案例分析等。学生可以通过观看教学视频和阅读讲义,系统地学习数据库系统的相关知识。习题和案例分析可以帮助学生巩固所学知识,并提供实际应用的场景,加深对数据库系统的理解和应用能力。 总之,数据库系统哈工大慕课PDF是一份供学生学习数据库系统的电子学习资料,通过学习这份资料,学生可以获得数据库系统的基本知识和实践经验,提高数据库管理和应用开发的能力。同时,使用PDF格式也方便学生进行随时随地的学习。 ### 回答2: 数据库系统哈工大慕课PDF是指哈尔滨工业大学开设的关于数据库系统的在线课程,并且提供相应的PDF教材资料。该慕课的目的是帮助学习者全面了解数据库系统的原理、设计和应用。以下是对该课程的回答: 数据库系统是计算机科学中重要的一门课程,它涉及到数据的组织、存储和管理。哈工大慕课PDF是由哈尔滨工业大学为该课程提供的教学材料,以供学习者参考和复习。 该慕课的内容主要包括数据库的概述、关系数据模型、SQL语言、关系代数与关系演算、数据库设计与规范化、数据完整性与安全性、事务与并发控制、索引与查询优化等。通过学习该课程,学习者可以了解数据库系统的基本概念、理论和应用技术,并具备数据库设计与管理的基本能力。 哈工大慕课PDF提供了课程的教学材料,包括讲义、习题和参考答案等。这些PDF文档对于学习者来说具有很大的帮助,可以作为学习的重要参考资料。通过阅读这些教材,学习者可以更加系统地学习数据库系统的知识,理解概念和原理,掌握基本的数据库操作和设计技巧。 总之,数据库系统哈工大慕课PDF是一门重要的在线课程,在数据库系统的学习过程中起到了重要的指导作用。学习者可以通过这些教材,深入学习数据库系统的相关知识,提高自己的数据库设计和管理能力。 ### 回答3: 数据库系统哈工大慕课pdf是指哈尔滨工业大学开设的数据库系统慕课课程所提供的PDF文档资源。 数据库系统是计算机科学与技术领域中的重要学科,它研究如何组织和管理大量数据的存储、处理和检索。哈尔滨工业大学开设的数据库系统慕课课程是面向计算机专业学生和相关从业人员的一门课程,通过该课程可以系统地学习数据库系统的基本原理、技术和应用。 这门慕课课程的教学内容包括数据库系统的基本概念、关系数据库模型、SQL语言、数据库设计与规范化、索引与查询优化、事务与并发控制、存储和文件结构等。学习者可以通过该课程了解数据库系统的基本原理和相关技术,并掌握数据库的设计和应用能力。 在课程学习过程中,哈尔滨工业大学提供了相应的教学资源,其中包括PDF文档。这些PDF文档通常是课程讲义或教材的电子版,学生可以通过下载或在线阅读的方式获取。这些文档内容详实,包含了教学要点、案例分析和习题,有助于学生巩固课堂知识和进行自主学习。 总之,数据库系统哈工大慕课PDF是哈尔滨工业大学数据库系统慕课课程所提供的教学资源之一,通过学习这些PDF文档,学生可以系统地学习数据库系统的基本原理和相关技术,提升数据库的设计和应用能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值