C语言课程设计报告之学生成绩信息管理系统.doc
(26页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
华中科技大学计算机科学与技术学院 C语言程序设计课程设计 实验报告 题目: 学生成绩信息管理系统 专业: 计算机应用与技术 班级: 01班 学号: 姓名: 成绩: 指导老师: 完成日期:2012年3月15日 目 录 一、概述 2 1、课程设计目的 2 2、课程设计要求................................................................................................... 2 3、实验环境…................................................................................................ 2二、设计方案................................................................ 2 1、功能描述 ……..…................................................................................ 2 2、数据结构设计......................................................................................... 3 3、各功能模块的详细描述........................................................................... 3 4、程序结构 ................................................................................................ 5三、实验结果............................................................. 6四、课程设计总结...................................................... 6五、参考文献............................................................... 8附录:源程序代码........................................................................................... 8一、概述1、课程设计目的:利用学生成绩信息管理系统实现对本班同学的C语言、计算机基础、高等数学、英语四门课的成绩信息进行管理,其中包括实现增加、插入、修改、删除、统计平均成绩功能。2、课程设计要求:1)只能使用C语言编程。2)要用十字交叉链表(可选)。3)要求实现数据文件的I/O操作,用文件保存数据。4)至少输出一份报表(屏幕显示即可)。5)课程设计报告要按要求格式撰写。3、实验环境:机房二、设计方案学生基本信息表:中文字段名类型及长度举例学号char[12]姓名char[20]Zhangming性别Charm,f出生日期char[12]1993/01/01班级char[10]Is0601,cs03C语言成绩Flaot计算机基础Flaot高等数学Flaot英语Flaot1、 功能描述:学生成绩信息管理系统由五大模块组成,即文件、数据维护、数据查询、数据统计和帮助。具体结构图如图所示:学生成绩信息管理系统文件数据维护数据统计帮助数据查询数 据 加 载数 据 保 存界 面 初 始 化增 加 数 据修 改 数 据删 除 数 据学 生 基 本 信 息查 询课程总体成绩信息查询 学 生 成 绩按课程和学号查询成绩平 均 成 绩各 科 成 绩成绩管理系统按学号查询学生名次退 出 系 统学生基本信息参考:中文字段名 类型及长度 举例学号 char[12] 8姓名 char[20] zhangming性别 char m,f出生日期 char[12] 1988/09/03班级 char[10] is0601,cs03C语言成绩 Flaot 计算机基础 Flaot 高等数学 Flaot 英语 Flaot 帮 助 主 题系统版本版权说明数据统计2、数据结构设计:采用“自顶而下、逐步求精”的设计方法,即由全局到局部,由整体到细节,由抽象到具体,将复杂的大规模问题分解成相对简单的小规模问题,不断分解细化,直到每一个子问题都可以用明确具体的方法和步骤来解决为止的方法。3、各功能模块的详细描述文件:包括一系列与系统启动运行和系统结束运行相关的环境维护和数据保障操作,该模块又分为界面初始化、数据加载、数据保存以及退出系统几个部分。其中,界面初始化模块用于设置控制台窗口显示模式,设置窗口标题栏,清屏并显示系统菜单栏和系统状态栏;数据加载模块用于将分别存放在多个数据文件中的代码数据和基础数据读入内存,构造数据链表,同时输出数据加载相关信息;数据保存模块将内存中代码表数据和链表数据按缺省路径分别保存到各个数据文件;退出系统模块释放程序运行过程中申请的动态存储区,关闭控制台标准输入和输出设备句柄,将标题栏设为“运行结束”,清除屏幕窗口信息,结束系统运行。数据维护:该模块完成对学生基本信息的录入、修改和删除功能,保证数据的准确性、完整性和有效性。该模块又分为增加成绩、修改成绩、删除成绩三部分。数据查询:该模块提供对系统中学生的几种数据信息按多种条件查询。省略部分。ntf("请输入学号:"); scanf(" %s",&xuehao); printf("请输入姓名:"); scanf(" %s",&name); printf("请依次输入C语言,计算机基础,高等数学 英语成绩:"); scanf(" %f%f%f%f",&c1,&c2,&c3,&c4); strcpy(pr->xuehao,xuehao); strcpy(pr->name,name); pr->c1=c1; pr->c2=c2; pr->c3=c3; pr->c4=c4; pr->next=NULL; return head;}void DeleteMemory(struct Student *head){ struct Student *p=head,*pr=NULL; while(p!=NULL) { pr=p; p=p->next; free(pr); }}struct Student *DelNode(struct Student *head){ struct Student *p=head,*pr=head; int i,j; printf("删除第几个数据?"); scanf(" %d",&i); for(j=1;jnext; } if(p==head) { head=p->next; } else { pr->next=p->next; } free(p); return head; }struct Student *InsertNode(struct Student *head){ struct Student *pr=head,*p=head,*temp=NULL; int i,j,n; char xuehao[9]; char name[20]; float c1; float c2; float c3; float c4; p=(struct Student *)malloc(sizeof(struct Student)); printf("请输入学号:"); scanf(" %s",&xuehao); printf("请输入姓名:"); scanf(" %s",&name); printf("请依次输入C语言,计算机基础,高等数学 英语成绩:"); scanf(" %f%f%f%f",&c1,&c2,&c3,&c4); 4; p->next=NULL; strcpy(p->xuehao,xuehao); strcpy(p->name,name); p->c1=c1; p->c2=c2; p->c3=c3; p->c4=c4; printf("插入到第几个?"); scanf(" %d",&i); for(j=1;jnext; } if(pr==head) { p->next=head; head=p; } else { pr=temp; p->next=pr->next; pr->next=p; } return head;}struct Student *Com(struct Student *head) { struct Student *pr=head,*p=head,temp1; int i=1,j,k;/* char xuehao[9]; char name[20]; float c1; float c2; float c3; float c4;*/ while(p->next!=NULL) { p=p->next; i++; } p=head; for(j=1;jnext; for(k=0;kc1+pr->c2+pr->c3+pr->c4)/4.0c1+p->c2+p->c3+pr->c4)/4.0) { /* strcpy(xuehao,p->xuehao); strcpy(name,p->name); c1=p->c1; c2=p->c2; c3=p->c3; c4=p->c4; strcpy(p->xuehao,pr->xuehao); strcpy(p->name,pr->name); p->c1=pr->c1; p->c2=pr->c2; p->c3=pr->c3; p->c4=pr->c4; strcpy(pr->xuehao,xuehao); strcpy(pr->name,name); pr->c1=c1; pr->c2=c2; pr->c3=c3; pr->c4=c4;*/ temp1=*pr; temp1.next=p->next; *pr=*p; *p=temp1; pr->next=p; } p=p->next; pr=pr->next; } p=head; pr=head; } return head;} 关 键 词: 设计 学生 成绩 报告 课程 信息管理 c语言 系统
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文