C语言程序设计基础课程设计报告.doc
《C语言程序设计基础课程设计报告.doc》由会员分享,可在线阅读,更多相关《C语言程序设计基础课程设计报告.doc(17页珍藏版)》请在三一办公上搜索。
1、C语言程序设计基础课 程 设 计 报 告班 级: 计算 07-2 班 学 号: 0706010202 姓 名: 蔡子俊 成 绩: 电子与信息工程学院计算机科学与技术系C语言程序设计基础课程设计报告题目一:修改时钟程序阅读下面的时钟程序及观察运行结果写出程序中存在问题及改进办法,写出改进后的程序。时钟程序:#include#include#include#define pi 3.1415926#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;#define d(a
2、,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y)void init()int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,200); circle(300,240,205); circle(300,240,5); for(i=0;i60;i+) if(i%5=0) l=15; else l=5; x1=200*cos(i*6*pi/180)+300; y1=200*sin(i*6*pi/180)+240; x2=(200-l)*cos(i*6*pi/180)+300; y2=(200-l)*sin(i*6*pi
3、/180)+240; line(x1,y1,x2,y2); main() int x,y; int gd=VGA,gm=2; unsigned char h,m,s; struct time t1; initgraph(&gd,&gm,d:tc); init(); setwritemode(1); gettime(t); h=t0.ti_hour; m=t0.ti_min; s=t0.ti_sec; setcolor(7); d(150,h,30); setcolor(14); d(170,m,6); setcolor(4); d(190,s,6); while(!kbhit() while(
4、t0.ti_sec=s) gettime(t); sound(400); delay(70); sound(200); delay(30); nosound(); setcolor(4); d(190,s,6); s=t0.ti_sec; d(190,s,6); if (t0.ti_min!=m) setcolor(14); d(170,m,6); m=t0.ti_min; d(170,m,6); if (t0.ti_hour!=h) setcolor(7); d(150,h,30); h=t0.ti_hour; d(150,h,30); sound(1000); delay(240); no
5、sound(); delay(140); sound(2000); delay(240); nosound(); getch(); closegraph(); 1程序中存在问题时针每小时跳动一次,精确度不足,造成时间显示上的错误。2改进办法增加显示时间的精确度,由每60秒分针动一次改为3秒动一次,时针由每60分钟跳一次改为每3分钟跳一次。3改进后的程序#include#include#include#define pi 3.1415926#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;#define Y(a,b,c) y=a*sin(b*c*pi/1
6、80-pi/2)+240;#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y)void init()int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,200); circle(300,240,205); circle(300,240,5); for(i=0;i60;i+) if(i%5=0) l=15; else l=5; x1=200*cos(i*6*pi/180)+300; y1=200*sin(i*6*pi/180)+240; x2=(200-l)*cos(i*6*pi/180)+30
7、0; y2=(200-l)*sin(i*6*pi/180)+240; line(x1,y1,x2,y2); main() int x,y; int gd=VGA,gm=2; unsigned char s; float m,h; struct time t1; initgraph(&gd,&gm,F:TC2.0); init(); setwritemode(1); gettime(t); h=t0.ti_hour; m=t0.ti_min; s=t0.ti_sec; setcolor(7); d(150,h,30); setcolor(14); d(170,m,6); setcolor(4);
8、 d(190,s, 6); while(!kbhit() while(t0.ti_sec=s) gettime(t); sound(400); delay(70); sound(200); delay(30); nosound(); setcolor(4); d(190,s,6); s=t0.ti_sec; d(190,s,6); setcolor(14); d(170,m,6); m=t0.ti_min+(t0.ti_sec/3)*0.05; d(170,m,6); setcolor(7); d(150,h,30); h=t0.ti_hour+(t0.ti_min/3)*0.05; d(15
9、0,h,30); sound(1000); delay(240); nosound(); delay(140); sound(2000); delay(240); nosound(); getch(); closegraph(); 题目二:学生成绩管理系统1程序流程图调用保存数据到文件函数调用删除记录函数开始输出欢迎信息调用初始化函数调用菜单选择函数输入选项序号nn=1n=7n=9n=8n=6n=5n=4n=3n=2调用输入函数调用显示全部记录函数调用查找记录函数调用排序函数调用插入记录函数函数调用从文件读数据函数结束是是是是是是是是是否否否否否否否否2函数的功能及调用关系 .自定义函数功能:
10、 menu_select():菜单选择; STUDENT *create():学生信息输入,并求均值等; print(STUDENT *head):显示学生信息 search(STUDENT *head):查找学生信息 STUDENT *delete(STUDENT *head):删除指定学生信息; STUDENT *sort(STUDENT *head):改变学生信息排列顺序; STUDENT *insert(STUDENT *head,STUDENT *new):插入学生信息; save(STUDENT *head): 创建文件保存学生信息; STUDENT *load(): 读取已有的学
11、生信息文件; .函数调用关系Main函数STUDENT *init() 1 2调用初始化函数STUDENT *init() 3调用STUDENT *create()menu_select()8STUDENT *create() 7调用STUDENT *load() 9 4调用print(STUDENT *head) 5 6 28 29STUDENT *load() 10 30 11print(STUDENT *head)调用save(STUDENT *head)调用menu_select() 12 25调用search(STUDENT *head) 13 26save(STUDENT *hea
12、d) 27 15 24 14STUDENT *insert(STUDENT *head,STUDENT *new)调用STUDENT *sort(STUDENT *head调用STUDENT *delete(STUDENT *head)search(STUDENT *head) 16 19 18STUDENT *insert(STUDENT *head,STUDENT *new) 22 2317STUDENT *delete(STUDENT *head) 20STUDENT *sort(STUDENT *head 213程序代码#include #include#include #includ
13、e#include #include#include#define LEN sizeof(STUDENT)typedef struct stuchar num6; char name5; int score3; int sum; float average; int order; struct stu *next;STUDENT;STUDENT *init();int menu_select();STUDENT *create();void print(STUDENT *head);void search(STUDENT *head);STUDENT *delete(STUDENT *head
14、);STUDENT *sort(STUDENT *head);STUDENT *insert(STUDENT *head,STUDENT *new);void save(STUDENT *head);STUDENT *load();main()STUDENT *head,new; head=init(); clrscr(); for(;) switch(menu_select() case 1: clrscr();head=create();break; case 2: clrscr();print(head);break; case 3: clrscr();search(head);brea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 课程设计 报告

链接地址:https://www.31ppt.com/p-2384654.html