c语言课设模版讲解.docx
- 文档编号:27827322
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:10
- 大小:207.73KB
c语言课设模版讲解.docx
《c语言课设模版讲解.docx》由会员分享,可在线阅读,更多相关《c语言课设模版讲解.docx(10页珍藏版)》请在冰豆网上搜索。
c语言课设模版讲解
C语言程序设计课程设计
评语:
考勤(10)
守纪(10)
过程(40)
设计报告(30)
答辩(10)
总成绩(100)
专业:
轨道交通及控制
班级:
信号130×班
姓名:
xxx
学号:
指导教师:
赵斌
兰州交通大学自动化与电气工程学院
2014年x月x日
1设计目的及要求
培养结构化程序设计思想,加深对高级语言基本语言要素和控制结构理解。
针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
掌握C语言的编程技巧和上机调试程序的方法。
掌握程序设计的常用算法。
2编程题一
2.1题目要求
数值算法
编写求以下函数
2.2程序分析
该题的实际目的是求m、n、(m-n)的阶乘,并且限制条件是m大于等于n。
所以在程序中先用if语句判断m是否大于等于n,若不是输出错误。
之后for语句分别求出m、n、(m-n)的阶乘,并进行运算,最后的出结果。
2.3流程图
函数求解流程图如图1所示。
图1组合求值流程图
2.4源程序与运行结果
源程序与运行结果见附录一。
3程序改错题
3.1题目要求
main()
{
intab;
a=2;
b=3;
c=a*b
printf("c=%c,c);
}
3.2错误分析
该程序的目的是计算a、b的乘积c,并输出c的值。
程序中的错误有:
定义变量时没有定义c;c=a*b后缺少分号;从程序中可以看出c为整形变量,故输出时不应用%c;输出函数中只有前引号,缺少了后引号。
3.3改正后的程序和运行结果
改正后的程序和运行结果见附录二。
4编程题二
4.1题目要求
(1)问题描述:
对一个有N个学生的班级,每个学生有M门课程。
该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
(2)功能要求:
①本系统采用一个结构体数组,每个数据的结构应当包括:
学号、姓名、M门课程名称。
②本系统显示这样的菜单:
请选择系统功能项:
a.成绩录入
b.成绩显示
c.成绩保存
d.成绩排序
e.成绩修改(要求先输入密码)
f.成绩统计
aa.显示每门课程成绩最高的学生的基本信息
bb.显示每门课程的平均成绩
cc.显示超过某门课程平均成绩的学生人数
g.退出系统
aa.执行一个具体的功能之后,程序将重新显示菜单。
bb.将学生成绩保存到文件中。
(3)算法提示:
①数据结构:
结构体类型数组。
②数据库结构:
表4.1构成该系统的基本数据库。
表4.1系统的基本数据库
姓名
学号
课程名称1
课程名称2
课程名称n
char
char
float
float
float
(4)测试数据:
学生人数N=10
课程门数M=4
课程名:
数学、语文、英语、政治
(5)其它
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
4.2程序分析
在本题中利用结构体结构,并把成绩录入、成绩显示、成绩保存、成绩排序、成绩修改、成绩统计等各项设置为函数,并在主程序中调用各个函数,以完成题目所需的各项功能。
4.3流程图
成绩录入函数流程图如图4.1所示,成绩显示流程图如图4.2所示,成绩保存流程图如图4.3所示,成绩排序流程图如图4.4所示,成绩修改流程图如图4.5所示,成绩统计流程图如图4.6所示。
图4.1成绩录入函数流程图
(流程图在visio中画)
4.4源程序和运行结果
学生成绩管理系统源程序见附录三,运行结果截图如图4.7-图4.14所示。
5总结
这次的C语言课程设计使我受益匪浅。
在之前上课时我总是很疑惑C语言到底可以用来干什么,虽然老师也对此举出过几个例子,但以我当时的水平仍无法理解。
在这次的设计中,我充分了解了结构体这一结构,并且通过这一次的题目充分了解到C语言的应用,也加深了我对c语言的理解。
我相信这次的经历将会成为我以后在编程上的动力。
附录一
源程序:
#include
intmain()/*函数声明*/
{
intm,n,s,i,t,a=1,b=1,c=1;/*变量声明*/
printf("请输入两个整数m,n:
");
scanf("%d%d",&m,&n);
if(m>=n)/*判断m是否大于n*/
{
for(i=1;i<=n;i++)/*计算n的阶乘*/
a=a*i;
for(i=1;i<=m;i++)/*计算m的阶乘*/
b=b*i;
for(i=1;i<=(m-n);i++)/*计算(m-n)的阶乘*/
c=c*i;
t=b/(a*c);
printf("t=%d",t);
}
else
printf("数学错误");
return0;
}
运行结果
附录二
改正后的程序
main()
{
inta,b,c;
a=2;
b=3;
c=a*b;
printf("c=%d”,c);
}
运行结果
附录三
源程序
#include
#include
#include
#include
#defineN10
/*定义结构体数组*/
structstudent
{
intnum;
charname[15];
floatmath,chinese,English,politics,sum;
}stu[N],temp;
floatmax1,max2,max3,max4;/*定义全局变量*/
doublesum1,sum2,sum3,sum4;/*定义全局变量*/
doubleaverage1,average2,average3,average4;/*定义全局变量*/
/*主函数*/
intmain()
……..
运行结果
图4.7主界面截图
图4.8成绩录入截图
图4.9成就显示截图
图4.10成级保存截图
图4.11成绩排序截图
图4.12每门课程成绩最高的学生的基本信息截图
图4.13每门课程的平均成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模版 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)