




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告 课程名称 C语言程序设计 设计题目 学生成绩管理系统 专 业 地球信息科学与技术 2012年 1月 6日学生成绩管理系统课程设计报 告目录l 一课程设计目的(3)l 二内容与要求(3)l 三程序设计说明及其流程图(4)一、设计目的:1、进一步掌握和利用C语言进行程序设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、熟悉链表的操作;6、学会利用流程图或N-S图表示算法;7、学会如何将信息保存到文件;8、掌握如何书写程序设计报告。2、 设计内容和要求:(1)设计内容1、每一条记录包括一个学生的学号、姓名、4门课成绩及其总分;2、输入功能:可以完成记录的输入;3、显示功能:完成全部学生记录的显示;4、查找功能:完成按学号或姓名查找学生记录,并显示;5、删除功能:完成一个学生信息的删除;6、排序功能:按学生学号或者总分高低进行排序7、插入功能:按学号顺序插入一条学生记录;8、保存文件:将学生记录到一个文件中;9、打开文件:可以将学生信息从保存的文件中读取出来;10、菜单:提供一个界面来调用各个功能。(2)设计要求:有简单操作界面, 用户可以通过数字选择以下功能:1、录入成绩.(链表的建立,每个结点包括:学号、姓名、数学、物理、英语、计算机、总分);2、输出成绩.(链表的输出,按学号排序、按总分排序); 3、查找成绩.(按学号或姓名查找结点, 按学号顺序插入结点,按学号或者姓名删除结点); 4、保存到文件, 以及从文件中读出。三、程序设计说明及其流程图 整个系统除了主函数外,另外还有14个函数,其中两个个函数作用分别为首次使用该系统时的欢迎界面和是否选择进行文件导入,其余函数实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、删除功能、保存功能、读取功能。各个函数的详细设计说明分别如下:1、 学生成绩管理系统核心算法流程图开始是否导入文件信息 N Y导入文件信息主函数退出系统保存信息查询信息插入信息打开文件显示信息修改信息添加信息删除信息2、 begin函数 简单的利用printf输出一个欢迎的界面,没有其他需要说明的地方。3、 yourchoice函数 N-S流程图: 输入choice的值,选择下一步的操作choice=1 choice=2 执行load函数,进行文件信息导入 执行menu函数,跳转到菜单界面换 行利用一个switch语句,给用户一个对文件进行操作的机会。4、 输入函数算法:利用指针pp申请一个空间,用来创建链表,用pp-next=NULL初始化链表,如果链表为空,则将当前输入的结点作为首结点,即head=p1=pp,当链表不为空时,当前输入的即pp所指的结点放在p1所指的结点,并使pp指向刚才p1所指向的结点,当需要继续添加信息时,可以输入y,当接收字符y时,满足循环条件,继续一个循环输入,结束输入时,利用一个for循环把输入的信息顺便输出到屏幕上,便于检查和查看。算法流程图:开始开始是开始pp-next=NULLgetchar()=y N Y输入学生信息原来链表为空 Y Nhead=p1=ppp1-next=ppp1=ppgetchar()=y Y N显示输入的信息结束5、 删除函数算法:从p1指向的第一个结点开始,检查该结点中的学号number或者姓名name是否是输入的那个需要删除的结点对应的学号或姓名。如果相等就将该结点删除,如不相等,就将p1向后移动一个结点,如此进行下去,直到遇到表尾为止。N-S流程图: 链表是一个空表真 假输出“空表”p1=head numberp1-number或namep1-name,并且p1 所指的结点不是表尾结点 P2=p1(p2后移一个位置) P1=p1-next(p1后移一个位置) P1是要删除的结点是 否 p1是所指是头结点是 否输出“成绩表中午该学生信息!”Head=p1-next(删除头结点)P2-next=p1-next(删除一个结点)6、 插入函数算法:先将学生的成绩按平均分由高分到低分进行排序,再插入一个新生的结点,要求按平均分的高低顺序插入。先用指针变量pp指向待插入的结点,p1指向第一个结点。如果p0-numbernumber,则待插入的结点不应插在p1所指的结点之前。此时将p1后移,并使p2指向刚才p1所指的结点。重复以上的步骤,直到pp-number=p1-number为止。这时将pp指向的结点插到p1所指结点之前。但是如果p1所指的已是表尾结点,则p1就不应后移了。如果ppnumber比所有结点的number都小,则应将pp所指的结点插到链表末尾。如果插入的位置既不在第一个结点之前,又不在表尾结点之后,则将pp的值赋给p2-next,使p2-next指向待插入的结点,然后将p1的值赋给pp-next,使得pp-next指向p1指向的变量。如果插入位置为第一个结点之前,则将pp赋给head,将p1赋给pp-next。如果要插到表尾之后,应将pp赋给p1-next,NULL赋给pp-next。p1=head, pp=new原来的链表是空表是否将pp所指 当pp-numbernumber 以及p1所指向的不是表尾的结点作为结点唯一结点p2指向p1位置 p1向后移一个结点pp-number=p1-number是 否p1指向头结点p1-next=pp是否pp-next=NULLhead=ppp2-next=pp(插到表尾之后)pp -next=p1 pp-next=p1(插到表头之前) (插到表中间)n=n+1;(结点加1)N-S流程图:7、 查询函数算法:采用线性查找法往下一个节点查找。输入所要查找的学生的学号s,设一个指针变量p,先指向第一个结点,当strcmp(p1-number,f_number)!=0& p != NULL或者strcmp(p1-name,f_name)!=0& p != NULL时,使p后移一个结点,如果p!=NULL,输出p所指的结点。8、 修改函数算法:把头指针赋值给p1,如果链表为空,则显示无学生成绩,如果不为空,则从键盘输入需要修改的方式,学号或者姓名,然后利用p1进行查找。当p1指向的不是所要找的结点时,若p1-next=NULL,及链表只有一个结点信息,则输出无此学生信息;若有多个学生信息,则循环进行查找核对,直到找到需要修改的结点,找到要改的结点后,输出该结点信息,并选择需要修改的单项,进行修改。N-S流程图:p1=head head=NULL 真 假输出无该学生信息修改方式switch(a)a=1 a=2输入学号 输入姓名 p1指向的不是要找的结点真 假p2=p1p1=p1-next输入要改的项目 输入信息修改成功!9、 显示函数算法:先将p结点的指针指向第一个结点,将p1结点(即第一个结点)的数据输出。然后再将p结点的指针指向p1指针的的指针(即下一结点),将p结点(即第一结点)的数据输出。重复执行此步聚直到p1指针指向NULL为止。10、 排序函数算法:当后一个结点中总分比前一个结点中的总分要大,将p1指向的结点中的信息全部转换到中间变量temp, p2指向的结点中的信息赋给p1指向的结点中,将中间变量temp中的信息赋给p2所指向的结点,进行循环比较排序。11、 保存文件函数N-S流程图:输入要保存记录的文件地址outfile文件不能打开否是p1=head;输出一个出错信当p1不为空时息,并返回菜单fwrite(p1,LEN,1,fp); (写入一条记录)p1=p1-next; (指针后移)fclose(fp); (关闭文件)12、 读取文件函数开始输入文件名fp=fopen(infile,rb)=NULLCan not open file Y N申请空间i=0 Y Nhead=p2=p1p2-next=p1;p2=p1; i+输出信息p1-next!=NULL Y Nfclose(fp)结束4、 运行结果截屏分析 运行程序后,屏幕上显示欢迎界面,并提示用户是否导入已保存的信息:如果选择1,则可以导入已有文件中的信息,如下:如果选择不导入,则直接进入菜单界面:当进入主菜单后,建立新的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人生小满胜万全 教学设计-2023-2024学年高中下学期心理健康主题班会
- 专利实施许可合同常用范文6篇
- 2025合同管理的关键注意事项
- 2025年个人私人车位租赁合同
- 第六课 温故知新说课稿-2025-2026学年高中心理健康北师大版2015高中二年级全一册-北师大版2015
- 大同事业单位笔试真题2025
- 2025混凝土购销合同
- 2025企业停薪留职员工合同
- 人教部编版道德与法治九年级上册5.2凝聚价值追求说课稿
- 油墨厂咬底控制制度
- 国际伤口治疗师汇报
- 《电工基础(第2版)》中职全套教学课件
- 河道清淤与水生态恢复方案
- 2024-2025大学英语考试六级汉译英中英对照
- 铂类化疗药物配置
- 2024-2025学年广东省深圳实验学校高中园高一(上)第一次段考数学试卷(含答案)
- 2024-2025学年天津市和平区双菱中学七年级(上)第一次月考数学试卷
- ISO9001-2015质量管理体系内审培训课件
- 《无线电失效程序》课件
- 新生儿注射用药并发症防治及管理课件
- 泸州市专业技术人员年度考核登记表
评论
0/150
提交评论