C语言课程设计(优质作业含运行截图)_c语言课程设计作业
C语言课程设计(优质作业含运行截图)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课程设计作业”。
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
C语言课程设计报告
Experiment Designing reporter
课程名称 : C语言课程设计
英文名称 : C Program Experiment Designing
专 业 :工商管理类+软件工程095
学 号 :09********
姓 名 :@哒winci
指导教师 :陈**
日 期 : 2010年 7月12日至2010年7月22日
大连交通大学软件学院
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
《C语言课程设计》报告
C Program Experiment Designing
课程编号:01200308005
学时: 40学时 适用专业:软件工程专业 授课单位:软件学院
一、C语言课程设计目的及要求
目的:
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
要求:
1. 熟悉Turbo C 的编程环境、主要菜单功能。
2. 通过上机验证运算符、表达式、运算规则、函数使用。3. 熟练使用C语言的典型语句编写简单程序。4. 调试典型例题或习题。5. 提高上机编程能力
二、实验类型
设计类型
三、实验学时
40学时
四、实验设备
微型计算机、WINDOWS98以上版本的操作系统、Turbo C2.0 软件一套
五、C语言课程参考教材:
1.C语言程序设计 清华大学出版社 马靖善主编
2.谭浩强.C语言程序设计(第三版).北京:高等教育出版社,2002 大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
课程设计(报告)任务书
任务及要求:
1.设计(研究)内容和要求 研究内容:
(1).歌星大赛打分系统(2).五个国家名排序(3).谜语博士的难题(4).哪个大夫哪天值班(5).分辨黑与白(6)学生成绩查询系统 任务和要求:
(1).学习C语言基础知识,掌握C语言编程和程序调试的基本技能。(2).对指导教师下达的题目进行系统分析。(3).根据分析结果完成系统设计。
(4).编程:在计算机上实现题目的代码实现。(5).完成对该系统的测试和调试。(6).提交课程设计报告。(7).指标: 要求完成课程设计报告3千字以上(约二、三十页).完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.2.原始依据
了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。3.参考文献
[1] 黄明等.C语言程序设计辅导教材.大连理工大学出版社,2006 [2] 马靖善等.C语言程序设计.清华大学出版社,2005
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
[3] 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,2002
2010年7月20日 大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
目录
错误!未定义书签。歌星大赛打分系统
1.1 功能说明............................................................................错误!未定义书签。1.2 设计说明............................................................................错误!未定义书签。1.3 程序运行截图....................................................................错误!未定义书签。1.4源程序代码.........................................................................错误!未定义书签。2五个国家名排序............................................................................错误!未定义书签。
2.1 功能说明............................................................................错误!未定义书签。2.2 设计说明............................................................................错误!未定义书签。2.3 程序运行截图....................................................................错误!未定义书签。2.4 源程序代码........................................................................错误!未定义书签。3谜语博士的难题............................................................................错误!未定义书签。
3.1 功能说明............................................................................错误!未定义书签。3.2 设计说明............................................................................错误!未定义书签。3.3 程序运行截图....................................................................错误!未定义书签。3.4 源程序代码........................................................................错误!未定义书签。4哪个大夫哪天值班........................................................................错误!未定义书签。
4.1 功能说明............................................................................错误!未定义书签。4.2 设计说明………………………………………………………………………...4.3 程序运行截图....................................................................错误!未定义书签。4.4 源程序代码........................................................................错误!未定义书签。5分辨黑与白....................................................................................错误!未定义书签。
5.1 功能说明............................................................................错误!未定义书签。5.2 设计说明............................................................................错误!未定义书签。5.3 程序运行截图....................................................................错误!未定义书签。5.4 源程序代码........................................................................错误!未定义书签。6学生成绩查询系统
6.1 功能说明............................................................................错误!未定义书签。6.2 设计说明............................................................................错误!未定义书签。6.3 程序运行截图....................................................................错误!未定义书签。6.4 源程序代码........................................................................错误!未定义书签。
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING歌星大赛打分系统
1.1功能说明
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1-100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。编写程序实现。
1.2 设计说明
从键盘上输入评委的打分,用for循环结构求出分数中的最大值max、最小值min以及所有分数的和sum,最后输出sum-max-min的值
1.3 程序运行截图
1.4 源程序代码
#include int main(){ int integer,i,max,min,sum;max=-32768;/*先假设当前的最大值max为C语言整型数的最小值*/ min=32767;/*先假设当前的最小值min为C语言整型数的最大值*/
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
sum=0;/*将求累加和变量的初值置为0*/ for(i=1;imax)max=integer;/*通过比较筛选出其中的最高分*/ if(integer
五个国家名排序
2.1 功能说明
输入5个国名并按字母顺序排列后输出。
2.2 设计说明
主函数void main(): 从键盘上输入各个国家的名字数组cs[5],然后用字符串运算符strcpy将数组cs[5]copy到st[20],再比较两数组对应各元素,输出
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
2.3 程序运行截图
2.4 源程序代码
#include #include void main(){
char st[20],cs[5][20];
int i,j,p;
printf(“input country's name:n”);
for(i=0;i
gets(cs[i]);
printf(“n”);
for(i=0;i
{ p=i;strcpy(st,cs[i]);
for(j=i+1;j
if(strcmp(cs[j],st)
if(p!=i)
{
strcpy(st,cs[i]);
strcpy(cs[i],cs[p]);
strcpy(cs[p],st);
}
puts(cs[i]);
}
printf(“n”);
getch();}
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING谜语博士的难题
3.1功能说明
两面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替。如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。
迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族。三人并肩站在博士前面。
博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。
博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。
博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”。
判断这三个人都是哪个民族的。
3.2设计说明
变量A=1表示:左边的人是诚实族的(用C语言表示为A); 变量B=1表示:中间的人是诚实族的(用C语言表示为B); 变量C=1表示:右边的人是诚实族的(用C语言表示为C); 变量AA=1表示:左边的人是两面族的(用C语言表示为AA); 变量BB=1表示:中间的人是两面族的(用C语言表示为BB); 变量CC=1表示:右边的人是两面族的(用C语言表示为CC);
则左边的人是说谎族可以表示为:A!=1且AA!=1(不是诚实族和两面族的人)用C语言表示为:!A&&!AA 中间的人是说谎族可以表示为:B!=1且BB!=1 用C语言表示为:!B&&!BB 右边的人是说谎族可以表示为:C!=0且CC!=1 用C语言表示为:!C&&!CC 根据题目中“三人来自三个民族”的条件,可以列出: a+aa!=2&&b+bb!=2&&c+cc!=2 且 a+b+c==1&&aa+bb+cc==1 根据左边人的回答可以推出:若他们是诚实族,则中间的人也是诚实族;若他不是诚实族,则中间的人也不是诚实族。以上条件可以表示为: c&&!b&&!bb||(!c&&!cc)&&(b||bb)||!c&&cc 将全部逻辑条件联合在一起,利用穷举的方法求解,凡是使上述条件同时成立的变量取值就是题目的答案。
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
3.3程序运行截图
3.4源程序代码
#include int main(){ int a,b,c,aa,bb,cc;for(a=0;a
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING哪个大夫哪天值班
4.1功能说明
医院有A、B、C、D、E、F、G七位大夫,在一星期内(星期一至星期天)每人要轮流值班一天。现在已知:
A大夫比C大夫晚一天值班; D大夫比E大夫晚二天值班; B大夫比G大夫早三天值班;
F大夫的值班日在B和C大夫的中间,且是星期四;
确定每天究竟是哪位大夫值班。
4.2设计说明
由题目可推出如下已知条件: F是星期四值班;
B值班的日期在星期一至星期三,且三天后是G值班; C值班的日期在星期五至星期六,且一天后是A值班; E两天后是D值班;E值班的日期只能在星期一至星期三;
在编程时用数组元素的下标1到7表示星期一到星期天,用数组元素的值分别表示A-F七位大夫。
4.3程序运行截图大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
4.4源程序代码
#include
#include
int a[8];
char *day[]={“”,“MONDAY”,“TUESDAY”,“WED”,“THUSDAY”,“FRIDAY”,“SATDAY”,“SUNDAY”};main()
{
int i,j,t;
a[4]=6;
for(i=1;i
{
a[i]=2;
if(!a[i+3])a[i+3]=7;
else{ a[i]=0;continue;}
for(t=1;t
{
if(!a[t])a[t]=5;
else continue;
if(!a[t+2])a[t+2]=4;
else{ a[t]=0;continue;}
for(j=5;j
{
if(!a[j])a[j]=3;
else continue;
if(!a[j+1])a[j+1]=1;
else{ a[j]=0;continue;}
for(i=1;i
printf(“Doctor %d is on duty %s.n”,1+a[i]-1,day[i]);
}
}
}
getch();} 分辨黑与白
5.1功能说明
有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。”大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
B说:“我看见其它四人额头上帖的都是黑纸。”
C说:“我看见一人额头上帖的是白纸,其它三人额头上帖的是黑纸。” D说:“我看见四人额头上帖的都是白纸。” E什么也没说。
现在已知额头上帖黑纸的人说的都是谎话,额头帖白纸的人说的都是实话。判断五人谁的额头是帖白纸,谁的额头是帖黑纸。
5.2设计说明
假如变量A、B、C、D、E表示每个人额头上所帖纸的颜色,0 代表是黑色,1 代表是白色。根据题目中A、B、C、D四人所说的话可以总结出下列关系: A说: a&&b+c+d+e==3||!a&&b+c+d+e!=3 B说: b&&a+c+d+e==0||!b&&a+c+d+e!=0 C说: c&&a+b+d+e==1||!c&&a+b+d+e!=1 D说: d&&a+b+c+e==4||!d&&a+b+c+e!=4 穷举每个人额头所帖纸的颜色的所有可能的情况,代入上述表达式中进行推理运算,使上述表达式为“真”的情况就是正确的结果。
5.3程序运行截图
5.4源程序代码
#include int main(){ int a,b,c,d,e;for(a=0;a
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
for(b=0;b
} getch();} 学生成绩查询系统
6.1功能说明
查询修改统计成绩。
6.2设计说明
子函数:
int SelectMainMenu()显示并选择主菜单。返回:被选择的菜单项 void Show()成绩查询模块 void Modify()
成绩修改模块 void Stat()
成绩统计模块
void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float 统计平均分
int FindStudent(int num)
根据学号查找某一学生 void SetAllTotle()
计算所有学生总分
void SetTotle(int No)
计算第No个学生总分
*AveKuaiJi)
大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
void ShowAllStudent()
显示所有成绩 void ShowTitle()
显示表头信息
void ShowStudent(int No)
显示第No个的学生信息 主函数void main():
运用switch语句,调用各个子函数完成学生成绩的管理
6.3程序运行截图
6.4源程序代码
#include struct student /*成绩表的结构声明*/ {
int num;
char name[15];
char sex;
float WuLi;
float ShuXue;
float YingYu;
float KuaiJi;
float totle;};/*定义6个学生的信息:*/ #define STU_NUMBER 6 /*宏定义学生数为6*/ struct student Stu[STU_NUMBER]={{101,“yuchen”,'F', 98,85,96,89,0},大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
{102,“xiaotong”, 'F', 99,91,90,93,0},{103,“likanglong”,'M', 76,83,74,82,0},{104,“yinger”,'F', 88,76,89,77,0},{105,“fengjiao”, 'F', 97,100,94,96,0},{106,“sunyao”,'M', 87,89,66,84,0} };int SelectMainMenu();/*显示并选择主菜单。返回:被选择的菜单项*/ /*所有的函数声明:*/ void Show();/*成绩查询模块*/ void Modify();/*成绩修改模块*/ void Stat();/*成绩统计模块*/ void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKuaiJi);/*统计平均分*/ int FindStudent(int num);/*根据学号查找某一学生*/ void SetAllTotle();/*计算所有学生总分*/ void SetTotle(int No);/*计算第No个学生总分*/ void ShowAllStudent();/*显示所有成绩*/ void ShowTitle();/*显示表头信息*/ void ShowStudent(int No);/*显示第No个的学生信息*/
void main(){
int isend=0,paword=0;/*程序结束标志量,0表示不结束,1表示结束*/
SetAllTotle();/*计算所有学生总分*/
while(paword!=666)
{printf(“qing shu ru mi ma:n”);
scanf(“%d”,&paword);
}
while(1)
{
switch(SelectMainMenu())/*显示并选择主菜单*/
{
case 1: /*成绩查询*/
Show();
/*调用成绩查询函数*/
break;
case 2: /*成绩修改*/
Modify();/*调用成绩修改函数*/
break;
case 3: /*成绩统计*/
Stat();
/*调用成绩统计函数*/
break;
case 4: /*退出系统*/
printf(“nxie xie nin de shi yong,zai jian!nn”);
isend = 1;/*设置程序结束标志*/
break;
}
if(isend)break;/*程序结束*/大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
} }
int SelectMainMenu()/*显示并选择主菜单。返回:被选择的菜单项*/ {
int menu_no=0;
do
/*显示并选择菜单*/
{
printf(“=================================n”);
printf(“
n”);
printf(“
zuo zhe:li yi mann”);
printf(“=================================n”);
printf(“
zhu cai dan:n”);
printf(“
1cheng ji
xiu
gain”);
printf(“
3tui
chu xi
tongn”);
printf(“
qing xuan ze(1-4):”);
scanf(“%d”,&menu_no);
}while(menu_no4);
/*直到选择出正确的序号*/
return menu_no;} void Show()/*成绩查询模块*/ {
int n,i;
while(1)
{
printf(“n====cheng ji cha xun====n”);
printf(“qing shu ru xue hao(shu ru 0 tui chu cheng ji cha xun,shu ru 1 cha xun quan bu):”);
scanf(“%d”,&n);
if(n==0)break;/*退出成绩查询模块*/
if(n==1)ShowAllStudent();/*显示所有成绩*/
else if((i=FindStudent(n))>=0)/*找到学号为n的学生*/
{
ShowTitle();/*显示表头信息*/
ShowStudent(i);/*显示该学生信息*/
}
else printf(“----zhao bu dao gai xue hao----n”);
} } void Modify()/*成绩修改模块*/ {
int n,i,a;
while(1)
{
printf(“n====cheng ji xiu gai====n”);
printf(“qing shu ru xue hao(shu ru 0 tui chu cheng ji xiu gai):”);大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
scanf(“%d”,&n);
if(n==0)break;/*退出成绩修改模块*/ if((i=FindStudent(n))>=0)/*找到学号为n的学生*/
{
ShowTitle();/*显示表头信息*/
ShowStudent(i);/*显示该学生信息*/ printf(“qing shu ru yao xiu gai de cheng ji:n”);printf(“1 WuLin”);printf(“2 ShuXuen”);printf(“3 YingYun”);printf(“4 KuaiJin”);scanf(“%d”, &a);switch(a){case 1:printf(“qing shu ru WuLi cheng ji:n”);
scanf(“%f”, &Stu[i].WuLi);break;case 2:printf(“qing shu ru ShuXue cheng ji:n”);
scanf(“%f”, &Stu[i].ShuXue);break;case 3:printf(“qing shu ru YingYu cheng ji:n”);
scanf(“%f”, &Stu[i].YingYu);break;case 4:printf(“qing shu ru KuaiJi cheng ji:n”);
scanf(“%f”, &Stu[i].KuaiJi);break;
default:printf(“shu ru cuo wu”);
}
SetTotle(i);/*计算该学生总分*/
printf(“----xiu gai cheng gong----n”);
}
else printf(“----zhao bu dao gai xue hao----n”);
} }
void Stat()/*成绩统计模块*/ {
float AveWuLi, AveShuXue, AveYingYu, AveKuaiJi;
StatAve(&AveWuLi, &AveShuXue, &AveYingYu, &AveKuaiJi);/*统计四门课的班级平均分*/
printf(“n====cheng ji tong ji====n”);
printf(“xue sheng ren shu:%dn”, STU_NUMBER);
printf(“WuLi ping jun fen:%6.2fn”, AveWuLi);
printf(“ShuXue ping jun fen:%6.2fn”, AveShuXue);
printf(“YingYu ping jun fen:%6.2fn”, AveYingYu);
printf(“KuaiJi ping jun fen:%6.2fn”, AveKuaiJi);} /*统计四门课的班级平均分,用指针参数返回*/ void StatAve(float *AveWuLi, float *AveShuXue, float *AveYingYu, float *AveKuaiJi){大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
int i;
float sumWuLi=0, sumShuXue=0, sumYingYu=0, sumKuaiJi=0;
for(i=0;i
{
sumWuLi += Stu[i].WuLi;
sumShuXue += Stu[i].ShuXue;
sumYingYu += Stu[i].YingYu;
sumKuaiJi += Stu[i].KuaiJi;
}
*AveWuLi = sumWuLi / STU_NUMBER;
*AveShuXue = sumShuXue / STU_NUMBER;
*AveYingYu = sumYingYu / STU_NUMBER;
*AveKuaiJi = sumKuaiJi / STU_NUMBER;}
/*根据学号查找某一学生。返回:-1没找到,>=0该学生所在数组的下标*/ int FindStudent(int num){
int i;
for(i=0;i
if(Stu[i].num==num)break;
if(i
else return-1;/*没找到*/ }
void SetAllTotle()/*计算所有学生总分*/ {
int i;
for(i=0;i
SetTotle(i);} void SetTotle(int No)/*计算第No个学生总分*/ {
Stu[No].totle = Stu[No].WuLi + Stu[No].ShuXue + Stu[No].YingYu +Stu[No].KuaiJi;}
void ShowAllStudent()/*显示所有成绩*/ {
int i;
ShowTitle();
for(i=0;i
ShowStudent(i);} void ShowTitle()/*显示表头信息*/ {
printf(“n%12s%12s%12s%10s%10s%10s%10sn”,“xue hao”, “xing ming”, “xing bie”,“WuLi”,“ShuXue”,“YingYu”,“KuaiJi”,“Zong Fen”);}大连交通大学 软件学院
C语言课程设计报告
SOFTWARE INSTITUTEOF DALIAN JIAOTONG UNIVERSITY EXPERIMENT DESIGNING
void ShowStudent(int No)/*显示第No个的学生信息*/ {
printf(“%12d%12s%12c%10g%10g%10g%10gn”,Stu[No].num, Stu[No].name, Stu[No].sex, Stu[No].WuLi,Stu[No].ShuXue, Stu[No].YingYu, Stu[No].KuaiJi,Stu[No].totle);}
课程设计设计一个学生成绩管理系统,该系统记录了全班同学语文\数学\英语3门课程的成绩,并对成绩进行管理。主要功能如下:1)具备对成绩的管理功能(添加、删除、排序)2)具备对课......
第1题 抽油机是将电动机的高速旋转运动变成抽油杆的快速往复运动您的答案:错误 题目分数:0.5 此题得分:0.5 批注:慢速往复运动第2题 链条式和皮带式抽油机都属于无游梁抽油机您......
光电子课程设计作业:1.光敏电阻检测光照亮度2.基于PSD 的位置测量系统3.基于PSD位置传感器的杨氏模量测量4.基于单片机的条纹计数器 要求: 在A4的纸上画满黑白相间的条纹,条纹......
课 程 设 计 课程设计名称: C语言程序设计 题 目:学籍管理系统 学 生 姓 名: 学生学号 : 学 院(系): 软件学院 专 业 班 级: 112021 指 导 教 师:设计时间: 2012 年 9 月 日 ......
C 语 言 课 程 设 计 实 验 报 告实验名称:文件加密解密 院系:软件学院学号:年9月3日—9月17日 日期:2012 一:设计题目1:设计图形用户界面。2:对文件进行加密并对加密文件进行保存......
