C语言学生成绩管理系统增加查询修改排序统计文件.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 增加 查询 修改 排序 统计 文件
- 资源描述:
-
C语言学生成绩管理系统增加查询修改排序统计文件 49 2020年4月19日 文档仅供参考 课程设计(论文)说明书 题 目: 学生成绩管理系统 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: SUSHENGMIAN 学 号: 指导教师: 彭明 职 称: 教授 _ 12月 8日 摘 要 学生成绩是高校人才培养计划的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。当前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,当前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。我们有必要开发学生成绩管理系统来对学生成绩档案进行数字化管理。既可减轻学院教职员工工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,又可加快成绩查询速度、加强成绩管理,使各项管理更加规范化。 本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,统计信息以用户管理等六个方面。系统能够完成对各类信息的浏览、查询、添加、删除、修改等功能 关键词:c语言;学生成绩管理系统;增加;查询;修改;排序;统计;文件 Abstract Student grades is an important part of talent cultivation of college。Student Files must remain within the Student Services (or similar purpose area) at all times and should not be removed from these areas unless required for specific purposes such as to deal with other cases such as legal, disciplinary, grievances etc, however once those cases have been dealt with the files must be returned, unaltered to the respective Student Service area. This system is a student curriculum and the result management systemmanagement system, it is in a universities educational administrationmanagement system management system sub- system. The main user is the student, the teacher and the manager. The system facilitated the student to choose the class and to look up the minute. Has facilitatedteacher's teaching management and the student result input. The systemhas more more importantly facilitated the school educationa administration management Keyword:C Languag;Student Score Management System;aggrandize; inquire; amend; sort; statistics; document 目 录 1.课设目的………………………………………………………1 2.课程论文题目…………………………………………………1 3.程序设计思路…………………………………………………1 3.1需求分析……………………………………………………1 3.2主函数分析…………………………………………………2 3.3功能模块设计………………………………………………2 3.3.1菜单模块…………………………………………………2 3.3.2增加模块…………………………………………………2 3.3.3查询模块…………………………………………………2 3.3.4修改模块…………………………………………………2 3.3.5排序模块…………………………………………………3 3.3.6统计模块…………………………………………………3 4.功能模块流程图………………………………………………4 4.1增加模块流程图……………………………………………4 4.2查询模块流程图……………………………………………5 4.3修改模块流程图……………………………………………5 4.4排序模块流程图……………………………………………6 4.5统计模块流程图……………………………………………6 5.数据结构设计………………………………………………6 6.算法设计……………………………………………………7 7.程序运行结果………………………………………………8 7.1菜单模块运行结果…………………………………………8 7.2增加模块运行结果…………………………………………8 7.3查询模块运行结果…………………………………………8 7.4修改模块运行结果…………………………………………9 7.5排序模块运行结果…………………………………………9 7.6统计模块运行结果…………………………………………10 7.7打开文件模块运行结果……………………………………10 7.8保存模块运行结果…………………………………………10 8.编程中遇到的困难与解决方法……………………………10 9.实验总结……………………………………………………10 致谢……………………………………………………………11 参考文献………………………………………………………12 附录……………………………………………………………13 1.课设目的 经过本课程设计巩固《C语言程序设计》课程教学成果,深入理解结构体、指针、链表、动态分配内存和文件操作等C程序设计中的中高级技术,熟练掌握C语言的调试方法,初步培养良好的编程习惯和编程风格,初步学习程序文档的撰写方法。 2.程序论文题目 创立一个学生管理系统。学生包含以下信息项:学号,姓名,性别,语文成绩,数学成绩,英语成绩,物理成绩,化学成绩,总分、平均分。 系统的主要功能包括: (1). 创立学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 (2). 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 (3). 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 (4). 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 (5). 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 a按学号查询,输入一个学号,输出对应的学生信息。 b按姓名查询,包括精确查询(输入全名),模糊查询(输入姓)。 c按学院查询,输入学院名称,输出该学院的全部学生的信息。 (6).按不同条件对学生成绩进行统计工作。 a.按总分对学生信息进行排序(由高到低),输出排序后的信息,并将排序后的学生信息存放到一个新的二进制文件中。 b.分别找出3门课程成绩最高和最低的的学生,并输出她们的信息。 3.程序设计思路 3.1需求分析 可将系统的设计分为:菜单模块,增加信息模块,修改信息模块,排序模块,统计模块,保存文件模块,打开文件模块,显示模块。 a.菜单模块为用户的选择进行提示。 b.增加信息模块用于增加学生的学号,姓名,语文成绩,数学成绩,语成绩,物理成绩,化学成绩,总成绩,平均分。 c.修改信息模块用于对学生的学号,姓名,语文成绩,数学成绩,英语成绩,物理成绩,化学成绩,总成绩,平均分等各种信息进行修改。 d.排序模块用于对学生的学号,姓名,总分进行排序,每种排序方法对于有升序排序和降序排序两种排列方式 e.统计模块用于对学生的各科成绩进行一个汇总分析。可统计出每一科的最高分,最低分以及平均分。 3.2.主函数设计 主函数提供输入,处理,输出部分的函数的调用,其中各个功能模块用菜单方式选择,即在主函数里显示一系列功能选择,判断后,是否调用某个功能用了switch()选择功能 3.3.各功能模块设计 3.3.1.菜单模块:定义了字符变量c,用户根据相应的提示进行选择,最后将字符变量返回main()函数,根据c的不同值,调用不同的函数 3.3.2.增加信息模块。输入要增加的信息条数num。如果原来学生的数量为0.那么学生的数量为num,将要输入的学生信息依次放在指针位置为0~(num-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。如果原来学生数量不为0,询问是否覆盖原来的数据,如果选择覆盖,那么学生的数量为num,将要输入的学生信息依次放在指针位置为0~(num-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。如果不选择覆盖,那么学生个数等于原个数加上新增数,将信息依次放在指针位置为numstus~umstus+num-1)的位置,然后调用count函数,按总成绩对学生进行排名,并在屏幕上显示。最后返回主函数。 3.3.3.查询信息模块。如果学生数量为0,没有信息可查询,返回主函数。如果学生人数不为0,则询问用户要选择的查询方式,有3种查询方式供选择,分别为按学号查询,按姓名查询,按名次查询。对于按学号查询,将输入的学号与各个学生的学号相比较调用格式为 strcmp(str,stud[i].number)。如果输入的学号与某个学生的学号相等,则输出该学生的全部信息。对于按姓名查询,将输入的姓名与各个学生的姓名相比较,调用格式为 strcmp(str,stud[i].name)。如果输入的姓名与某个学生的姓名相等,则输出该学生的全部信息。对于按名次查询,将输入的名次与各个学生的名次相比较。如果输入的名次与某个学生的名次相等(num==stud[i].index),则输出该学生的全部信息。 3.3.4.修改模块。如果学生数量为0,没有信息可查询,返回主函数。如 果学生人数不为0,则调用查询函数 findrecord(pointer),查询函数返回一个整型数据i,则修改函数对地i个学生的信息进行修改。修改完毕后,重新对学生的总成绩进行排名,并在屏幕显示修改之后的信息。 如果要删除信息,则调用删除函数deleterecord(),修改完毕后,重新对学生的总成绩进行排名,并在屏幕显示修改之后的信息。如果还要修改其它信息,则返回开始处继续执行。最后返回主函数 3.3.5.排序模块。。如果学生数量为0,没有信息可排序,返回主函数。如果学生人 数不为0,询问用户要选择的排序方法。输入1,则按学号进行排序,可对学号进行升 序排序,降序排序。如果进行降序排序,调用函数sortnum(p),如果进行升序排序,则 调用函数sortnum2(p); 输入2,则按姓名进行排序,可对姓名进行升序排序,降序排 序。如果进行降序排序,调用函数sortname(p),如果进行升序排序,则调用函数 sortname(p);输入3,则按名次进行排序,可对名次进行升序排序,降序排序。如果进 行降序排序,调用函数sortcount(p),如果进行升序排序,则调用函数sortcount2(p); 排序完成之后,显示排序之后的结果。如果还要进行其它的排序,则返回继续进行查询。 查询完毕之后,返回主函数。。在寻找的过程中用了字符串的比较strcmp(字符串1, 字符串2) 如果字符串1=字符串2则函数值为0。 如果字符串1>字符串2则函数值为一个正整数。 如果字符串1<字符串2则函数值为一个负整数。 3.3.6.统计模块。询问用户想要统计的科目,一共有5科(语文,数学,英语,物理),输入数字1~5进行选择。在运用swith()的选择功能,进行各个科目的统计。运用比较法得到统计信息。 3.3.7.保存文件模块。定义一个指向文件的指针的文件变量fp。用到fopen(文 件名使用文件方式)fclose(文件指针)fprintf(文件指针格式字符串输出列表)。保存文件模块将输入的信息保存在硬盘中。打开文件模块将保存起来的文件再次调出来使用。显示模块将用户选择的模块在屏幕上显示出来 3.3.8.打开文件模块。定义一个指向文件的指针的文件变量fp。用到fopen(filename,"rb+"))==NULL) rb+,其中为读写打开一个二进制文件 fscanf(fp,"%d",&numstus); 从磁盘文件中读取变量numstus,在屏幕上显示 4.功能模块图 4.1增加模块 4.2查询模块 4.3修改模块 4.4排序模块 4.5统计模块 5.数据结构设计 此程序中用到了 (1)基本类型1)常量的使用#define H_STUDENT_HH50 2)整型int 3)字符型char4)浮点型float 5)浮点型(双精度double) (2)结构体类型 #define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/ typedef struct message_student /*结构体定义*/ { char number[6]; char name[20]; char sex[4]; float subject[numsubs]; float score; float average; int index; }student; (3)指针类针:FILE *fp,文件型指针变量,fp是一个指向FLIE类型结构的指针变量。 6.算法设计 7.程序运行结果 7.1主函数运行结果 7.2增加模块运行结果 7.3查询模块运行结果 a.按名次进行查询 b.按学号进行查询 c.按名次进行查询 7.4修改模块运行结果 7.5排序模块运行结果 a.按学号排序 b.按姓名排序 c.按名次排序 7.6统计模块运行结果 7.7打开文件模块运行结果 7.8保存模块运行结果 8.编程中遇到的困难及解决方法 由于自己时间过长的遗忘及知识的局限性使得在程序的编译中存在一些问题,对每个功能模块的理解,以及主函数的功能,都是在同学的帮助和老师的讲解下有了更深的了解。编写主函数根据一些例题的模式以及自己的所要实现的功能来完成,每一个子模块,也是根据例题模块以及要实现的功能编写。用到了文件,结构体类型,数组,类型的装换等等文件以及结构体类型,经过查看书本完成的。在运行过程中每个模块运行后不能接着下一个模块。 9.实验总结 做这个项目让我明白了一些道理,再大的程序也是有不同的小程序组成的。经过这几天的学习使我了解到C语言的重要性,之前接触到的C语言内容都是理论上的,可是没怎么用到实际操作当中。这次课程设计给了我一次真正认识C语言的机会刚开始觉得C语言是一种很深奥的东西对于刚开始接触这门课程的我来说非常的不适应。第一次真正认真的投入C语言当中,第一次用自己在课堂上学习的东西逐步的去解决实际问题这次是完成实验设备信息的管理。经过这次课程设计,我知道自己的计算机知识还是相当有限的,在这次的程序编译过程中遇到了很多自己无法解决的问题,可是经过同学的帮助和老师的指导,上网查看资料等方法,最终问题都基本解决了。 致 谢 在这次课程设计过程中,我巩固了C语言的基础知识,对c语言有了更深入的了解。以前从来没有这样编过完整的程序,课设让我有这样的一个机会。我觉得自己说学的东西不多,可是在学习的过程中也发现c语言没那么难。感谢我的c语言老师,一个是带我走进C语言大门的覃匡宇老师,从她身上学到了很多知识和道理,并逐渐喜欢上c语言。同时,在这次课设中,彭老师对我的帮助使我收获很多,包括论文的排版等问题,彭老师都指出错误和不足之处,使我少走出了许多误区,在此表示深深的感谢。最后感谢所有曾在c语言上帮助我的人。 参考文献 [1] 谭浩强.c语言程序设计.北京:清华大学出版社, :11~289 [2] 陈朔鹰. 《C语言程序设计习题集(第二版). 北京:人民邮电出版社, :37~85 [3] 陈朔鹰 . 《C语言趣味程序百例精解》. 北京:北京理工大学出版社, :81~98 附 录 程序代码: #ifndef H_STUDENT_HH /**条件指示符#ifndef 的最主要目的是防止头文件的重复包含和编译//*条件编译*/ #define H_STUDENT_HH /*#为预编译命令*/ #include "stdio.h" #include "string.h" #include "malloc.h" #define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/ #define numsubs 5 /*学科数目*/ typedef struct message_student /*结构体定义*/ { char number[6]; char name[20]; char sex[4]; float subject[numsubs]; float score; float average; int index; }student; extern int numstus; /*学生数目*/ /*extern表示为全局变量*/ extern student *pointer; /*指向结构体数组*/ extern int lens; int menu_select(); int openfile(student stu[]); int findrecord(student stud[]); int writetotext(student stud[]); void welcome(); void display1(); void showtable(); void sort(student stu[]); void deleterecord(student stu[],int i); void addrecord(student stud[]); void display(student stud[],int n1,int n2); void amendrecord(student stud[]); void count(student stud[]); void sortnum(student stud[]); void sortnum2(student stud[]); void sortname(student stud[]); void sortname2(student stud[]); void sortcount(student stud[]); void sortcount2(student stud[]); void statistic(student stud[]); #endif int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息 |\n"); printf(" | 2. 查询学生记录 6.打开文件 |\n"); printf(" | 3. 修改学生记录 7.保存文件 |\n"); printf(" | 4. 学生纪录排序 8.显示记录 |\n"); printf(" | 0. 退出系统 |\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-'0'); } int findrecord(student stud[]) /*查找学生信息*/ { char str[2]; int i,num; if(numstus==0) { printf("没有可被查找的记录\n"); return -1; } else { printf("以何种方式查找?\n1.学号\t2.姓名\t3.名次\n"); gets(str); if(str[0]=='1') /*按学号查找*/ { printf("请输入学号:"); gets(str); for(i=0;i<=numstus;i++) { if(strcmp(str,stud[i].number)==0) { display(stud,i,i); break; } else continue; } } else if(str[0]=='2') /*按姓名查找*/ { printf("请输入姓名:"); gets(str); for(i=0;i<=numstus;i++) if(strcmp(str,stud[i].name)==0) { display(stud,i,i); break; } else continue; } else if(str[0]=='3') /*按名次查找*/ { printf("请输入名次:"); scanf("%d",&num); getchar(); for(i=0;i<=numstus;i++) if(num==stud[i].index) { display(stud,i,i); break; } else continue; } if(i>numstus) { printf("没有查找所要的信息。\n"); return -1; } return i; } } //#include"head.h" int openfile(student stu[]) /*打开文件*/ { int i=0,j; FILE *fp; char filename[20],str[2]; if(numstus!=0) { printf("已经有记录存在,是否保存?(y/n)"); gets(str); if(str[0]=='y'||str[0]=='Y') writetotext(stu); } printf("请输入文件名:"); gets(filename); numstus=0; if((fp=fopen(filename,"rb+"))==NULL) /*rb+,为读写打开一个二进制文件*/ { printf("无法打开该文件\n"); return(-1); } fscanf(fp,"%d",&numstus); /*从磁盘文件中读取变量numstus,在屏幕上显示*/ fgetc(fp); /*从文件fp获取一个字符*/ while(i<numstus) { fscanf(fp,"%s",stu[i].number); fscanf(fp,"%s",stu[i].name); fscanf(fp,"%s",stu[i].sex); for(j=0;j<numsubs;j++) fscanf(fp,"%f",&stu[i].subject[j]); fscanf(fp,"%f",&stu[i].score); fscanf(fp,"%f",&stu[i].average); fscanf(fp,"%d",&stu[i].index); i++; } fclose(fp); printf("文件读取成功\n"); printf("是否显示纪录?(y/n)"); gets(str); if(str[0]=='y'||str[0]=='Y') display(stu,0,numstus-1); return(0); } //#include "head.h" void sort(student stud[]) /*排序模块*/ { int i,j=0; char str[5]; student *p; p=stud; if(numstus==0) { printf("没有可供查询的记录!"); } while(1) { for(i=0;;i++) { printf(" 请输入排序方式:"); printf("(直接输入回车则结束查询操作)\n"); printf("1.按照学号\t"); printf("2.按照姓名\t"); printf("3.按照名次\n"); gets(str); if(strlen(str)==0) break; if(str[0]=='1') /*按学号排序*/ { printf("请输入排序次序:\n"); printf("1.升序排列\t"); printf("2.降序排列\n"); gets(str); if(str[0]=='1') sortnum2(p); /*按学号升序排序*/ else sortnum(p); /*按学号降序排序*/ display(stud,0,numstus-1); } else if(str[0]=='2') /*按姓名排序*/ { printf("请输入排序次序:\n"); printf("1.升序排列\t"); printf("2.降序排列\n"); gets(str); if(str[0]=='1') sortname2(p); /*按姓名升序排序*/ else sortname(p); /*按姓名降序排序*/ display(stud,0,numstus-1); } else if(str[0]=='3') /*按照名次排序*/ { printf("请输入排序次序:\n"); printf("1.升序排列\t"); printf("2.降序排列\n"); gets(str); if(str[0]=='1') sortcount2(p); /*按照名次升序排序*/ else sortcount(p); /*按照名次降序排序*/ display(stud,0,numstus-1); } else printf("请输入1~3"); printf("是否退出排序?(y/n)"); gets(str); if(str[0]=='y'||str[0]=='Y') break; } return; } } void sortnum(student stud[]) /*按学号降序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(strcmp(stud[j+1].number,stud[j].number)>0) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } void sortnum2(student stud[]) /*按学号升序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(strcmp(stud[j].number,stud[j+1].number)>0) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } void sortname(student stud[]) /*按姓名降序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(strcmp(stud[j+1].name,stud[j].name)>0) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } void sortname2(student stud[]) /*按姓名升序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(strcmp(stud[j].name,stud[j+1].name)>0) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } void sortcount(student stud[]) /*按名次降序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(stud[j+1].index>stud[j].index) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } void sortcount2(student stud[])/*按名次升序排序*/ { int i,j; student temp; student *p; p=stud; for(i=0;i<numstus;i++) for(j=0;j<numstus-i-1;j++) { if(stud[j].index>stud[j+1].index) { temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; } } } //#include"head.h" void statistic(student stud[]) /*输出统计信息*/ { int i,j=0,k=0; char c1,str[2]; float average[numsubs],sum=0; if(numstus==0) printf("没有可被查找的记录\n"); else { while(1) { printf("下面将统计考试成绩\n"); printf("请选择你要统计哪科的成绩 1.语文\t2.数学\t3.英语\t4.物理\t5.化学\n"); c1=getchar(); printf("\t一共有个%d记录\n",numstus); /*总共记录数*/展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




C语言学生成绩管理系统增加查询修改排序统计文件.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3635803.html