计算机程序设计(C语言)课程设计报告
- 格式:doc
- 大小:695.00 KB
- 文档页数:15
毕业设计c语言课程设计一、课程目标知识目标:1. 理解C语言在毕业设计中的应用场景,掌握C语言的基本语法和编程技巧。
2. 学会使用C语言进行数据结构的设计与实现,如链表、树、图等。
3. 掌握C语言在嵌入式系统、算法竞赛等领域的实际应用。
技能目标:1. 能够运用C语言编写具有实际意义的程序,解决实际问题。
2. 能够分析并优化C语言程序的运行效率,提高编程质量。
3. 培养良好的编程习惯,编写规范、易读、高质量的C语言代码。
情感态度价值观目标:1. 培养学生积极主动探索新知识的精神,提高学生的自主学习能力。
2. 增强学生的团队协作意识,培养良好的沟通与协作能力。
3. 使学生认识到C语言在计算机科学领域的重要地位,激发学生对编程的兴趣。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为毕业设计前的预备课程,旨在帮助学生掌握C语言编程技能,为毕业设计奠定基础。
2. 学生特点:学生已具备一定的计算机基础,了解编程基本概念,但实际编程能力较弱,需要加强实践操作。
3. 教学要求:注重理论与实践相结合,强调实际编程能力的培养,以项目驱动教学,提高学生的实践操作能力。
1. 独立完成C语言基础语法的学习,并能运用所学知识编写简单程序。
2. 掌握常见数据结构在C语言中的实现与应用,能够解决实际问题。
3. 编写具有一定规模的C语言项目,具备初步的软件设计能力。
4. 养成良好的编程习惯,具备团队协作能力和沟通能力。
二、教学内容1. C语言基础语法:变量定义、数据类型、运算符、表达式、控制语句(顺序、选择、循环)、函数、数组、指针。
2. 常见数据结构:链表、栈、队列、树(二叉树、查找树)、图(邻接矩阵、邻接表)。
3. 编程技巧与优化:算法复杂度分析、递归与迭代、内存管理、程序调试与优化。
4. C语言项目实践:学生信息管理系统、简易计算器、文件压缩与解压缩、小型游戏等。
5. 教学内容安排与进度:- 第一周:C语言概述、基础语法、数据类型与运算符。
C语言程序设计实验报告范文实验名称计算出1000以内10个素数之和实验目的1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容计算并输出1000以内的10个素数以及它们的和。
要求:在程序内部加必要的注释。
由于偶数不是素数,可以不考虑对偶数的处理。
虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。
算法描述流程图Main函数:判断素数:源程序#include#includeint sushu(int n)/* 判断素数的函数*/{int t,i;t=sqrt(n);for(i=2;i1;i-=2)/* x为奇数时,做函数计算*/{n=sushu(i); /* 做判断素数的函数调用*/( 励志天下 )if(n!=0)/* 对素数的处理*/{a[j]=n;/* 把素数由大至小存入数组a[ ]中*/j++;C语言程序设计-职工信息管理系统1C语言课程设计C语言课程设计任务书一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能;基本掌握结构化程序设计的基本思路和方法。
要求:设计一个职工信息管理系统,使之能提供以下功能:1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。
3、浏览功能:完成对全部职工信息的显示。
大一c语言程序课程设计一、课程目标知识目标:1. 理解C语言程序设计的基本概念,掌握数据类型、变量、运算符、表达式等基础知识;2. 学会使用顺序结构、分支结构、循环结构进行程序设计;3. 掌握数组和函数的使用,理解指针的概念及其应用;4. 了解结构体、联合体和枚举类型的使用。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 能够分析问题,运用逻辑思维进行程序设计;3. 能够阅读和理解他人编写的C语言程序;4. 能够对程序进行调试和优化,提高程序效率。
情感态度价值观目标:1. 培养学生的编程兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生的创新精神,敢于尝试新思路和方法;4. 培养学生严谨的学术态度,遵循编程规范。
课程性质:本课程为大一C语言程序设计的基础课程,旨在使学生掌握C语言的基本知识和编程技能,为后续专业课程打下坚实基础。
学生特点:大一学生刚接触编程,对编程知识有一定好奇心,但缺乏实际操作经验。
教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和实际操作,使学生熟练掌握C语言编程技巧。
在教学过程中,注重培养学生的编程兴趣和创新能力,提高学生分析问题和解决问题的能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,理解编程的基本概念。
相关教材章节:第一章2. 数据类型与运算符:讲解基本数据类型、变量定义、常量声明,运算符及其优先级。
相关教材章节:第二章3. 顺序结构程序设计:学习基本输入输出函数,编写简单的顺序结构程序。
相关教材章节:第三章4. 分支结构程序设计:介绍if语句、switch语句,学会编写分支结构程序。
相关教材章节:第四章5. 循环结构程序设计:讲解for循环、while循环、do-while循环,掌握循环结构编程。
相关教材章节:第五章6. 数组:介绍一维数组、二维数组的使用,学会存储和操作批量数据。
c语言课程设计报告项目背景一、课程目标知识目标:1. 学生能理解C语言课程设计报告的项目背景,掌握C语言在工程项目中的应用。
2. 学生能够掌握C语言的基本语法,如变量定义、数据类型、运算符、控制结构等,并能够运用到实际项目中。
3. 学生能够了解C语言编程规范,培养良好的编程习惯。
技能目标:1. 学生能够独立完成C语言课程设计报告的撰写,包括项目背景、需求分析、设计思路、代码实现和测试结果等。
2. 学生能够运用C语言编写简单的程序,解决实际问题,提高编程实践能力。
3. 学生能够通过课程设计,培养自己的问题分析、解决方案设计和调试能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,提高自主学习能力。
2. 学生能够认识到C语言在计算机科学中的重要性,激发对计算机科学的热爱。
3. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。
课程性质:本课程为C语言编程实践课程,强调理论与实践相结合,注重培养学生的编程能力和实际应用能力。
学生特点:学生为初中年级,对编程有一定的基础,具备基本的计算机操作能力,好奇心强,学习积极性较高。
教学要求:教师应关注学生的个体差异,提供针对性的指导,引导学生掌握C 语言基本知识,注重培养学生的实际操作能力和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言基础知识回顾:变量定义、数据类型、运算符、控制结构(包括顺序、选择、循环结构)。
2. C语言编程规范:命名规则、注释、缩进、代码组织等。
3. 课程设计报告撰写方法:项目背景、需求分析、设计思路、代码实现、测试结果与分析。
4. 实践项目:选取与实际生活相关的问题,引导学生运用C语言进行程序设计。
- 项目一:计算器程序- 项目二:学生信息管理系统- 项目三:简易游戏开发(如:猜数字游戏)教学大纲:第一周:C语言基础知识回顾,重点讲解变量定义、数据类型和运算符。
沈阳航空航天大学课程设计报告课程设计名称:C 语言课程设计课程设计题目:多项式简单的计算器院(系):计算机学院专业:计算机科学与技术班级:14010106学号:2011040101258 姓名:崔雨濛指导教师:孙恩岩完成日期:2012年3月16日第1章概要设计 (2)1.1题目的内容与要求 (2)1.2总体结构 (2)第2章详细设计 (3)2.1主模块 (3)2.2多项式建立模块 (4)2.3计算模块 (5)2.4显示模块 (6)第3章调试分析 (7)3.1无法完整输出多项式 (7)3.2多项式中出现多余的项目 (7)3.3用户无法自行选择结束运行程序 (7)第4章使用说明与执行结果 (8)参考文献 (10)附录(程序清单) (11)第1章概要设计1.1题目的内容与要求课程设计的内容是设计一个简单的单词替换程序,可以替换文本文件中指定的单词。
要求:(1)输入多项式各项并建立多项式。
(2)输出多项式。
(3)两个多项式相加减,并输出结果多项式。
(4)采用VC环境进行调试运行。
1・2总体结构本程序主要分为四个模块(功能模块图见图1.1):主模块,多项式建立模块, 计算模块,显示模块。
主模块:输入多项式各项,建立多项式,输出多项式。
多项式建立模块:将输入的多项式各项以链表形式建立起来。
计算模块:比较两个多项式的系数和指数,合并同类项。
显示模块:显示输入的多项式及结果多项式。
图1.1功能模块图第2章详细设计2.1主模块控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块, 实现各项功能,流程如图2.1所示。
图2.1主模块流程图2.2多项式建立模块注释:根据多项式的项数循环存入结构体中2.3计算模块比较两个多项式的系数和指数,合并同类项。
流程图如图 2.3所示图2.3计算模块流程图注释:具体比较方法如下:(1)qa->expn < qb->expnqa所指节点应为结果多项式中的结点,qa后移:qa=qa->next; qb不动。
C语言程序设计课程设计实验报告一、设计名称:学生成绩治理查询系统实验项目性质:综合性所涉及课程:C语言程序设计打算学时:实验学时12二、设计目的:1.通过本课程设计,培育上机动手能力,使学生巩固《C语言程序设计》课程学习的内容,把握工程软件设计的大体方式,强化上机动手能力,闯过编程关;2.为后续各门运算机课程的学习打下坚实基础。
3.明白得程序设计的思路,把握结构化程序设计的方式,综合利用C语言进行程序编写,巩固常常利用的C语言概念,如数组、指针、结构体、链表、文件操作等,注意良好的程序设计风格的培育。
提高编写程序解决实际问题的能力、调试程序的技术。
三、设计环境(软件、硬件及条件)1.硬件:PC机2.软件:Turbo C++四、设计说明:程序系统的结构:用一系列图表列出本程序系统内的每一个程序(包括每一个模块和子程序)的名称、标识符和它们之间的层次结构关系。
主程序:新建:输入记录(遇#号时停止输入)。
插入:在指定位置插入记录。
显示:列出所有记录。
查询:一、按学号查询;二、按名字排序。
删除:一、按学号删除;二、按名字删除;3、删除所有记录。
排序:一、按语文成绩排序;二、按英语成绩排序;3、按数学成绩排序。
保留:保留为任意名字,系统自动加后缀名为.txt。
读取:读取程序目录下的后缀名为.txt的文件。
退出:退出程序。
五、各功能模块的具体实现,用图表表示。
输入记录显示开始:输入学号输入的学号是否为#Y N 结束,返回主菜单输入记录循环输入结束开始p=hp!=NULL输出学生信息;p=p->next结束按学号(姓名)查询信息Y N读取文件六、各模块(函数)的功能介绍,数据结构设计描述,参数说明等。
STUDENT *init(); /*初始化链表*/STUDENT *create(); /*新建链表*/STUDENT *del_no(STUDENT *h);/*按学号删除信息*/STUDENT *del_name(STUDENT *h); /*按姓名删除信息*/void print(STUDENT *h); /*显示信息函数*/void search_no(STUDENT *h); /*按学号搜索*/void search_name(STUDENT *h); /*按姓名搜索*/STUDENT *insert(STUDENT *h); /*插入信息函数*/void sort(STUDENT *h);/* 排序函数*/void save(STUDENT *h);/*保留数据到文件*/void load(STUDENT *h); /*从文件读取数据*/int menu_main(); /*菜单函数*/void inputs(char *prompt,char *s,int count);/*输出信息*/七、程序代码:Enter records\n");printf(" 2. Add records\n");printf(" 3. List records\n");printf(" 4. Search records\n");printf(" 5. Delete records\n");printf(" 6. Sort records\n");printf(" 9. Quit\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~9):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>9); /*选择项不在1~9之间重输*/return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Search records on number\n");printf(" 2. Search records on name\n");printf(" 3. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~3):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>3);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Chinese\n");printf(" 2. English\n");printf(" 3. Math\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}Delete records on number\n");printf(" 2. Delete records on name\n");printf(" 3. Delete all records\n");printf(" 4. Back\n\n");printf("*****************************************\n");do{ printf("\n Enter you choice(1~4):"); /*提示输入选项*/ scanf("%s",s); /*输入选择项*/c=atoi(s); /*将输入的字符串转化为整型数*/}while(c<1||c>4);return c; /*返回选择项,主程序依照该数挪用相应的函数*/}.");/*提示*/getch(); /*读入任意字符*/}.\n");getch(); /*读入任意字符*/if(p==h)h=p->next;elseq->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s); }printf("\nPress any key to continue..."); getch(); /*读入任意字符*/return h;}.\n");getch();if(p==h)h=p->next;else q->next=p->next;free(p); /*释放*/printf("\n%s had been deleted\n",s);}printf("\nPress any key to continue...");getch(); /*读入任意字符*/return h;}.");getch(); /*读入任意字符*/}.");getch(); /*读入任意字符*/}xt"};STUDENT *p;FILE *fp; /*指向文件的指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"wb"))==NULL) /*打开文件,并判定打开是不是正常*/ {printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;while(p!=NULL){if(fwrite(p,sizeof(STUDENT)-sizeof(p->next),1,fp)!=1){printf("Error!\n");exit(1);} /*写入*/p=p->next;}fclose(fp); /*关闭文件*/printf("\n------OK------\n");printf("Press any key to continue...");getch(); /*读入任意字符*/}xt"};STUDENT *p,*a1=NULL,*a2=NULL;FILE *fp;/*概念文件指针*/printf("\n Input the filename:");scanf("%s",outfile);strcat(outfile,last);if((fp=fopen(outfile,"rb"))==NULL)/*打开文件*/{printf("\nCannot open file!\n");exit(1); /*退出*/}p=h;a1=a2=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp); while(!feof(fp)){n++;if(n==1)h=a1;else a2->next=a1;a1=(STUDENT *)malloc(LEN);fread(a1,sizeof(STUDENT)-sizeof(a1->next),1,fp);}a2->next=NULL;printf("\n------OK------\n");printf("Press any key to continue...");getch(p); /*读入任意字符*/}///////////////////////////////////////////void sort(STUDENT *h) /*排序函数*/{int i=0,j;STUDENT *p,*q,*t,*h1,*z;clrscr(); /*清屏*/printf("Enter you choice :\n");scanf("%d",&j);z=h;h1=h->next;h->next=NULL;while(h1!=NULL){t=h1;h1=h1->next;q=h;while(t->score[--j]<p->score[--j]&&p!=NULL){q=p;p=p->next;}if(p==q){t->next=p;h=t;}else{t->next=p;q->next=t;}}p=h;while(p!=NULL){i++;p=p->next;}h=z;printf("------OK------\n");}//////////////////////////////////////////////////九、体会、总结本课程设计完成了设计一个学生成绩治理系统,学生的学习成绩进行治理,具有查询和检索功能,而且能够对指定文件操作。
西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。
二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。
用户密码的修改。
而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。
三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。
2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。
3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。
4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。
5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。
6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。
b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。
C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。
7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。
8.输出现有职工的信息: 会显示现在记录的职工的各项信息。
C课程设计一、课程设计目旳《C语言课程设计》是信息类专业旳主要实践性课程。
目旳在于学习完《C语言程序设计》课程后进行旳一次全方面旳综合练习。
经过课程设计, 一方面能够结合课程旳教学内容循序渐进地进行设计方面旳实践训练, 另一方面, 在参加一系列子项目旳实践过程中, 还能提升怎样综合利用所学知识处理实际问题旳能力, 以及取得有关项目管理和团队合作等众多方面旳详细经验。
为后续课程: 面对对象程序设计、Visual C++, 数据构造, 软件工程, 软件技术基础等奠定必要旳实践基础。
设计目旳如下:1、进一步培养学生构造化程序设计旳思想, 加深对高级语言基本语言要素和控制构造旳了解。
2、针对C语言中旳要点和难点内容进行训练, 独立完毕有一定工作量旳程序设计任务, 同步强调好旳程序设计风格。
3.掌握C语言旳编程技巧和上机调试程序旳措施。
4.掌握程序设计中旳常用算法。
二、课程设计题目及要求1.基础训练题目1.1基础1.1.1写出下面程序旳输出成果。
1)#include <stdio.h>main( ){int x;x=-3+4*5-6;printf(“%d\n”,x);x=3+4%5-6; printf(“%d\n”,x);x=-3*4%4-6/5; printf(“%d\n”,x);x=(7+6)%5/2; printf(“%d\n”,x);}2) # include<stdio.h>main(){int x=5;int y=6;int z=7;printf(" %d\n %d\n %d\n %d\n %d\n %d\n %d\n",x>y,y>x,x!=y,x==z-2,x=x-2,x>=z,x<=z); }3 ) #include <stdio.h>main(){int x=0,y=-1,z=1;printf("%d,%d,%d,%d,%d,%d",x&&y,x||y,y&&z,y||z,x&y,x|y);}1.2顺序构造1)已知三角形旳底和高, 求三角形旳面积法一、#include <stdio.h>main(){float a,b;scanf("a=%f,b=%f",&a,&b);printf("MJ=%.2f",(a*b)/2.0);}法二、#include <stdio.h>main(){float a,b,s;scanf("a=%f,b=%f",&a,&b);s=a*b/2;printf("s=%.1f",s);}2)若已知某银行一年定时旳存款年利率, 输入存款额, 计算三年后本利之和并输出。
c预言课程设计一、课程目标知识目标:1. 让学生掌握C语言基础语法,包括变量声明、数据类型、运算符和表达式。
2. 使学生了解C语言程序结构,包括函数定义、调用和返回值。
3. 帮助学生理解C语言的流程控制语句,如顺序结构、分支结构和循环结构。
技能目标:1. 培养学生运用C语言编写简单程序的能力,能解决实际问题。
2. 培养学生阅读和分析C语言代码的能力,能理解并修改他人编写的程序。
3. 培养学生运用调试工具,如调试器和断点,找出并修复程序错误。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发探索计算机科学的热情。
2. 培养学生具备良好的编程习惯,如注重代码规范、注释清晰。
3. 培养学生具备团队协作精神,能与他人合作完成编程任务。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为C语言入门课程,注重理论与实践相结合,以编程实践为主。
2. 学生特点:学生为初中生,具备一定的逻辑思维能力,对计算机编程感兴趣,但缺乏实际编程经验。
3. 教学要求:以学生为中心,注重个体差异,采用任务驱动法,鼓励学生动手实践,培养解决问题的能力。
将目标分解为具体的学习成果:1. 学生能独立编写简单的C语言程序,如计算器、九九乘法表等。
2. 学生能阅读并分析C语言代码,理解程序逻辑,找出潜在错误。
3. 学生能通过调试工具修复程序错误,提高代码质量。
4. 学生在编程过程中,注重代码规范,养成良好的编程习惯。
5. 学生能与他人合作,共同完成编程任务,提高团队协作能力。
二、教学内容本章节教学内容依据课程目标,结合教材内容进行选择和组织,主要包括以下部分:1. C语言基础知识:- 变量声明和数据类型- 运算符和表达式- 顺序结构程序设计2. C语言函数:- 函数定义和调用- 函数参数和返回值- 递归函数简介3. C语言流程控制:- 分支结构(if语句、switch语句)- 循环结构(for循环、while循环、do-while循环)- 跳转语句(break、continue、goto)4. 编程实践:- 编写简单程序,如计算器、九九乘法表等- 阅读和分析代码,理解程序逻辑- 使用调试工具修复程序错误教学大纲安排如下:1. 第一周:C语言基础知识学习,包括变量、数据类型、运算符和表达式。
《C语言程序设计》课程设计报告(2011— 2012学年第 1 学期)专业:计算机科学与技术班级:姓名学号:指导教师:成绩:计算机科学与技术系2011 年12月31日目录一、课程设计的目的与要求 (3)二、方案实现与调试 (3)2.1 掷骰子游戏 (3)2.2 汽车加油 (6)2.3 大优惠 (8)2.4 金币 (9)2.5小型通讯录设计 (12)三、课程设计分析与总结 (14)附录程序清单 (14)一、课程设计的目的与要求(含设计指标)(1)实验目的C语言是一种编程灵活,特色鲜明的程序设计语言。
C语言除了学习必须的基本知识,如概念,方法和语法规则之外,更重要的是进行实训,以提高学习者的动手和编程能力,这是学习语言的最终目的。
结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。
达到如下目的:1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;2.让学生扎实掌握C程序设计语言的相关知识;3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。
(2)设计要求根据实验内容的要求自由选定题目。
编写程序要求遵循如下基本要求:●模块化程序设计●锯齿型书写格式●必须上机调试通过二、方案实现与调试2.1掷骰子游戏•2.1.1 题目内容的描述两人玩骰子,游戏规则如下:1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。
2) 将每人每次的分值累加计分3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。
4) 结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。
最后显示双方分数并判定优胜者。
•2.1.2输入数据类型、格式和内容限制和输出数据的说明输入数据类型:整型数格式:srand(time(0));输入数=rand()%6+1;内容限制:产生最多十次随机数输出数据说明:掷骰子的获胜者•2.1.3主要模块的算法描述2.1.4调试过程及实验结果出现的问题:每次循环产生的随机数相同。
c语言程序设计课程设计总结一、什么是总结总结,汉语词语,读音为zǒng jié,意思是总地归结。
二、c语言程序设计课程设计总结(通用6篇)总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,写总结有利于我们学习和工作能力的提高,为此要我们写一份总结。
但是总结有什么要求呢?以下是小编为大家整理的c语言程序设计课程设计总结(通用6篇),仅供参考,大家一起来看看吧。
c语言程序设计课程设计总结1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。
同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!c语言程序设计课程设计总结2经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。
c语言程序课程设计实践报告一、教学目标本课程的目标是让学生掌握C语言程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和良好的编程习惯。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。
2.技能目标:学生需要具备编写和调试C语言程序的能力,能够解决实际问题,并进行简单的算法分析。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生分析问题和解决问题的能力,培养学生的创新精神和团队合作意识。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和数据类型:变量、常量、数据类型、运算符等。
2.控制结构:顺序结构、分支结构、循环结构等。
3.函数:函数的定义、调用、参数传递、返回值等。
4.数组和指针:一维数组、多维数组、指针的概念和应用等。
5.编程实践:简单的算法分析、程序设计方法和技巧等。
三、教学方法为了达到课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过教师的讲解,使学生掌握C语言的基本概念和语法。
2.讨论法:引导学生进行问题讨论,培养学生的思考和分析问题的能力。
3.案例分析法:通过分析实际案例,使学生掌握C语言程序设计的方法和技巧。
4.实验法:让学生动手编写和调试程序,培养学生的实际编程能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用权威、实用的C语言程序设计教材。
2.参考书:提供相关的C语言程序设计参考书,供学生自主学习。
3.多媒体资料:制作精美的PPT课件,以便于讲解和展示。
4.实验设备:提供计算机实验室,让学生进行实际编程和调试。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面、客观、公正地评估学生的学习成果。
具体评估方式如下:1.平时表现:根据学生在课堂上的参与度、提问回答、小组讨论等情况进行评估。
实验报告课程名称:C语言课程设计实验项目:五子棋游戏设计专业班级:计专1502姓名:孙奇学号:248150203 实验室号:实验组号:实验时间:批阅时间:指导教师:成绩:沈阳工业大学实验报告(适用计算机程序设计类)专业班级:计专1502 学号:248150203 姓名:孙奇实验名称:五子棋游戏设计4.程序运行结果(1)规则界面(2)对弈界面(3)获胜界面5.出现的问题及解决方法(1)游戏开始时,棋子原来初始在棋盘中央,一旦中央落子后,初始棋子与已有棋子重叠,为了解决问题将初始棋子移动到棋盘左上方棋盘以外。
(2)棋子都为空心圆,在棋盘不好区分正在控制的棋子,改为已确定落子的棋子为实心圆,正在控制的棋子为空心圆。
附件A 沈阳工业大学实验报告(适用计算机程序设计类)专业班级:计专1502 学号:248150203 姓名:孙奇实验程序:本程序在Windows XP SP3操作系统及Turbo C 2.0开发环境下调试通过。
#include<stdio.h>#include<stdlib.h>#include<graphics.h>#include<bios.h>#include<conio.h>int judgeresult(int x,int y);void attention(){char ch;window(1,1,80,25);textbackground(LIGHTBLUE);textcolor(YELLOW);clrscr();gotoxy(15,4);printf("Play Rules:");gotoxy(15,8);printf("1.Press Left,Right,Up,Down Key to move Piece");gotoxy(15,12);printf("2.Press Space to place the Piece");gotoxy(15,16);printf("3.DO NOT press Space outside of the chessboard");gotoxy(15,20);printf("Do you accept the above Playing Rules? [Y/N]:");while(1){printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit.");for(x1=1,y1=1,y2=18;x1<=18;x1++)line((x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI);for(x1=1,y1=1,x2=18;y1<=18;y1++)line((x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI);for(x1=1;x1<=18;x1++)for(y1=1;y1<=18;y1++)box[x1][y1]=0;}void draw_circle(int x,int y,int color){setcolor(color);setlinestyle(SOLID_LINE,0,1);x=(x+JZ)*BILI;y=(y+JS)*BILI;circle(x,y,8);}void draw_slice(int x,int y,int color){for(i=step_x-1,j=step_y;i>=1;i--)if(box[i][j]==0){draw_circle(step_x,step_y,LIGHTBLUE);break;}if (i<1) break;step_x=i;judgewho(step_x,step_y);break;}case RIGHT:if(step_x+1>18)break;else{for(i=step_x+1,j=step_y;i<=18;i++)if(box[i][j]==0){draw_circle(step_x,step_y,LIGHTBLUE);break;if((step_y-1)<0)break;else{for(i=step_x,j=step_y-1;j>=1;j--)if(box[i][j]==0){draw_circle(step_x,step_y,LIGHTBLUE);break;}if(j<1)break;step_y=j;judgewho(step_x,step_y);break;}case ESC :break;case SPACE :if(step_x>=1 && step_x<=18 && step_y>=1 && step_y<=18) {if(box[step_x][step_y]==0)setcolor(YELLOW);rectangle(0,0,439,279);floodfill(50,50,14);setcolor(12);settextstyle(1,0,5);outtextxy(20,20,"The Black Win !");setcolor(14);settextstyle(3,0,5);outtextxy(120,120,"The Black Win !");setcolor(14);settextstyle(2,0,8);getch();closegraph();exit(0);}if(flag==2){setbkcolor(BLUE);cleardevice();setviewport(100,100,540,380,1);}}void change(){if(flag==1)flag=2;elseflag=1;}void judgewho(int x,int y){if(flag==1)draw_circle(x,y,BLUE);if(flag==2)draw_circle(x,y,WHITE); }int judgeresult(int x,int y){break;}if(n1+n2-1>=5){return(1);break;}/*垂直向上数*/n1=0;n2=0;for(j=x,k=y;k>=1;k--){if(box[j][k]==flag)n1++;elsebreak;}/*垂直向下数break;}/*向右下方数*/for(j=x,k=y;j<=18,k<=18;j++,k++) {if(box[j][k]==flag)n2++;elsebreak;}if(n1+n2-1>=5){return(1);break;}/*向右上方数*/n1=0;return(0);break;}}void main(){int gdriver=VGA,gmode=VGAHI;clrscr();attention();initgraph(&gdriver,&gmode,"c:\\tc\\bgi"); flag=1;draw_box();do{step_x=0;step_y=0;judgewho(step_x-1,step_y-1);do{while(bioskey(1)==0);。
c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
c语言课程设计实践报告一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立思考、解决问题的能力。
具体目标如下:1.理解C语言的基本语法和编程规则。
2.掌握常用的数据类型、运算符和表达式。
3.熟悉函数的定义和调用。
4.了解常用的数据结构和算法。
5.理解程序的设计思想和方法。
6.能够使用C语言编写简单的程序。
7.能够阅读和理解C语言程序。
8.能够使用C语言进行基本的算法实现。
9.能够使用C语言进行简单的项目开发。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生的自主学习能力。
2.培养学生解决问题的能力,增强学生的自信心。
3.培养学生团队合作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.C语言的基本语法和编程规则。
2.常用的数据类型、运算符和表达式。
3.函数的定义和调用。
4.常用的数据结构和算法。
5.程序的设计思想和方法。
具体的教学大纲如下:第一周:C语言的基本语法和编程规则。
第二周:常用的数据类型、运算符和表达式。
第三周:函数的定义和调用。
第四周:常用的数据结构和算法。
第五周:程序的设计思想和方法。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:通过讲解C语言的基本语法、数据结构、算法和编程思想,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解C语言在实际项目中的应用。
3.实验法:通过上机实验,让学生亲手编写C语言程序,加深对知识的理解和运用。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程思想》。
3.多媒体资料:C语言编程教程视频。
4.实验设备:计算机实验室。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。
成都航空职业技术学院《C语言程序设计》课程设计报告设计题目:C程序综合设计系别:航空电子工程系专业:应用电子技术班级:学号:学生姓名:赵儇宇指导教师:完成时间:年月日目录一、程序设计内容及要求 (1)二、程序总体设计思路 (2)1.课题一的总体设计思路 (2)2.课题二的总体设计思路 (3)三、程序各模块作用及详细设计 (3)1.课题一的各模块作用及详细设计 (3)2.课题二的各模块作用及详细设计 (13)四、程序运行过程截图及分析 (16)1.课题一程序运行过程截图及分析 (16)2.课题二程序运行过程截图及分析 (20)五、总结.................... . (22)六、附录(完整程序)......... (22)1.课题一完整程序 (22)2.课题二完整程序 (27)一、课程设计内容及要求题目1用户登录程序。
提示用户输入用户名和密码,判断是否是合法用户(假设合法的用户名是“abc”,密码是123456),如果合法,显示“welcom to use the software”,进入以下系统。
否则要求重新输入,允许输入3次,若3次都错,显示“password error!you can not use the sorftware”.一班有10名学生,一学期有5门课程,编写程序实现如下功能:(1)录入每名学生的各科成绩(2)求出每名学生的平均成绩和总分(3)求每门课程的平均分、及格率、最高成绩和最低成绩(4)输出总成绩前5名的学生学号、各科成绩和总分(5)输出各科补考学生的学号和成绩菜单格式如下:==================菜单===============1.成绩录入2. 学生信息3. 课程信息4. 获奖与补考信息0. 退出=======================================题目2小学生数学学习系统面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
计算机程序设计(C语言) 课程设计报告题目:电子动画时钟学院:机电工程学院专业:班级:090109班学号::指导教师:设计日期:一、概述选题背景:随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。
设计思路:(一)功能模块设计,1.电子时钟执行主流程2.电子时钟界面显示3.电子时钟按键控制模块4.时钟动画处理模块(二)数据结构设计 1.time结构体 2.全局变量(三)函数功能描述1.keyhandle()2.timeupchange()3.timedownchange()4.digitclock()5.drawcursor()6. clearcursor()7.void clockhandle()8.main()(四)程序实现(五)运行结果。
二、概要设计2.1、数据结构此程序中,使用了C语言的time结构体和几个全局变量,1.time结构体struct time{unsigned char ti_min; /*分钟*/unsigned char ti_hour; /*小时*/unsigned char ti_hund; /*百分之一秒*/unsigned char ti_sec; /*秒*/};time结构体定义在dos.h文件中,可用来保存系统的当前时间,其中各字段的值的含义如下。
1.unsigned char ti_min:保存分钟值。
2.unsigned char ti_hour:保存小时。
3.unsigned char ti_hund:保存百分之一秒,例如,ti_hund=500,表示1/500秒。
4.unsigned char ti_sec:保存秒数。
2.2、全局变量下面对程序用到的全局变量及数组进行说明.1. double h,m,s: 此3个全局变量分别用来保存小时,分钟,秒数。
2. double x,x1,x2,y,y1,y2:保存数字时钟中小时,分,秒在屏幕中显示的坐标值。
3.struct time t[1]:定义一个time结构类型的数组,此数组只有t[0]一个元素。
2.3 模块列表1.时钟动画处理模块时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针的擦除是借助setwritemode(mode)函数设置画线的方式来实现。
如果mode=1,则表示画线时用现在特性的线所画之处原有的线性异或(XOR)操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。
因此,当线的特性不变时,进行两次画线操作相当于没有画线,即在当前位置处清除了原来的画线。
2.时钟按键控制模块在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。
3.数字时钟处理模块(1)调用digitclock(int x,int y,int clock)函数。
在数字时钟r指定位置显示时,分,秒,其中digithour(double h),int digitour(double h)和digitsec(doubles)用于完成数值的double型向int型转换。
(2)调用drawcursor(int count),clearcursor(int count)函数来完成旧光标的擦除和新光标的绘制。
2.4、程序结构图(也就是模块之间的关系)三、详细设计3.1程序预处理模块。
包括加载头文件,定义常量,变量,结构体数组和函数原型声明。
3.2主控模块main().main()函数主要实现了对电子时钟的初始化工作,及clockhandle()函数的调用。
3.3时钟动画处理模块。
3.4时针按键控制模块。
在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。
流程图如下。
3.5数字时针处理模块。
在数字时钟处理模块中,主要实现数字时钟的显示和数字的时钟修改。
其中,在数字时钟的修改中,用户可以按Tab键定位需要修改的内容的位置,然后通过按光标上移或下移键来修改时间。
四、调试程序错误1:错误现象:Declaration syntan error错误原因:声明错误,缺分号。
修改方法:在声明语句后添加分号。
错误2:错误现象:Two few parameters in call to ‘setlinestyle’ in function main 错误原因:语句缺少参数。
修改方法:在main()函数中找到缺少参数的语句添加相应的参数。
错误3:错误原因:Function call missing)in function clockhandle错误原因:在clockhandle函数调用的是后函数表达式缺少一个)。
修改方法:找到错误语句添加缺少的表达式符号。
五、心得总结程序优点:本程序旨在训练学生的基本编程能力,本程序中涉及时间结构体,数组,绘图等方面的知识,通过本程序的训练使学生能对C语言有一个更深刻的了解。
掌握利用C语言相关函数开发电子时钟的基本原理,为进一步开发出高质量的程序打下坚实的基础。
程序缺点:程序各个模块之间的控制连接比较繁琐,容易出现错误。
六.附程序清单#include<graphics.h>#include<stdio.h>#include<math.h>#include<dos.h>#define PI 3.1415926#define UP 0x4800#define DOWN 0x5000#define Esc 0x11b#define TAB 0xf09int keyhandle (int,int);int timeupchange (int);int timedownchange (int);int digithour (double);int digitmin (double);int digitsec (double);void digitclock (int,int,int);void drawcursor (int) ;void clearcursor (int) ;void clockhandle () ;double h,m,s ;double x,x1,x2,y,y1,y2;struct time t[1] ;main(){int driver,mode=0,i,j;driver =DETECT;initgraph (&driver, &mode,"c:\\tc");setlinestyle (0,0,3);setbkcolor(0);line(82,430,558,430);line(70,62,70,418);line(82,50,558,50);line(570,62,570,418);line(70,62,570,62);line(76,56,297,56);line(340,56,564,56);/*arc(int x, int y, int. stangle, int endangle, int radius)*/ arc(82,62,90,180,12);arc(558,62,0,90,12);setlinestyle (0,0,3);arc(82,418,180,279,12);setlinestyle (0,0,3);arc(558,418,270,360,12);setcolor(15);outtextxy(300,53,"CLOCK");setcolor(7);rectangle(342,72,560,360); setwritemode(0);setcolor(15);outtextxy(433,75,"CLOCK");setcolor(7);line(392,310,510,310);line(392,330,510,330);arc(392,320,90,270,10);arc(510,320,270,90,10);setcolor(5);for(i=431;i<=470;i+=39)for(j=317;j<=324;j+=7) {setlinestyle(0,0,3);circle(i,j,1);}setcolor(15) ;line(424,315,424,325);for(i=0,m=0,h=0;i<=11;i++,h++) {x=100*sin( (h*60+m)/360*PI)+451 ;y=200-100*cos( (h*60+m)/360*PI) ; setlinestyle(0,0,3) ;circle(x,y,1) ;}for(i=0,m=0 ;i<=59;m++,i++) {x=100*sin (m/30*PI)+451;y=200-100*cos(m/30*PI ) ; setlinestyle(0,0,1 ) ;circle(x,y,1) ;}setcolor(4) ;outtextxy(182,125, "HELP" ) ;setcolor(5) ;outtextxy(140,185, "TAB :Cursor move ") ;outtextxy(140,225, "UP : Time ++") ;outtextxy(140,265, "DOWN : Time--") ;outtextxy(140,305, "Esc : Quit system! " ) ;outtextxy(140,345, "Version : 2.0") ;setcolor(12);outtextxy(150,400, "Nothing is more important than time !" ) ; clockhandle() ;closegraph() ;return(0);}void clockhandle(){int k=0,count ;setcolor(15) ;gettime(t) ;h=t[0].ti_hour ;m=t[0].ti_min ;x=50*sin((h*60+m)/360*PI)+451 ;y=200-50*cos((h*60+m) /360*PI) ;line(451,200,x,y);x1=80*sin(m/30*PI) +451 ;y1=200-80*cos(m/30*PI) ;line(451,200,x1,y1) ;digitclock(408,318,digithour(h));digitclock(446,318,digitmin(m));setwritemode(1) ;for(count=2;k!=Esc;) {setcolor(12) ;sound(500);delay(700);sound(200);delay(300);nosound() ;s=t[0].ti_sec ;m=t[0].ti_min ;h=t[0].ti_hour ;x2=98*sin(s/30*PI)+451 ;y2=200-98*cos(s/30*PI) ;line(451,200,x2,y2 ) ;while(t[0].ti_sec==s&&t[0].ti_min==m&&t[0].ti_hour==h) { gettime(t);if(bioskey(1)!=0) {k=bioskey(0);count=keyhandle(k,count) ;if(count==5) count=1 ;}}setcolor(15) ;digitclock (485,318,digitsec(s)+1) ;setcolor(12) ;x2=98*sin(s/30*PI)+451 ;y2=200-98*cos(s/30*PI ) ;line(451,200,x2,y2) ;if(t[0].ti_min!=m ) {setcolor(15) ;x1=80*sin(m/30*PI)+451 ;y1=200-80*cos(m/30*PI ) ;line(451,200,x1,y1 ) ;m=t[0].ti_min ;digitclock(446,318,digitmin(m) ) ;x1=80*sin(m/30*PI)+451 ;y1=200-80*cos(m/30*PI) ;line(451,200,x1,y1 ) ;}if((t[0].ti_hour*60+t[0].ti_min)!=(h*60+m)) {setcolor(15) ;x=50*sin((h*60+m)/360*PI)+451 ;y=200-50*cos((h*60+m)/360*PI);line(450,200,x,y );h=t[0].ti_hour ;digitclock(408,318,digithour (h) ) ;x=50*sin((h*60+m)/360*PI) ;line(451,200,x,y ) ;}}}int keyhandle(int key ,int count ){ switch(key){ case UP: timeupchange(count-1); break ;case DOWN :timedownchange (count-1) ; break ;case TAB :setcolor (15) ;clearcursor(count) ;drawcursor(count) ;count++ ;break;}return count ;}int timeupchange(int count ){if(count==1) {t[0].ti_hour++;if(t[0].ti_hour==24) t[0].ti_hour=0;settime(t) ;}if (count==2) {t[0].ti_min++;if(t[0].ti_min==60) t[0].ti_min=0 ;settime(t) ;}if(count==3) {t[0].ti_sec++;if(t[0].ti_sec==60) t[0].ti_sec=0 ;settime(t) ;}}int timedownchange(int count ){if(count==1) {t[0].ti_hour-- ;if(t[0].ti_hour==0) t[0].ti_hour=23 ;settime(t) ;}if(count==2) {t[0].ti_min--;if(t[0].ti_min==0) t[0].ti_min=59 ;settime(t) ;}if(count==3) {t[0].ti_sec-- ;if(t[0].ti_sec==0) t[0].ti_sec=59;settime (t) ;}}void digitclock(int x, int y, int clock) {char buffer1[10];setfillstyle(0,2) ;bar (x,y,x+15,328) ;if (clock==60) clock=0 ;sprintf(buffer1,"%d",clock) ; outtextxy(x,y,buffer1) ;}int digithour(double h){ int i;for(i=0;i<=23;i++){ if(h==i) return i ;}}int digitmin(double m){ int i ;for(i=0;i<=59 ;i++){ if(m==i) return i;}}int digitsec(double s){ int i;for(i=0; i<=59;i++){if(s==i) return i ;}}void drawcursor (int count){switch(count){case 1:line (424,315,424,325);break ; case 2:line(465,315,465,325) ; break;case 3:line(505,315,505,325) ; break ; }}void clearcursor (int count){ switch(count){case 2: line (424,315,424,325) ; break ; case 3:line (465,315,465,325) ; break ; case 1: line (505,315,505,325) ; break ; }}。