C语言实训指导-2015_12_27_更新版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计实训指导文档 主要功能介绍 请输入相应序号选择相关功能: 1:录入数据 2:显示包括删除数据在内的全部数据 3:显示未删除数据 4:搜索数据 5:修改数据 6:删除数据 7:显示各种统计信息 0:退出 7 请选择相应功能的序号: 1:查询各科平均分 2:查询每个学生的总分和平均分(由高到低排列) 3:查询各科不及格学生的学号和姓名 4:各科成绩按从高到低排列 实训任务涉及知识点 链表操作 链表节点定义 链表初始化及显示 链表基本操作的函数实现 文件操作 文件操作基本步骤 添加数据,读取数据 查找数据 修改数据 程序评分标准 程序子项目 分数 完成日期 主界面 5 周三 录入数据 10 显示所有数据 10 显示未删除数据 10 搜索数据 10 修改数据、删除数据 10 统计—查询各科平均分 5 周四 统计—查询每个学生总分、平均分 10 统计—查询各科不及格学生学号和名称 10 统计—各科成绩从高到低排列 10 周四 功能扩充 20 教学计划 星期 节次 主要实训内容 二 1、2 项目总体说明 5、6 链表和文件基本操作 7、8 链表和文件基本操作 9、10 结构体设计 三 1、2 总体界面设计,成绩数据录入 3、4 成绩显示,按学号查找数据 5、6 按学号修改学生数据 7、8 按学号删除学生数据 9、10 按学号查找未删除数据 四 1、2 按学号、科目求平均分和总分 5、6 按单科分数、学生总分排名 7、8 功能扩充 9、10 汇报,成绩评定 上交文件 源代码—放在一个专门目录:code 可执行文件—文件名称为:scalMgr.exe 实训报告—文件名称为:C语言实训报告_1524_183_练淼鑫.docx 文件夹名字:C实训_1524_183_练淼鑫 链表操作 程序示例1:链表初始化和打印程序示例 #include stdio.h #include stdlib.h //链表节点定义 typedef struct node { int n; struct node *next; } NODE; //主程序 int main(int argc, char *argv[]) { NODE *head, *last,*p; //初始化链表 int i; p = (NODE*)malloc(sizeof(NODE)); p-n = 1; p-next = NULL; head = p; last = p; for(i = 2;i = 10;i ++) { p = (NODE*)malloc(sizeof(NODE)); p-n = i; p-next = NULL; last-next = p; last = p; } //打印链表 p = head; while(p != NULL) { printf(%d\n,p-n); p = p-next; } getchar(); return 0; } 程序示例2:以函数实现链表基本操作程序示例 //本程序实现了添加新节点,修改指定节点的数据,删除指定节点,冒泡法排序 #include stdio.h #include stdlib.h //链表节点结构体定义 struct node { int data; struct node *next; }; typedef struct node NODE; //添加新节点至数据域的值为m的后面,新节点的数据域为n //函数中的head参数都是指头节点 int insert(NODE *head,int m,int n) { NODE *p,*newNode,*q; //在子函数中手工分配的内存,不会在函数调用结束后释放。 newNode=(NODE*)malloc(sizeof(NODE)); newNode-data=n; newNode-next=NULL; p=head; while(p!=NULL) { if(p-data==m) { q=p-next; //临时保存p的下一个节点地址 p-next=newNode; newNode-next=q; break; } p=p-next; } } //值为m的节点数据域修改为n int update(NODE *head,int m,int n) { NODE *p; p=head; while(p!=NULL) { if(p-data==m) {

文档评论(0)

宝贝计划 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档