欢迎来到天天文库
浏览记录
ID:18589088
大小:359.50 KB
页数:12页
时间:2018-09-19
《c程序设计综合实验报告(2013)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、华北科技学院计算机学院综合性实验报告华北科技学院计算机学院综合性实验实验报告课程名称C程序设计实验学期2012至2013学年第二学期学生所在系部计算机学院年级12级专业班级信管B12-1班学生姓名何欢学号201207034122任课教师孙改平实验成绩计算机学院制第11页华北科技学院计算机学院综合性实验报告《C程序设计》课程综合性实验报告开课实验室:计算机基础一实验室2013年06月24日实验题目学生成绩管理系统的设计一、实验目的通过该实验把C语言中基本知识(如:顺序结构、选择结构、循环结构、数组、函数、指针、链表等)得到综合应用。完成学生成绩管理系统基本功能
2、设计,提高学生的编程能力和分析问题、解决问题的能力。二、设备与环境硬件:多媒体计算机软件:Windows系列或DOS系列的操作系统、C语言。三、实验内容1、实验内容对学生基本信息,包括学号、姓名、至少三门课成绩。①学生基本信息录入;②学生基本信息的输出;③按学号查询学生信息;④按学号修改某学生信息并输出;⑤求每个人平均成绩;⑥删除某学生信息;⑦添加某学生信息⑧输出平均分大于80分的同学信息;⑨根据总成绩或平均成绩综合排名;(此功能用链表处理的同学可不做)2、实验要求a、用结构体数组或链表存储学生信息;b、基本功能用函数实现;c、至少完成实验内容中4个功能,学
3、生可以自己增加或减少题目功能;d、程序能正确执行、输入与输出有必要的提示信息、界面美观;e、用菜单调用加分,用链表加分。3、最后结果输出。要求:输出格式要界面直观、清晰大方、格式规范。第11页华北科技学院计算机学院综合性实验报告四、实验结果及分析1、实验运行过程及分析:运行程序:欢迎使用学生管理成绩录入成绩输出输出带有平均分的成绩按学号查找成绩输出平均分大于80优等生退出系统(1)函数库的调用:#include#include(2)结构体的定义:structxsnode{intxh;//学号charxm[15];//姓名
4、intgs;//高数成绩intyy;//英语成绩intwl;//物理成绩doublepj;//平均成绩structxsnode*next;(3)建立链表:structxsnode*create()//链表建立{inti;intn;structxsnode*head=NULL,*p;printf("输入班级人数:");scanf("%d",&n);printf("输入学生信息");printf("学号姓名高数英语物理");for(i=0;i5、11页华北科技学院计算机学院综合性实验报告scanf("%d%s%d%d%d",&p->xh,p->xm,&p->gs,&p->yy,&p->wl);if(head==NULL){head=p;head->next=NULL;}else{p->next=head;head=p;//新节点插入头节点前面,head指向新节点}}returnhead;}(4)输出链表:函数定义为output1,输出成绩单voidoutput1(structxsnode*xshead)//链表输出{structxsnode*p=xshead;printf("输出学生信息6、");printf("学号姓名高数英语物理");while(p!=NULL){printf("%-8d%-10s%-9d%-9d%-9d",p->xh,p->xm,p->gs,p->yy,p->wl);p=p->next;}}(5)求平均成绩,并输出带有平均成绩的成绩单voidaverage(structxsnode*xshead)//求每个人的平均成绩{structxsnode*p=xshead;while(p){p->pj=(p->gs+p->yy+p->wl)/3.0;p=p->next;}}voidoutput2(structxsnode7、*xshead)//输出带有平均成绩的成绩单{structxsnode*p=xshead;printf("输出学生信息");printf("学号姓名高数英语物理平均分");while(p!=NULL){printf("%-8d%-10s%-9d%-9d%-9d%-9.2f",p->xh,p->xm,p->gs,p->yy,p->wl,p->pj);p=p->next;}}(6)按学号进行成绩查找并且输出查找结果:voidsearch(structxsnode*xshead,intn)//按学号查找成绩{structxsnode*p=x8、shead;average(xshead);//调用
5、11页华北科技学院计算机学院综合性实验报告scanf("%d%s%d%d%d",&p->xh,p->xm,&p->gs,&p->yy,&p->wl);if(head==NULL){head=p;head->next=NULL;}else{p->next=head;head=p;//新节点插入头节点前面,head指向新节点}}returnhead;}(4)输出链表:函数定义为output1,输出成绩单voidoutput1(structxsnode*xshead)//链表输出{structxsnode*p=xshead;printf("输出学生信息
6、");printf("学号姓名高数英语物理");while(p!=NULL){printf("%-8d%-10s%-9d%-9d%-9d",p->xh,p->xm,p->gs,p->yy,p->wl);p=p->next;}}(5)求平均成绩,并输出带有平均成绩的成绩单voidaverage(structxsnode*xshead)//求每个人的平均成绩{structxsnode*p=xshead;while(p){p->pj=(p->gs+p->yy+p->wl)/3.0;p=p->next;}}voidoutput2(structxsnode
7、*xshead)//输出带有平均成绩的成绩单{structxsnode*p=xshead;printf("输出学生信息");printf("学号姓名高数英语物理平均分");while(p!=NULL){printf("%-8d%-10s%-9d%-9d%-9d%-9.2f",p->xh,p->xm,p->gs,p->yy,p->wl,p->pj);p=p->next;}}(6)按学号进行成绩查找并且输出查找结果:voidsearch(structxsnode*xshead,intn)//按学号查找成绩{structxsnode*p=x
8、shead;average(xshead);//调用
此文档下载收益归作者所有