ID: 18128647

C语言程序设计_综合实训 课件(共16张PPT)(高教版)

日期:2026-02-12 科目: 类型:课件 查看:30次 大小:2792963B 来源:二一课件通
预览图 1/7
语言,程序设计,综合,实训,课件,16张
  • cover
(课件网) 综合实训 实训目标 掌握面向过程的编程思想和程序设计过程; 掌握实训报告的编写方法。 实训准备 10.1 程序设计步骤 进行程序设计时一般遵循以下步骤: 需求分析 在这个环节,根据用户的具体要求进行以下工作: 用户需求分析。 数据及处理分析。 可行性分析。 运行环境分析。 对初学者而言,关键处理好需求分析和数据及处理分析这两个方面的工作。 系统设计 分为总体设计和详细设计。 系统实现 选择适当的程序设计语言,把详细设计的结果描述出来,即形成源程序,并上机运行调试源程序,修改发现的错误,直到得出正确的结果。 建立文档资料 整理分析程序结果,建立相应的文档资料,以便日后对程序进行维护或修改。 10.2 程序设计应用实例 开发一个学生成绩管理系统,用于对班级的学生成绩进行处理。班级有N个学生,每个学生的信息包括学号、姓名、性别和3门课成绩。系统功能要求为: 录入学生数据; 查询学生数据; 更新学生数据; 统计学生数据; 保存学生数据。 系统分析 系统设计 总体设计 详细设计 主控程序设计 成绩输入模块 输入模块主要完成将数据输入到单链表中的工作。在成绩管理系统中,可以从键盘逐个输入学生记录,也可以从以二进制形式存储的数据中读入。学生记录由学生的基本信息和成绩信息构成。 成绩查询模块 查询模块按学号或者姓名查找满足条件的学生记录。用户可以按照学生的学号或者姓名进行查找,若找到相应记录则返回指向该学生记录的指针;否则,返回一个NULL的空指针,并打印“没找到该学生”的提示信息。 成绩更新模块 此模块完成对学生记录的管理维护,主要是对学生记录的修改、删除、排序操作。 修改记录模块 删除记录模块 排序模块 统计模块 数据结构设计 学生成绩信息结构 struct student{ char num[10]; //学号 char name[20]; //姓名 char sex[4]; //性别 int cgrade; //C语言成绩 int mgrade; //数学成绩 int egrade; //英语成绩 int total; //总分 int ave; //平均分 char neartime[10]; //最近更新时间 }; 结构体student将用于存储学生基本信息,作为单链表的数据域。 单链表node结构 typedef struct node{ struct student data; struct node *next; }Node,*Link; 系统实现 printstart() 函数原型:void printstart() printstart()函数用于在以表格形式显示学生记录时,打印出表头信息。 printc() 函数原型:void printc() printc()函数用于显示以表格形式打印学生记录时,打印输出单链表学生信息。 Locate() 函数原型:Node*Locate(Link l,char findmess[],char nameornum[]) Locate函数用于定位链表中符合要求的结点,并返回该指针。 Add() 函数原型:void Add(Link l) Add函数用于在单链表l中增加学生记录结点。 Qur() 函数原型:void Qur(Link l) Qur()函数用于在单链表l中按学号或者姓名查找满足条件的学生,并显示出来。 Del() 函数原型:void Del(Link l) Del()函数用于先在单链表l中找到满足条件的学生记录结点,然后删除该结点。 Modify() 函数原型:void Modify(Link l) Modify()函数用于在单链表l中修改学生记录。 Count() 函数原型:void Count(Link l) Count()函数用于统计单链表l中所有的学生成绩总分、平均最高分及各单科成绩最高的学生。 Sort() 函数原型:void Sort(Link l) Sort()函数用于单链表l中完成利用插入排序算法实现单链表的总分字段的降序排序。 Save() 函数原型:void Save(Link l) Save()函数用于将单链表l中的数据写入磁盘中的数据文件。 Disp() 函数原型:void Disp(Link l) Disp()用于显示资料。 printe() 函数原型:void printe(Node *p) printe() 用于输出学生信息。 Nofind() 函数原 ... ...

~~ 您好,已阅读到文档的结尾了 ~~