c语言程序课程设计-学生成绩管理程序.doc

c语言程序课程设计-学生成绩管理程序.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序课程设计-学生成绩管理程序

武汉科技大学 二〇一〇~二〇一一学年第一学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 自动化2009级2班 学 号: 姓 名: 指导老师: 二〇一〇 年 九 月 设计题目:学生成绩管理程序 任务:自学C语言中相关知识,设计出学生成绩管理程序。 设计要求: 能录入学生信息存储在文件中,每位学生录入的信息有:姓名、学号、性别、班级、和三门功课(数学、英语、计算机)的成绩; 能够统计每个学生三门课程的总成绩; 能按学生学号查询其三门功课成绩并显示; 能浏览全部学生成绩; 能按总成绩有高到低显示学生信息。 系统功能需求分析: 系统要求用户必须输入正确的信息格式; 系统应该提供已经记录在案的信息数目; 系统应提供查询、删除、保存、浏览功能; 系统总体设计框架: 系统功能模块图:1,登记学生资料尽快保存; 2,删除学生信息; 3,查询学生信息; 4,修改学生信息; 5,保存学生信息; 6,保存资料后浏览全部学生成绩; 7,保存资料后按总成绩排名; 退出系统。 功能模块的算法设计思路: 1,增加学生:将指针放在链表尾,开辟一个结构体单元,输入学号,查找是否有重复学号,如无,则写入,再关闭文件。 2,查询信息:如果l-next为空,则无信息;按学号查,输入要查的学号,与链表中数据一个一个进行比较,找到所在处,指针指向,输出信息。无信息则提示。 3,删除信息:如果l-next为空,则无信息;按学号删,输入要删的学号,在链表中号码一个一个与所找学号比较,找到后将前一个数据的尾接到后一个的头; 4,修改信息:如果l-next为空,则无信息,输入要该的学号,在文件中找到,重新写入各项信息,保存。 5,保存:打开一个制定文件,将链表的内容写入文件中,关闭文件。 6,浏览:打开文件,找到链表头,逐个输出。 7,排序:建立一个新的结构体,将文件中内容复制到新结构体中,用冒泡排序将总成绩排序,输出。 工作流程图: 主要源程序代码: #include stdio.h #include stdlib.h #include string.h int numbercount=0; /* */ struct student { char num[10];/* 学号 */ char name[20]; /*姓名*/ char sex[10];/*性别*/ char clas[10];/*班级*/ int mgrade;/*数学*/ int egrade; /*英语*/ int cgrade;/*计算机*/ int totle;/*总分*/ }; typedef struct node { struct student data; struct node *next; }Node,*Link; void printenglish(Node *p)/* 本函数用于输出英文 */ { printf(%-12s%s\t%s\t%s\t%d\t%d\t%d\t%d\n,p-data.num,p-data.name,p-data.sex,p-data.clas,p-data.mgrade,p-data.egrade,p-data.cgrade,p-data.totle); } void Add(Link l) /* 增加学生信息*/ { Node *p,*r,*s; char num[10],a[10]; r=l; /*l为小写L*/ s=l-next; while(r-next!=NULL) r=r-next; /* 将指针置于最末尾 */ while(1) { printf(请你输入学号:); scanf(%s,num); for(;s!=NULL;s=s-next) { if(strcmp(s-data.num,num)==0) { printf(提示:学号为%s的学生已经存在,若要修改请你选择4 修改!\n,num); printf(学号 姓名 性别 班级 数学成绩 英语成绩 计算机成绩 总分\n); printenglish(s); printf(\n);

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档