C程序设计综合实验报告.docx
- 文档编号:11401742
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:15
- 大小:145.66KB
C程序设计综合实验报告.docx
《C程序设计综合实验报告.docx》由会员分享,可在线阅读,更多相关《C程序设计综合实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
C程序设计综合实验报告
华北科技学院计算机系综合性实验
实验报告
课程名称C程序设计
实验学期2011至2012学年第二学期
学生所在系部
年级专业班级
学生姓名学号
任课教师孙改平
实验成绩
计算机系制
《C程序设计》课程综合性实验报告
开课实验室:
计算机基础实验室2012年06月28日
实验题目
学生成绩管理系统的设计
一、实验目的
通过该实验把C语言中基本知识(如:
顺序结构、选择结构、循环结构、数组、函数、指针、链表等)得到综合应用。
完成学生成绩管理系统基本功能设计,提高学生的编程能力和分析问题、解决问题的能力。
二、设备与环境
硬件:
多媒体计算机
软件:
Windows系列或DOS系列的操作系统、C语言
三、实验内容
1、实验内容
对学生基本信息,包括学号、姓名、至少三门课成绩。
1学生基本信息录入;
2学生基本信息的输出;
3按学号查询学生信息;
4按学号修改某学生信息并输出;
5求每个人平均成绩;
6删除某学生信息;
7添加某学生信息
8输出平均分大于80分的同学信息;
9根据总成绩或平均成绩综合排名;(此功能用链表处理的同学可不做)
2、实验要求
a、用结构体数组或链表存储学生信息
b、基本功能用函数实现;
c、至少完成实验内容中4个功能,学生可以自己增加或减少题目功能;
d、程序能正确执行、输入与输出有必要的提示信息、界面美观;
e、用菜单调用加分。
用链表加分。
3、最后结果输出。
要求:
输出格式要界面直观、清晰大方、格式规范。
四、实验结果及分析
1、实验运行过程及分析
2、运行结果
3、心得体会
通过c语言的学习我初步了解了c语言这门学科,虽然学起来会有一定的难度。
但是我觉得要学好这门学科是还是要学好的,为学其他语言打下一个基础。
通过这次期末实验报告的完成,自己充分的认识到了在这门学科上的所认知的局限与自己学习不足,但同时通过这次的实验报告自己的收获也颇丰,这个学习系统将以往所有的知识全部串联起来,是对我们对基础知识掌握的一次大的考验。
C语言是与我的专业的一门基础学科,这一学期的不足,比如在指针方面的知识运用的还不是很理想,结构体方面运用的还是不太熟,知识的范围还只是局限在书本上,课外的了解的还是不太多,希望在下学期的学习中可以能够有所改善,同时也希望在老师的指导下能够进步更大。
C语言的学习,我找到了一些C语言的学习上的小窍门,我相信这将有助于我对这一门学科的学习。
C语言这门学科是一门灵活,时间能力强,知识运用丰富的课程,当然,在这门学科中遇到的问题也是多不可数,通过一次一次对困难的克服,让我信心倍增,尤其是能把学生管理系统的基本功能的代码写出来,一种自豪感油然而生,这种小小的成就感增加了我对程序设计语言的学习的信心,希望在以后程序设计语言的学习上面有更大的突破。
程序源代码:
#include
#include
#include
#include
#defineN4
#defineE8
#defineS4
#defineW6
structstudent
{
intnum;
charname[E];
intscore[S];
}stu[W],stud,stun,student;
intave[W]={0},sum[W]={0};
inti,j,k,count=0;
voidInput(structstudentstu[])/*学生信息输入*/
{
structstudents;
for(i=0;i { printf("\npleaseinput%dof%d\n",i+1,N); printf("num: "); scanf("%d",&stu[i].num); printf("name: "); scanf("%s",&stu[i].name); for(j=0;j { printf("score%d: ",j+1); scanf("%d",&stu[i].score[j]); } count++; printf("Thestatisticalnumberofstudents: count=%d",count); printf("\n"); } } voidPrint(structstudentstu[])/*学生信息输出*/ { if(count==i) { printf("\nNumNameScorelScore2Score3Score4\n"); for(i=0;i { printf("%-6d%-10s",stu[i].num,stu[i].name); for(j=0;j<4;j++) printf("%-12d",stu[i].score[j]); printf("\n"); } } if(count! =i) { printf("\nNumNameScorelScore2Score3Score4\n"); for(i=0;i { printf("%-6d%-10s",stu[i].num,stu[i].name); for(j=0;j<4;j++) printf("%-12d",stu[i].score[j]); printf("\n"); } for(i=N;i { printf("%-6d%-10s",stu[count].num,stu[count].name); for(j=0;j<4;j++) printf("%-12d",stu[count].score[j]); printf("\n"); } } } voidAverage(structstudentstu[])/*求平均分和总分*/ { if(count==i) { for(i=0;i { for(j=0;j { sum[i]=sum[i]+stu[i].score[j]; } ave[i]=sum[i]/S; } printf("Numnameavesum\n"); for(i=0;i { printf("%-8d%-8s%-6d%-6d",stu[i].num,stu[i].name,ave[i],sum[i]); printf("\n"); } } else { for(i=0;i { for(j=0;j { sum[i]=sum[i]+stu[i].score[j]; } ave[i]=sum[i]/S; } printf("Numnameavesum\n"); for(i=0;i { printf("%-8d%-8s%-6d%-6d",stu[i].num,stu[i].name,ave[i],sum[i]); printf("\n"); } for(i=N;i { for(j=0;j { sum[count]=sum[count]+stu[count].score[j]; } ave[count]=sum[count]/S; } for(i=N;i { printf("%-8d%-8s%-6d%-6d",stu[count].num,stu[count].name,ave[count],sum[count]); printf("\n"); } } } voidAdd(structstudentstu[])/*添加新学生信息*/ { if(count==6) { printf("Studentachievementtableisfull! "); return; } count+=1; printf("Newnum: "); scanf("%d",&stu[count].num); printf("Newname: "); scanf("%s",&stu[count].name); for(j=0;j { printf("Newscore%d: ",j+1); scanf("%d",&stu[count].score[j]); } printf("\n"); } voidmenu()/*主目录*/ { printf("---------------------------------------------------------------\n"); printf("\n\n"); printf("*********Studentachievementmanagementdirectory*********\n"); printf("\n"); printf("1Inputstudentachievementinformation.\n"); printf("2Querystudentachievementinformation.\n"); printf("3Deletestudentachievementinformation.\n"); printf("4Addtostudentperformanceinformation.\n"); printf("5Theaveragescoreandtotalscoreofstudentachievement.\n"); printf("6Theoutputofstudentachievementinformation.\n"); printf("\n\n"); printf("---------------------------------------------------------------\n"); printf("\n"); } voidmain() { intnum; printf("*****Studentachievementmanagementsystem*****\n"); printf("\n\n"); menu(); printf("Pleasechoosethecorrespondingnumber: "); scanf("%d",&num); while(num! =0) { switch(num) { case1: Input(stu);break; case2: Search(stu);break; case3: Delete(stu);break; case4: Add(stu);break; case5: Average(stu);break; case6: Print(stu);break; default: break; } menu(); printf("Pleaseinputthecorrespondingoptionsnumber: "); scanf("%d",&num); } getch(); } 教师评价 评定项目 A B C D 评定项目 A B C D 算法正确 界面美观,布局合理 程序结构合理 操作熟练 语法、语义正确 解析完整 实验结果正确 文字流畅 报告规范 题解正确 其他: 评价教师签名: 2012年6月29日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 综合 实验 报告