C语言课程设计报告.docx
- 文档编号:17880669
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:8
- 大小:17.32KB
C语言课程设计报告.docx
《C语言课程设计报告.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告.docx(8页珍藏版)》请在冰点文库上搜索。
C语言课程设计报告
C语言课程设计报告
题目:
教师信息管理系统
姓名:
班级:
学号:
指导老师:
题目:
教师信息管理系统
一、课程设计的目的和要求
加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。
二、课程设计的涉及的内容
在熟练掌握C语言的基本知识:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。
三、实践任务(要解决的问题)
1.在一个工程中多文件的应用。
解决方法:
查阅并参考C语言程序设计实验基础
2.有时需要的关键字掌握的不多,不能很好熟练的运用。
解决方法:
询问同学并且从网上查阅资料,最终明白了其使用方法
四、设计流程图(设计思路)
定义函数输入学生注册信息输入学生成绩信息
输出。
五、附原程序
#include
structStudent/*定义了一个结构体类型名为struct的结构体*/
{
intnum;/*结构体中的成员学号*/
charname[20];/*结构体中的成员*/
floatscore[3];/*结构体中的成员*/
floatavg;/*结构体中的成员*/
}stus[30];/*结构变量*/
voidAdd();//填加学员
voidList();//学员详细列表
voidAsc();//显示后三名学员
voidDesc();//显示前三名学员
voidDisplay();/*退出*/
voidmain()/*主函数*/
{
ints;/*定义变量s*/
while
(1)
{
printf("学员管理系统:
\n");
printf("1、增加学员\n");
printf("2、学员详细列表\n");
printf("3、显示前三名\n");
printf("4、显示后三名\n");
printf("5、显示平均成绩\n");
printf("6、退出\n");
printf("请选择:
");
scanf("%d",&s);/*给s赋值*/
switch(s)/*调用swich语句*/
{
case1:
/*当s=1时*/
Add();
break;
case2:
/*当s=2时*/
List();
break;
case3:
/*当s=3时*/
Desc();
Display();
break;
case4:
/*当s=4时*/
Asc();
Display();
break;
case5:
/*当s=5时*/
Display();
break;
case6:
/*当s=6时*/
return;
break;
default:
/*错误*/
printf("选择错误!
\n");
break;
}
}
}
voidAdd()/*增加学员函数,学员个数不多于30个*/
{
inti,k;/*变量的定义*/
floatsum;/*变量的定义*/
charc;/*变量的定义*/
for(i=0;i<30;i++)/*调用for语句*/
{
printf("请输入第%d个学员信息\n",i+1);/*输出学员信息语句*/
printf("学号:
");/*输出学员学号*/
scanf("%d",&stus[i].num);/*对结构体中的成员数*/
printf("姓名:
");/*输出姓名*/
fflush(stdin);
scanf("%s",stus[i].name);/*对结构体中的成员赋姓名*/
printf("请输入三门课的成绩:
\n");/*输出成绩*/
/*以下时求学员三门成绩的平均值*/
sum=0;
for(k=0;k<3;k++)
{
printf("%d:
",k+1);
scanf("%f",&stus[i].score[k]);
sum+=stus[i].score[k];
}
stus[i].avg=sum/3;/*求出平均值*/
printf("是否继续?
");
fflush(stdin);
scanf("%c",&c);
if(c=='n'||c=='N')
return;
}
}
voidList()
{
inti,j=0;
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均\n");
for(i=0;i<30;i++)
{
if(stus[i].num!
=0)
{
printf("%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stus[i].num,stus[i].name,stus[i].score[0],stus[i].score[1],stus[i].score[2],stus[i].avg);
}
}
}
voidAsc()/*显示后三名学员信息*/
{
inti,j;
structStudentc;
for(i=0;i<30;i++)
{for(j=0;j<29-i;j++)
if(stus[j].avg { c=stus[j]; stus[j]=stus[j+1]; stus[j+1]=c; } } } voidDesc()/*显示前三名学员信息*/ { inti,j; structStudentc; for(i=0;i<30;i++) {for(j=0;j<29-i;j++) if(stus[j].avg>stus[j+1].avg) { c=stus[j]; stus[j]=stus[j+1]; stus[j+1]=c; } } } voidDisplay()/*显示所有学员信息*/ { inti,d=0; printf("学号\t姓名\t平均\n"); for(i=0;i<30;i++) { if(stus[i].num! =0) { printf("%d\t%s\t%.2f\n",stus[i].num,stus[i].name,stus[i].avg); d++; } if(d==3) break; } } 六、程序设计的小结与体会 1.通过这次对程序的设计,学会了将课本的知识转换成实际开完成,学会了运用课堂的知识来完成实际问题。 通过与同学交流,提高了自己的交际能力;通过自己的思考和努力,使自己的探索精神和理解力加强。 2.通过此次设计,认识到了自己在学习次此方面知识的欠缺,意识到了学无止境的含义,并且认识到了知识在用时方恨少。 更重要的是,增强了自己的创新能力和求知欲,以此为基点,继续提高,继续进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告