学生成绩管理系统C程序设计报告

上传人:工**** 文档编号:542545207 上传时间:2023-12-07 格式:DOC 页数:24 大小:429KB
返回 下载 相关 举报
学生成绩管理系统C程序设计报告_第1页
第1页 / 共24页
学生成绩管理系统C程序设计报告_第2页
第2页 / 共24页
学生成绩管理系统C程序设计报告_第3页
第3页 / 共24页
学生成绩管理系统C程序设计报告_第4页
第4页 / 共24页
学生成绩管理系统C程序设计报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《学生成绩管理系统C程序设计报告》由会员分享,可在线阅读,更多相关《学生成绩管理系统C程序设计报告(24页珍藏版)》请在金锄头文库上搜索。

1、学生成绩管理系统 C 程序设计报告一、设计要求:1. 要求利用 C 语言面向过程的编程思想来完成系统的设计;2. 突出 C 语言的函数特征,以多个函数实现每一个子功能;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6. 熟练掌握 C 语言对文件的各种操作。二、设计的作用、目的通过程序设计, 提高编程兴趣与编程水平。 设计一个学生成绩管理系统, 上 学期的本班的学习成绩进行管理,可以用数组设计这个程序,具有查询和检索 功能,并且能够对指定文件操作,也可将多个文件组成一个文件。通过对此程 序的设计熟练掌握 c 语言。三、课题分析输

2、入 N 个学生的学号和每个学生考试三门功课(数学、英语、计算机基础) 的成绩。编程计算出每个学生的总分和平均分,并按学生成绩优劣排序。要求: 含有:登记学生资料、删除学生资料、查询学生资料、修改学生资料、保存 学生资料、退出系统等各项功能。四、设计的具体实现1、系统的组成模块结构及功能( 1)、 当前学生信息 : 通过结构体 struct student 来保存学生的姓名,学 号,性别,语文,数学,英语和计算机等等相关信息,并且通过 cin 函数来进行 给当前学生输入初始信息 .具体使用的程序结构如下:printstart();printc();printe(s);printstart();p

3、rintf(n);return;s=s-next;p=(Node *)malloc(sizeof(Node);strcpy(p-data.num,num);printf( 请你输入姓名 :); scanf(%s,p-data.name); getchar();printf( 请你输入性别 :); scanf(%s,p-data.sex); getchar();printf( 请你输入 c 语言成绩 :); scanf(%d,&p-data.cgrade); getchar();printf( 请你输入数学成绩 :); scanf(%d,&p-data.mgrade);getchar();pri

4、ntf( 请你输入英语成绩 :); scanf(%d,&p-data.egrade);getchar(); p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade; p-data.ave=p-data.totle / 3;/* 信息输入已经完成 */( 2)、学生成绩查询 : 输入一个学号 , 在文件中查找此学生 , 若找到则输出此 学生的全部信息和成绩 ; 若找不到则输出查找失败的信息 . 同时也可以全部把 各科的平均成绩,最高和最低分输出。使用的函数结构:void Qur(Link l) /* 查询学生 */int sel;char f

5、indmess20;Node *p;if(!l-next)printf(n= 提示: 没有资料可以查询 !n); return;printf(n=1 按学号查找 n=2 按姓名查找 n); scanf(%d,&sel);if(sel=1)/* 学号 */printf( 请你输入要查找的学号 :); scanf(%s,findmess);p=Locate(l,findmess,num);if(p)printf(tttt 查找结果 n);(3)、学生资料删除:输入要删除的学生学学号,若找到则根据提示进行删除;若找不到则提示没有资料删除。使用的函数结构:void Del(Link l) /* 删除

6、*/int sel;Node *p,*r;char findmess20;if(!l-next)printf(n= 提示: 没有资料可以删除 !n); return;printf(n=1 按学号删除 n=2 按姓名删除 n); scanf(%d,&sel);if(sel=1)printf( 请你输入要删除的学号 :); scanf(%s,findmess);p=Locate(l,findmess,num);if(p)r=l;while(r-next!=p) r=r-next;r-next=p-next;free(p);printf(n= 提示 : 该学生已经成功删除 !n); shoudsav

7、e=1;(4) 、学生资料修改:输入要修改的学生号,若找到则输入新的学生信息,并提 示资料修改成功;若找不到则输出查找失败的信息。使用的程序结构:void Modify(Link l)Node *p;char findmess20;if(!l-next) printf(n= 提示 : 没有资料可以修改 !n); return;printf( 请你输入要修改的学生学号 :);sea nf(%s,fi ndmess); p=Locate(l,fi ndmess, nu m);if(p)printf(请你输入新学号(原来是%s):,p-data.num);sea nf(%s,p-data .nu m

8、);printf(请你输入新姓名(原来是%s):,p-data.name);sea nf(%s,p-data. name);getchar();printf(请你输入新性别(原来是%s):,p-data.sex);sea nf(%s,p-data.sex);printf(请你输入新的e语言成绩(原来是扮):,p-data.egrade);sea nf(%d,&p-data.egrade);getehar();printf(请你输入新的数学成绩(原来是%分):,p-data.mgrade);sea nf(%d,&p-data.mgrade);getehar();printf(请你输入新的英语成绩

9、(原来是%分):,p-data.egrade);sea nf(%d,&p-data.egrade);p-data.totle=p-data.egrade+p-data.egrade+p-data.mgrade;p-data.ave=p-data.totle/3;printf(n=提示:资料修改成功!n);(5) 、学生成绩的排序,并统计单科的最高分。(6) 、退出系统。2、系统程序流程图图1.1总流程图图1.2登记学生资料图1.3查询学生资料图1.4删除学生资料图1.5修改学生资料图1.6保存文件与退出系统3、重要函数介绍数据输入函数“ cin() ”查看数据函数“ lookdata()”插入

10、数据的函数“ insert()”查看数据的函数“ find() ”更新数据的函数“ update()”保留数据函数“ save()”主函数mai n()利用无限次循环for(;)和swithch()实现各函数的调用,系统根据输入的 数字选项来调用相应的函数。初始化函数 STUDENT *init()这是一个无参函数,里面只有一个语句,它的作用是使链表初始化 ,使 head 的值为NULL比如:没有这个函数的话,在你没有输入任何数据的情况下,去 执行显示功能的时候会显示一些乱码! 菜单选择函数 int menu_select();这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系

11、 统的九大功能,根据每个功能前面的序号进行选择, 中间还显示系统当前的时间。 等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现! 输入记录函数 STUDENT *create()这是一个无参函数,用来执行第学生成绩记录的输入,当学生为 0 时停止输 入,函数结束后,带回一个指向链表头的指针head。算法:先声明一个首节点head,并将head-next设为NULL每输入一个数据就 声明一个新节点p,把p-next设为NULL并且链接到之前列表的尾端。在定义数据类型时,由于学生成绩管理信息需要由不同类型的数据反映出来。如:姓名、性别都需要用 char 型数据,而学号和成绩则需要

12、用 int 型数据, 并且每位同学的以上信息都需要一次性输入,所以采用结构体类型定义。如:typedef struct student/* 定义结构体 */ 定义char型姓名 定义 int 型学号定义char型性别char name20 ;int num10 ;定义 int 型英语成绩 定义 int 型数学成绩 定义 int 型计算机成绩结构体指针char sex int cgrade; int mgrade; int egrade; totle;struct student *next;stu;五、程序运行背景: VC+VC+ 简介现在说的VC就是指的VC+是指编程工具.vc+就和tc差不

13、多,是一个调 试,运行的环境,是微软开发的 visual 组件.VC+是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用C+的一个 开发平台有些软件就是这个编出来的 另外还有VB,VF.只是使用不同语言 但是 ,vc+是Windows平台上的C+编程环境,学习VC要了解很多 Windows平台的特性并且还要掌握MFC ATL、COM等的知识,难度比较大。Windows下编程需要了 解Windows的消息机制以及回调(callback )函数的原理;MFC是 Win32API的 包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM!代码共享的二进制标准,需要掌握其基本

14、原理等等。VC 作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的 入门感到难于上青天, 究其原因主要是大家对他错误的认识造成的, 严格的来说 VC+不是门语言,虽然它和 C+之间有密切的关系,如果形象点比喻的话,可以 C+看作为一种”工业标准”,而VC+则是某种操作系统平台下的”厂商标准”, 而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。VC+应用程序的开发主要有两种模式,一种是 WIN API方式,另一种则是 MFC方式,传统的 WINAPI开发方式比较繁琐,而 MFC则是对 WINAPI再次封装, 所以MFC相对于WIN API开发更具备效率优势。六、调试问题及解决方法:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号