




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号华北科技学院计算机系综合性实验实验报告课程名称C语言程序设计实验学期 2011 至 2012 学年第二学期学生所在系部计算机系年级 2011 专业班级计算机科学与技术 B-111学生姓名 学号任课教师实验成绩计算机系制实验报告须知1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、 教师应该填写的内容包括:实验成绩、教师评价等。4、 教师根据本课程的综合性实验指导单中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所
2、涉及的程序,文档等在交 实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到 系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。页脚内容2C语言程序设计课程综合性实验报告开课实验室:基础五2012年7月6日实验题目基于链表的学生成绩管理系统一、实验目的1、掌握链表的创建、遍历显示和消除;2、掌握链表数据的文件保存、读取;二、设备匕环境微型计算机、VC+6.0三、实验内容1、定义结构体,创建链表struct xsnodeint xh;char xm15;学号int gs;int yy;int wl;struct xsnode *next;;2、根据以上链
3、表结点结构,实现以下功能a、学生学号、姓名、各门成绩的录入;b、链表数据显示及清除;c、链表数据的文件保存与读取;四、实验结果及分析1、运行结果主菜单表示*出 链显文寸退 建常矍 创数-12 3 4 5请选择操作ST二学号页脚内容38数据显示数据显示学号 姓名 高数英语物理平均分宋明江高紫90909090.60299GG9£9.609897959G.U0758S7876.0085S38787.60链表显示完毕,请按任意遮继续,2、源程序主函数void main()int xz=0;struct xs *head;head=init();while(xz!=5)menu();scanf
4、("%d",&xz);switch(xz)case 1:create(head);break;case 2:print(head);break;case 3:save(head);break;case 4:read(head);break;case 5:printf("n系统退出,拜拜!n");break;default:printf("n选择错误,请按任意键选择!n");getch();break;fr(head);free(head);数据录入源代码void create(struct xs *hd)int xh,gs,y
5、y,wl,i;char xm20;struct xs *p;fr(hd);printf("n请输入学生个数:");scanf("%d”,&num);for(i=0;i<num;i+)printf("请输入 d个学生 of %dn",i+1,num);printf("学号:");scanf("%d",&xh);printf("姓名:");scanf("%s",xm);printf("高数:");scanf("%d&q
6、uot;,&gs);printf("英语:");scanf("%d",&yy);printf("物理:");scanf("%d",&wl);p=(struct xs *)malloc(sizeof(struct xs);p->xh=xh;strcpy(p->xm,xm);p->gs=gs;p->yy=yy;p->wl=wl;p->next=hd->next;hd->next=p;printf("录入数据完毕,请按任意键继续!n&quo
7、t;);getch();添加记录源代码void print(struct xs *hd)struct xs*p;p=hd->next;if(p!=NULL)printf("n数据显示n");printf("*n");printf("学号 姓名 高数英语物理平均分n");printf("*n");while(p!=NULL)printf("%4d ",p->xh);printf("%10s",p->xm);printf("%8d",p-&g
8、t;gs);printf("%7d",p->yy);printf("%6d",p->wl);printf("%8.2fn",(p->wl+p->wl+p->wl)/3.0);p=p->next;printf("*n");printf("链表显示完毕,请按任意键继续!n");getch();elseprintf("n当前链表为空,请先读取文件或创建链表!n按任意键继续!n);查询记录源代码void menu() system("cls&quo
9、t;);printf("*n");printf("学生成绩管理系统(1.0)*n");printf("*n");printf("jb11-1 31 宋洁 2012-7-3*n");printf("*n");printf("1-创建链表*n");printf(" *2-数据显示*n");printf(" *3-保存文件*n");printf(" *4-读取义件*n");printf(" *5-系统退出*n&q
10、uot;);printf("*n");printf("请选择操作(1-5:");源程序#include"stdio.h"#include"stdlib.h"#include<string.h>#include"conio.h"struct xsint xh;char xm20;int gs,yy,wi;struct xs *next;;int num=0;struct xs *init()struct xs* hd;hd=(struct xs *)malloc(sizeof(stru
11、ct xs);hd->next=NULL;return hd;void fr(struct xs *hd)struct xs *p;p=hd->next;while(hd->next!=NULL)p=hd->next;hd->next=p->next;free(p);void create(struct xs *hd)int xh,gs,yy,wl,i;char xm20;struct xs *p;fr(hd);printf("n 请输入学生个数:");scanf("%d”,&num);for(i=0;i<num;
12、i+)printf("请输入 d个学生 of %dn",i+1,num);printf("学号:");scanf("%d",&xh);printf("姓名:");scanf("%s",xm);printf("高数:");scanf("%d",&gs);printf("英语:");scanf("%d",&yy);printf("物理:");scanf("%d&quo
13、t;,&wl);p=(struct xs *)malloc(sizeof(struct xs);p->xh=xh;strcpy(p->xm,xm);p->gs=gs;p->yy=yy;p->wl=wl;p->next=hd->next;hd->next=p;printf("录入数据完毕,请按任意键继续!n");getch();void save(struct xs *hd)if(hd->next!=NULL)struct xs *p=hd->next;int i;FILE *fp;fp=fopen(&quo
14、t;yh.txt","w");fprintf(fp,"%3dn",num);for(i=0;i<num;i+)fprintf(fp,"%3d %12s %3d %3d %3dn",p->xh,p->xm,p->gs,p->yy,p->wl);p=p->next;fclose(fp);printf("n保存文件完毕,请按任意键继续!n ");getch();else);printf("n当前链表为空,不需要保存,请按任意键继续!ngetch();void
15、read(struct xs *hd)int i;struct xs *p;FILE *fp;fr(hd);fp=fopen("yh.txt","r");fscanf(fp,"%3dn",&num);for(i=0;i<num;i+)p=(struct xs *)malloc(sizeof(struct xs);fscanf(fp,"%3d %12s %3d %3d %3dn",p->xh,p->xm,p->gs,p->yy,p->wl);p->next=hd-&g
16、t;next;hd->next=p;fclose(fp);printf("n读取文件完毕,t#按任意键继续!n");getch();void print(struct xs *hd)struct xs*p;p=hd->next;if(p!=NULL)数据显示n");printf("nprintf("I*n");printf("学号 姓名 高数英语物理平均分n");printf("*n");while(p!=NULL)printf("%4d ",p->xh);
17、printf("%10s",p->xm);printf("%8d",p->gs);printf("%7d",p->yy);printf("%6d",p->wl);printf("%8.2fn",(p->wl+p->wl+p->wl)/3.0);p=p->next;printf("I*n");printf(" 链表显示完毕,请按任意键继续!n");getch();else按任意键继printf("n当
18、前链表为空,请先读取文件或创建链表!n续!n"); void menu()system("cls");printf("*n");printf(" *学生成绩管理系统(1.0)*n");printf("*n");printf(" *jb11-1 31 宋洁 2012-7-3*n");printf("*n");printf(" *1-创建链表*n");printf(" *2-数据显示*n");printf(" *3-保存
19、文件*n");printf(" *4-读取义件*n");printf(" *5-系统退出*n");printf("*n");printf("请选择操作(1-5:");void main()int xz=0;struct xs *head;head=init();while(xz!=5)menu();scanf("%d",&xz);switch(xz)case 1:create(head);break;case 2:print(head);break;save(head);bre
20、ak;case 3:read(head);break;case 4:printf("n系统退出,拜拜!n");break;default:printf("n选择错误,请按任意键选择!n");getch();break;fr(head);free(head);3、试验收获通过这次试验,我掌握了链表的创建、遍历显示和清除功能,掌握了链表数据的文件保 存、读取,能够熟练的使用VC+6.0对C程序启广更深的了解。教 师 评 价评定项目ABCD评定项目ABCD算法止确界向美观,布局合 理程序结构合 理操作熟练语法、语义正 确解析完整实验结果正 确文字流畅报告规范题
21、解止确其他:评价教师签名:年 月日代码:#include"stdio.h"#include"stdlib.h"#include<string.h>#include"conio.h"struct xsint xh;char xm20;int gs,yy,wl;struct xs *next;;int num=0;struct xs *init()struct xs* hd;hd=(struct xs *)malloc(sizeof(struct xs);hd->next=NULL;return hd;void fr(s
22、truct xs *hd)struct xs *p;p=hd->next;while(hd->next!=NULL)p=hd->next;hd->next=p->next;free(p);void create(struct xs *hd)int xh,gs,yy,wl,i;char xm20;struct xs *p;fr(hd);printf("n请输入学生个数:");scanf("%d”,&num);for(i=0;i<num;i+)printf("请输入 d 个学生 of %dn",i+1,n
23、um);printf("学号:");scanf("%d",&xh);printf("姓名:");scanf("%s",xm);printf("高数:");scanf("%d",&gs);printf("英语:");scanf("%d",&yy);printf("物理:");scanf("%d",&wl);p=(struct xs *)malloc(sizeof(st
24、ruct xs);p->xh=xh;strcpy(p->xm,xm);p->gs=gs;p->yy=yy;p->wl=wl;p->next=hd->next;hd->next=p;printf("录入数据完毕,请按任意键继续!n");getch();void save(struct xs *hd)if(hd->next!=NULL)struct xs *p=hd->next;int i;FILE *fp;fp=fopen("yh.txt","w");fprintf(fp,&q
25、uot;%3dn",num);for(i=0;i<num;i+)fprintf(fp,"%3d %12s %3d %3d %3dn",p->xh,p->xm,p->gs,p->yy,p->wl);p=p->next;fclose(fp);printf("n保存文件完毕,请按任意键继续!n ");getch();elseprintf("n 当前链表为空,不需要保存,请按任意键继续!n ");getch();void read(struct xs *hd)int i;struct xs
26、*p;FILE *fp;fr(hd);fp=fopen("yh.txt","r");fscanf(fp,"%3dn",&num);for(i=0;i<num;i+)p=(struct xs *)malloc(sizeof(struct xs);fscanf(fp,"%3d %12s %3d %3d %3dn"p>xh,p->xmp>gsp>yyp>wl);p->next=hd->next;hd->next=p;fclose(fp);printf(&quo
27、t;n读取文件完毕,请按任意键继续!n");getch();void print(struct xs *hd)struct xs*p;p=hd->next;if(p!=NULL)printf("n数据显示 n");printf("I*n");printf("学号 姓名 高数英语物理平均分n");printf("I*n");while(p!=NULL)printf("%4d ",p->xh);printf("%10s'',p->xm);printf("%8d'',p->gs);printf("%7d",p->yy);printf("%6d"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石化管工考试试题及答案
- 新能源汽车项目评估与管理考试题及答案
- 家具行业设计师职业素养与能力模型试题及答案
- 新能源汽车技术的影响因素分析试题及答案
- 答辩能力测试题及答案
- 新能源汽车产业链条的完整性研究试题及答案
- 新能源二手车市场2025年评估与流通产业链布局研究报告
- 智能化监测技术在2025年环境监测数据质量控制中的应用前景分析报告
- 四川省德阳市重点名校2024-2025学年初三期末试题含解析
- 施工安全隐患整改的有效实施与试题及答案
- 《动画素描》第一章 动画素描概述
- 无轨胶轮车运行标准作业流程
- GB/T 12513-2006镶玻璃构件耐火试验方法
- 2023年云南省昆明市中考英语模试卷(含答案解析)
- 公路工程施工现场安全检查手册
- 部编版小学语文六年级下册《采薇》课件(完美)
- 幼儿园绘本故事:《十二生肖》 课件
- 马家河金矿选矿试验报告
- “新时代好少年”推荐表
- 园林绿化工程监理实施细则(完整版)
- 草坪学实习报告模板-Copy
评论
0/150
提交评论