- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)
{
您可能关注的文档
最近下载
- 临床心理门诊各项规章制度.pdf VIP
- T_CAGHP 041-2018 崩塌防治工程施工技术规范(试行).docx VIP
- 成立医疗技术临床应用管理委员会的通知(20210923160840).docx VIP
- 20230519成都万象城 项目介绍2023(压缩).pdf VIP
- 化妆品车间设计规范.docx
- IEC60335-1-2020中文版-家用和类似用途电器的安全第1部分:通用要求(中文翻译稿).docx VIP
- 清洁能源利用技术报告-天然气压差发电技术研究与项目规划.pdf VIP
- 垃圾焚烧工艺流程图2018.pdf VIP
- 最新弃标函模板.docx VIP
- 腾势-腾势X-产品使用说明书-经典版(插混)-QCJ6490ST6HEV-腾势X插电式混动SUV用户手册20191212.pdf VIP
文档评论(0)