《C语言程序设计》大作业.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南昌大学软件学院 C语言程序设计工程实训 大 作 业 班级: 09软件技术(2)班 学号: 8001509107 姓名: 吴承增 指导老师: 危建国 2010年12月10日 系统说明书 1.问题描述: 该程序包内容包括以下的模块,均用子函数完成: (1)主菜单 (2)输入若干条记录并保存文件(指学生的信息) (3)学生信息录入、修改、删除、查询、存储。 (4)学生信息的浏览及排序(冒泡排序算法)。 (5)学生成绩的录入、修改。 (6)统计及格和优秀人数 (7)退出系统 2.程序设计和程序流程图: 解决方案: 主函数流程图: 各部分功能的流程图: 录入学生成绩流程图: 统计功能流程图如图3所示: 图3 统计模块流程图 冒泡排序流程图: 排序学生信息流程图: 删除学生成绩信息流程图: 3.系统的基本功能(主要数据和函数功能描述): char xh[15]; //以字符串数组形式存储学生学号 char name[25]// 以字符串数组形式存储学生姓名 char sex[5]; //性别 float sxcj; //数学成绩 float yycj; //英语成绩 float Cyycj; //C语言成绩 float ave; //平均成绩 float sum; //总成绩 #define N 4 //宏定义学生 #define MAX 60 //学生最大个数 int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生 int ScoreNew() //录入学生成绩int average() //求平均数 int xsxscj() //显示输入学生信息、将学生打印到屏幕上 int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息 int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息 int pxxsxx()//排序学生信息 int axhcx() //按学号查询 int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息 int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息 int scxsxx() //删除学生信息int gxxscj() //更新学生信息 int tjxscj() //统计学生成绩int save() //保存到文件 ((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开 int xswj() //显示文件信息 int main() //主函数mainmemu 4.拟采用开发平台: Visual C++,Borland C++等。 实验分析与结论: 成绩录入函数按次序录入系统中现存所有学生的所有科目上,每录入一个学生的成绩,首先显示其姓名和学号,然后依次输入英语、高数和C语言成绩。各科成绩初始化为0. 修改学生信息函数调用函数对需要修改信息的学生进行查找,找到后返回该学生所对应的下标值n,将用户录入的新值存入数组中. 删除学生信息函数调用SeachStud()函数对需要删除信息的学生进行查找,找到后返回该学生所对应的下标值n,用数组中第n个后面的元素依次向前覆盖,学生总数减1,即nCount-1。需要强调的是,数组是静态存储分配方式,在声明时,系统已经给数组分配了其标注的全部内在空间,而且直到本段代码运行结束都不会改变。所以,不可能将数组中不用的元素所占用的空间释放掉。本函数从后向前覆盖,删除学生信息,由于每个数组的读写的循环次数都不是以其长度为准的。而是以nCount值的大小来进行的,因此nCount—可以保证不会读到最后一个无效数据。 收获与体会: 学生成绩档案管理系统具备了数据的输入和成绩分类分析的功能。它能进行单独的一次数据处理。学习过循环结构以后,结合所学的知识点,增加系统重复处理数据的能力,既检验对知识的实际应用能力,又把系统的功能进一步充实。 刚开始很难下手,请教同学和老师后慢慢入手。渐渐地写点程序。本

文档评论(0)

好老师 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档