为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

学生成绩管理系统课程报告(数据结构C语言版完整)

2017-09-19 18页 doc 237KB 85阅读

用户头像

is_036899

暂无简介

举报
学生成绩管理系统课程报告(数据结构C语言版完整) 课  程  设  计 课程设计名称:  数据结构课程设计  专 业 班 级 :                    学 生 姓 名 :                    学      号 :                    指 导 教 师 :                     课程设计时间: 2012.6.11—2012.6.22 计算机应用技术 专业课程设计任务书 学生姓名 专业班级 学号 题  目 学生成绩管理系统 课题性质 A ...
学生成绩管理系统课程报告(数据结构C语言版完整)
课  程  设  计 课程设计名称:  数据结构课程设计  专 业 班 级 :                    学 生 姓 名 :                    学      号 :                    指 导 教 师 :                     课程设计时间: 2012.6.11—2012.6.22 计算机应用技术 专业课程设计任务书 学生姓名 专业班级 学号 题  目 学生成绩管理系统 课题性质 A 课题来源 D 指导教师 韩萍 同组姓名 无 主要内容 1- 完成一个学生信息管理系统,主要信息包括姓名 学号 性别 以及5科期末考试成绩,并能够将所有学生相关信息储存至文件 2- 包括新建添加,查询(按学号,姓名),按各科成绩排序,修改学生信息,按学号删除学生信息等基本功能 3- 拓展新增了密码保护功能,人性化菜单提示 4- 完成实验报告,包括需求分析,概要设计,开发工具及编程语言,调试分析,测试结果,参考文献,心得体会 任务要求 熟练掌握一中乃至多种编辑器,养成良好的变成习惯综合运用和融化所学理论知识,提高分析和解决实际问题的能力,达到培养良好程序设计能力和习惯的目的,为开发满足问题要求的小型应用软件奠定基础,达到软件工程的综合性基础训练的目的。在规定的时间内完成报告,报告中对关键部分给出图表说明。要求格式,工作量饱满;语言表达准确,概念清楚;实验方法科学,分析归纳合理;整体构思合理,理论依据充分,设计完整,界面友好,有一定的实用价值。此外还要求数据准确,公式推导正确;设计格式、绘图、图纸、实验数据、较为标准的运用等符合有关标准和规定,设计过程认真。 参考文献 《C语言程序设计》(第三版)谭浩强  清华大学出版社 《数据结构(C语言版)》严蔚敏  清华大学出版社 《C Primer Plus》(第五版中文版)Stephen Prata 人民邮电出版社 审查意见 指导教师签字: 教研室主任签字:                          2012年 6 月 18 日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页 填 表 说 明 1.“课题性质”一栏: A.工程设计; B.工程技术研究; C.软件工程(如CAI课题等); D.文献型综述; E.其它。 2.“课题来源”一栏: A.自然科学基金与部、省、市级以上科研课题; B.企、事业单位委托课题; C.校、院(系、部)级基金课题; D.自拟课题。 1 需求分析 本次数据结构设计以“学生信息管理系统”为题,题目要求开发一个学生信息管理系统,学生信息包括:姓名、学号、性别、成绩、Java成绩、数据结构成绩、数字逻辑电路成绩和计算机组成原理成绩等基本信息(也可以根据自己的当前能力进行扩充)。 基本功能包括: 1-实现对学生信息的新建添加,并能有效地储存至ASCII文件students_list.txt 2-对已有的学生成绩信息进行排序,分别对各科成绩均作出排序并输出排序结果 3-可以对已有的学生信息进行有效地修改,修改时按学号查找修改目标 4-实现对已有学生全部信息的删除并保存至原文件中 5-根据个人情况又在将基本功能全部实现的前提下增加了菜单选项和密码验证功能,使得程序整体更加人性化 students_list.txt文件结构: 姓名  学号  性别   英语 Java 数据结构 数字电路 计算机 zhao    1001    man        78.0    89.0    90.0    98.0    87.0 qian    1002    man     67.0    65.0    63.0    61.0    60.0 sun      1003    wom    90.0    94.0    91.0    99.0    93.0 zhou    1004    man     38.0    48.0    59.0    28.0    60.0 zhen    1005    man        84.0    72.0    68.0    58.0    92.0 wang    1006    wom    59.0    87.0    89.0    99.0    77.0 zhang    1007    wom    78.0    66.0    88.0    65.0    72.0 2 概要设计 一,数据结构 struct students{     char Num[10];            /*字符型学生学号*/     char Name[20];            /*字符型学生姓名*/     char Sex[3];              /*字符型学生性别*/     double English;          /*双精度实型英语成绩*/     double Java;              /*双精度实型Java成绩*/     double Sjjg;              /*双精度实数据结构*/     double Szdl;              /*双精度实型数字电路*/     double Jsj;              /*计算机组成原理*/     struct students *next;    /*用与构建连表指向下一结点*/ };     FILE *fp;                /*定义全局变量fp*/ 二,模块划分 void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head,int *n);/*从tushu_list中读取数据构建链表*/ void FindofNum(struct students *head);/*按学号查询学生信息*/ void FindofNname(struct students *head);/*按姓名查询学生信息*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head,char m[15]);/*按学号删除学生成绩信息*/ struct students * Revise();/*修改学生信息(按编号修改)*/ 三,程序总体框架 模块层次结构只确定了模块之间的关系以及函数原型,不是程序的执行步骤。程序的总体框架是程序的总体流程图。此程序并非是按照顺序逐一执行的,其中有某些程序他们之间的关系并不是递进,而是并列。所以选取一个合适的菜单是最佳方案。程序的总体框架如下: 退出系统 3 运行环境 windows,linux等下都能运行,无需配置环境变量 4 开发工具和编程语言 本程序全部代码均由Microsoft Visual C++ 6.0编写并调试,使用C编程语言编写,由cmd命令行执行,DOC运行。 5 详细设计 菜单选项 1.函数原型,及功能参数 函数原型:void menu()/*主菜单*/ void Revisemenu()/*修改菜单*/ void Sortmenu()/*排序菜单*/ 返回值均为空,无特殊参数,主要输出调试菜单 2.程序清单 void menu(){     printf("                  学生信息管理系统                \n");     printf("---------------------------------------------------\n");     printf("        1-添加新同学          2-浏览学生信息      \n");     printf("        3-按学号查询          4-按姓名查询        \n");     printf("        5-按成绩排序          6-修改学生信息      \n");     printf("        7-删除学生信息        0-退出系统          \n");     printf("---------------------------------------------------\n"); } void Sortmenu(){     printf("                    按成绩排序                    \n");     printf("      1-大学英语            2-JAVA编程          \n");     printf("      3-数据结构            4-数字逻辑电路      \n");     printf("      5-计算机组成原理      0-返回上级菜单      \n"); } void Revisemenu(){     printf("      1--修改学生姓名        2--修改学生学号      \n");     printf("      3--修改学生性别        4--修改英语成绩      \n");     printf("      5--修改JAVA成绩        6--修改数据结构      \n");     printf("      7--修改数字电路        8--修改计算计        \n");     printf("      0--返回上级菜单                            \n"); } 密码验证 1.函数原型,功能及形参说明 函数原型:void secret() 函数功能:实现系统的密码验证功能 参数说明: char a[20]    20个字符以内的密码输入             system("cls");    库函数 清频 2.程序清单 void secret(){     char a[20];     printf("**进入学生信息管理系统前请先进行密码验证---");     do{         gets(a);                      /*输入密码*/         system("cls");                /*调用库函数清屏*/         printf("对不起!您输入的密码有误,请重新输入---");     }while(strcmp(a,"0605")!=0);      /*单一密码“0605”*/     system("cls");     printf("                    欢迎进入学生信息管理系统\n"); } 建立添加新同学及是否保存 1.函数原型,功能及形参说明 函数原型:struct students * Input() 函数功能:实现学生信息的添加及保存(其中调用函数void fprint(struct students *head);/*将信息导入文件可追加*/) 参数说明:*head      链表头结点指针             *p1,*p2    辅助结点 局外变量 2.程序清单 struct students * Input(){     struct students *p1,*p2,*head;          /*建立辅助结点及头结点*/     char Name;     int n=0,x;     printf("\n请按对应项输入学生信息以#结束:\n");     printf("姓名  学号  性别  英语  Java  数据结构  数字电路  计算机组成原理\n");     p1=(struct students *)malloc(sizeof(struct students));     head=p2=p1;     do{                  /*使用do while语句输入学生信息*/         scanf("%s",&p1->Name);         if(strcmp(p1->Name,"#")==0)break;      /*判断结束符*/         else             scanf("%s%s%lf%lf%lf%lf%lf",     p1->Num,p1->Sex,&p1->English,&p1->Java,&p1->Sjjg,&p1->Szdl,&p1->Jsj);         Name='#';         p1=(struct students *)malloc(sizeof(struct students));         p2->next=p1;         p2=p1;         n++;     }while(1);     p1->next=NULL;     printf("学生信息输入结束!\n");        getchar();                          printf("是否保存学生信息?(1.是/2.否):");     scanf("%d",&x);     if(x==1)fprint(head);                /*调用函数保存至文件*/     else printf("\n文件没有被保存!\n");     return head;                    /*返回头指针*/ } 将信息导入文件 1.函数原型,功能及形参说明 函数原型:void fprint(struct students *head)导入可追加 void fprint_(struct students *head)导入并覆盖 函数功能:实现学生的保存将信息导入文件可追加及覆盖 参数说明:struct students *head    链表头结点指针 2.程序清单 void fprint_(struct students *head)与上者的区别仅在于文件的读取方式,即if((fp=fopen("students_list.txt","w"))==NULL),其中“w”为“只写” void fprint(struct students *head){     struct students *p1;     if((fp=fopen("students_list.txt","a"))==NULL){         printf("File open error!\n");         exit(0);     }     for(p1=head;p1->next!=NULL;p1=p1->next)  /*遍历*/         fprintf(fp,"%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",     p1->Name,p1->Num,p1->Sex,p1->English,p1->Java,p1->Sjjg,p1->Szdl,p1->Jsj);/*将学生信息写入文件*/     fclose(fp);          /*关闭文件*/     printf("\n学生信息已成功保存到文件 students_list.txt 中!\n");     getchar(); } 浏览学生信息 1.函数原型,功能及形参说明 函数原型:void Browse(struct students *head) 函数功能:实现学生信息的输出 参数说明:struct students *head    链表头结点指针 2.程序清单 void Browse(struct students *head) {     char Num[10];            /*字符型学生学号*/     char Name[20];            /*字符型学生姓名*/     char Sex[3];              /*字符型学生性别*/     double English;          /*双精度实型英语成绩*/     double Java;              /*双精度实型Java成绩*/     double Sjjg;              /*双精度实数据结构*/     double Szdl;              /*双精度实型数字电路*/     double Jsj;              /*计算机组成原理*/     if((fp=fopen("students_list.txt","a+"))==NULL){         printf("File open error!\n");         exit(0);     }     printf("姓名    学号    性别    英语    Java 数据结构 数字电路 计算机\n");     while(!feof(fp))/*读取并输出*/{     fscanf(fp,"%s%s%s%lf%lf%lf%lf%lf",Name,Num,Sex,&English,&Java,&Sjjg,&Szdl,&Jsj);         printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",             Name,Num,Sex,English,Java,Sjjg,Szdl,Jsj);     };     if(fclose(fp)){         printf("Can not close the file!\n");         exit(0);} } 从students_list中读取数据构建链表 1.函数原型,功能及形参说明 函数原型:struct students * create(struct students * head,int *n) 函数功能:建立学生信息单向链表 参数说明:struct students *head    链表头结点指针             int *n                  学生数目指针 2.程序清单 struct students * create(struct students * head,int *n){     FILE *fp;     struct students*p,*p1,*p2;     if((fp=fopen("students_list.txt","a+"))==NULL){         printf("File open error!\n");         exit(0);    }     while(!feof(fp)){ /*读取并创建链表*/         (*n)++;         p=(struct students *)malloc(sizeof(struct students));         fscanf(fp,"%s%s%s%lf%lf%lf%lf%lf",        p->Name,p->Num,p->Sex,&p->English,&p->Java,&p->Sjjg,&p->Szdl,&p->Jsj);            if(head==NULL){             head=p;             p1=p;}         else{             p1->next=p;             p2=p1;             p1=p;}}     p2->next=NULL;     free(p); /*释放辅助结点所占用空间*/     (*n)--;     fclose(fp);     return head; } 查询学生信息 1.函数原型,功能及形参说明 函数原型:void FindofName(struct students *head)按姓名查找 void FindofNum(struct students *head)按学号查找 函数功能:实现学生信息按照姓名和学号的查询并输出 参数说明:struct students *head    链表头结点指针             i                    计数判定 2.函数流程图 !=0 3.程序清单 void FindofName(struct students *head){     int i=0,n=0;          char b[20];          struct students *p;     head=create(head,&n);     p=head;     printf("\n请输入要查询的学生姓名:");     scanf("%s",b);     while(p!=NULL){         if(strcmp(p->Name,b)==0){             printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",     p->Name,p->Num,p->Sex,p->English,p->Java,p->Sjjg,p->Szdl,p->Jsj);             i++;}         p=p->next;}     if(i==0)         printf("\n对不起!没有找到名为“%s”的学生信息!\n",b); } void FindofNum(struct students *head)按学号查找区别仅仅在于参数的不同,即    if(strcmp(p->Num,b)==0) 按各科成绩排序 1.函数原型,功能及形参说明 函数原型:void SortEnglish(struct students * head) /*按英语成绩排序*/ void SortJava(struct students * head) /*按JAVA成绩排序*/ void SortSjjg(struct students * head) /*按数据结构排序*/ void SortSzdl(struct students * head) /*按数字电路排序*/ void SortJsj(struct students * head) /*按计算机排序*/ 函数功能:实现学生成绩按各科排序并输出 ,但此过程并不被储存至文件 参数说明:struct tushu *head    链表头结点指针           struct tushu *p,*tail; 定义辅助变量用于选择排序 2.程序清单 以英语成绩排序的算法为例,其他排序方法一致,区别在于参数的比较,即if((p->English)> English)/*比较*/ English =p-> English; void SortEnglish(struct students * head){     struct students *p,*tail;  /*定义中间变量*/     int n;     double English;     p=(struct students *)malloc(sizeof(struct students));     head=create(head,&n);     printf("姓名    学号    性别    英语    Java 数据结构 数字电路 计算机\n");     while(head->next!=NULL) /*利用选择法排序*/{         tail=NULL;         p=head;         English=p->English;    /*将链表中第一个成绩赋给English*/         while(p!=NULL){             if((p->English)>English)/*比较*/                 English=p->English;             tail=p;             p=p->next;    }         tail=NULL;         p=head;         while(p->next!=NULL){             if(p->English==English){             printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",        p->Name,p->Num,p->Sex,p->English,p->Java,p->Sjjg,p->Szdl,p->Jsj);                 if(p==head)                     head=head->next;                 else                     tail->next=p->next;}             tail=p;             p=p->next;    }         if(p->English==English){                /*分数相同时无需比较*/             printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",        p->Name,p->Num,p->Sex,p->English,p->Java,p->Sjjg,p->Szdl,p->Jsj);             tail->next=NULL;         }    }        p=head;                                /*将链表赋给结构体指针*/     printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",     p->Name,p->Num,p->Sex,p->English,p->Java,p->Sjjg,p->Szdl,p->Jsj);/*浏览排序后的信息*/     printf("按英语成绩排序后输出如上(注:此过程不保存至文件):\n");     return; } 按学号删除学生信息 1.函数原型,功能及形参说明 函数原型:struct students * Delete(struct students * head,char m[15]) 函数功能:实现学生信息按学生学号删除 ,并将删除后的信息储存至文件 参数说明:struct students *head    链表头结点指针             struct students *ptr1,*ptr2; 定义辅助变量 char m[15]            用于储存欲删除的学生编号 2.程序流程图 Head==NULL 3.程序清单 struct students * Delete(struct students * head,char m[15]){     struct students *ptr1,*ptr2;        int n;     printf("\n所有学生信息如下:\n");     Browse(head);     printf("\n请输入想要删除的学生学号:");     scanf("%s",m);     head=create(head,&n);     if(head==NULL){         printf("无学生信息!\n");         return head;     }        if((strcmp(head->Num,m)==0)&&head!=NULL){         ptr2=head;         head=head->next;         free(ptr2);     }     if(strcmp(head->Num,m)!=0){         ptr1=head;         ptr2=head->next;         while(ptr2!=NULL){             if(strcmp(ptr2->Num,m)==0){                 ptr1->next=ptr2->next;                 free(ptr2);             }             else                 ptr1=ptr2;             ptr2=ptr1->next;         }     }     fprint_(head);     printf("\n学号为' %s '学生信息已被删除,并保存至文件!\n",m);     return head; } 修改学生信息(按编号查找修改对象) 1.函数原型,功能及形参说明 函数原型:struct students * Revise() 函数功能:实现学生信息的修改,其中目标学生的查找方式按学号,修改后并储存至文件 参数说明:struct tushu *head=NULL    链表头结点指针           struct tushu *p; 定义辅助变量用于选择排序           int t;  输入选项用以选择修改对象           char num[10]; 储存输入的学生编号 2.程序清单 struct students * Revise(){        int n=0,t;     char num[10];     char Num[10];            /*字符型学生学号*/     char Name[20];            /*字符型学生姓名*/     char Sex[3];              /*字符型学生性别*/     double English;          /*双精度实型英语成绩*/     double Java;              /*双精度实型Java成绩*/     double Sjjg;              /*双精度实数据结构*/     double Szdl;              /*双精度实型数字电路*/     double Jsj;              /*计算机组成原理*/     struct students *head=NULL;     struct students *p;     printf("\n所有学生信息如下:\n");     Browse(head);     head=create(head,&n);     printf("\n输入需要修改的学生的学号:");     scanf("%s",num);     p=head;     while(head!=NULL){         if(strcmp(p->Num,num)==0){             system("cls");             Revisemenu();             printf("编号为%s的学生信息如下:\n",num);             printf("姓名    学号    性别    英语    Java 数据结构 数字电路 计算机\n");                printf("%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\n",     p->Name,p->Num,p->Sex,p->English,p->Java,p->Sjjg,p->Szdl,p->Jsj);             while(1){                        printf("请选择需要修改的信息:");                 scanf("%d",&t);                 switch(t){                 case 1:                        printf("请输入新姓名:");                     scanf("%s",Name);                     strcpy(p->Name,Name);                     break;                 case 2:                     printf("请输入新学号:");                        scanf("%s",&Num);                        strcpy(p->Num,Num);                     break;                 case 3:                        printf("请输入新性别:");                     scanf("%s",Sex);                     strcpy(p->Sex,Sex);                     break;                 case 4:                     printf("请输入新英语成绩:");                     scanf("%lf",&English);                     p->English=English;                     break;                 case 5:                     printf("请输入新Java成绩:");                     scanf("%lf",&Java);                     p->Java=Java;                     break;                 case 6:                     printf("请输入新数据结构成绩:");                     scanf("%lf",&Sjjg);                     p->Sjjg=Sjjg;                     break;                 case 7:                     printf("请输入新数字电路成绩:");                     scanf("%lf",&Szdl);                     p->Szdl=Szdl;                     break;                 case 8:                     printf("请输入新计算机组成原理成绩:");                     scanf("%lf",&Jsj);                     p->Jsj=Jsj;                     break;                 case 0:                     system("cls");                     menu();                     goto lab;                     break;                 default:                     printf("对不起,输入有误!");                     break;                 }        }        }         else             p=p->next;     } lab:  /*跳转标记,用以跳出循环*/     fprint_(head);     printf("修改完成,并储存至文件!\n");     return head; } 6 调试分析 在最初的设计中并没有函数struct students * create(struct students *head,int *n);在执行新建添加和浏览时并没有任何BUG,但是在写入文件后,后续的功能凡是有需要从文件中读取数据的函数都无法实现,显示结果为不可写。后来几经挫折终于发现,原来后续函数实现中都有用到遍历,但是单纯的从文件中读取数据虽然可以实现输出,但是无法进行遍历,因为这样只是一组组零散的数据并无任何数据结构,而对于结构体的数据遍历来说就必须将此组数据进行链表化并存入定义好的“head”中。 在主函数中,定义有一个‘head’,主要作为调用函数时使用的参数。在最初的设计中定义时为struct students *head;然而问题同上,在简单的比较分析过后,发现在其他的任何函数中定义方式均是如此但都没有运行错误。最后还是在同学的帮助下将head进行了初始化‘NULL’问题解决。 最后一个问题也是至今未能解决的,正如上述Browse代码所示,逻辑上语法上都没有明显错误,录入数据后也能完美实现浏览功能。但是当晚间为空时,即尚未输入数据时,执行时则会输出乱码。 7 测试结果 参考文献 《C语言程序设计》(第三版)谭浩强  清华大学出版社 《数据结构(C语言版)》 严蔚敏 清华大学出版社 《C Primer Plus》(第五版中文版)Stephen Prata 心得体会 在此次试验中我熟练掌握了编辑器的使用,并养成良好的变成习惯综合运用和融化所学理论知识,提高分析和解决实际问题的能力,达到培养良好程序设计能力和习惯的目的,为开发满足问题要求的小型应用软件奠定基础,达到软件工程的综合性基础训练的目的。 在规定的时间内我完成了报告,你给我知道了再报告应该满足一定的要求,例如:整个报告设计中对关键部分给出图表说明;格式规范,工作量饱满;语言表达准确,概念清楚;实验方法科学,分析归纳合理;整体构思合理,理论依据充分,设计完整,界面友好,有一定的实用价值。此外,数据准确,公式推导正确;设计格式、绘图、图纸、实验数据、较为标准的运用等符合有关标准和规定,设计过程认真。 信息科学与工程  学院课程设计成绩评价表 课程名称:数据结构课程设计 设计题目:学生信息管理系统 专业:计算机科学与技术  班级:1003 姓名:余文波  学号:201046830605 序号 评审项目 分 数 满分标准说明 1 内  容 20 思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。任务饱满,做了大量的工作。 2 创  新 10 内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解 3 完整性、实用性 10 整体构思合理,理论依据充分,设计完整,实用性强 4 数据准确、可靠 10 数据准确,公式推导正确 5 规 范 性 10 设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定 6 纪 律 性 20 能很好的遵守各项纪律,设计过程认真; 7 答  辩 20 准备工作充分,回答问题有理论依据,基本概念清楚。主要问题回答简明准确。在规定的时间内作完报告。 总 分 内容18+创新8+完整实用9+数据10+规范9+纪律18+答辩18=90 综 合 意 见 思路清晰;语言表达准确,概念清楚;实验方法科学,分析归纳合理;整体构思合理,理论依据充分,设计相对完整,界面友好,有一定的实用价值。任务相对饱满,做了一定的工作。 数据准确,公式推导正确;设计格式、绘图、图纸、实验数据、较为标准的运用等符合有关标准和规定,能很好的遵守各项纪律,设计过程认真 准备工作比较充分,回答问题有理论依据,基本概念清楚。主要问题回答简明准确。在规定的时间内作完报告。               指导教师 :                  2012 年6 月 20 日
/
本文档为【学生成绩管理系统课程报告(数据结构C语言版完整)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索