石家庄学院c语言程序设计自评报告
石家庄学院课程设计报告 课程名称:设计题目:院系:专业:班级:设计者:学号:指导教师:一、题目分析: C语言程序设计校级运动会管理系统 计算机系计算机科学与技术 XX级任素彬董万宇 XXXX 滑斌杰 XX 年 6 月24日 信息初始化 输入:N─参赛学校总数,M─男子竞赛项目数,W─女子竞赛项目数;各项目名次取法有如下几种: 错误!未找到引用源。取前5名:第一名得分7,第二名得分5,第三名得分3,第 四名得分2,第五名得分1; ②取前3名:第一名得分5,第二名得分3,第三名得分2;③用户自定义:各名次权值由用户指定。 提醒用户填写比赛结果,输入各项目获奖运动员信息。 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,察看参赛学校信息和比赛项目信息等。 二流程图 1计主函数 主函数一般设计的较为简洁,只提供输入、功能处理和输出部分的函数调用。其中各功能模块用菜单方式选择。另外菜单部分也可以写成函数。 [流程图] N 图2主函数流程图 2.各功能模块设计(1)信息输入模块 一是参赛学校信息,二是参赛运动员信息,三是比赛项目信息,分别输入并保存 图3信息输入模块流程图 (2)结果录入模块 图4比赛结果录入模块流程图 (3)查询信息模块[分析] 查询信息模块提供按不同方式查询各种信息机返回功能,其中各功能模块用菜单方式选择。菜单部分也可写成函数。 图6查询信息模块流程图 图8查询学校名流程图 三、源代码: #include#include#include#include #defineSIZE9#defineN3#defineWM3 voidbsxm();voidcsxx(); voidInformation();voidmain();voidmenu(); voidprintf_back();voidsaveathlete();voidsaveprogram();voidsaveschool();voidsavescore();voidSearch();voidttzf();inti; FILE*fp1,*fp2,*fp3,*fp4; structathlete//定义运动员信息{charuniv[5];charname[8];charprog[15];charmingci[5];intscore;}at[SIZE]; structxuexiao//定义学校信息{charuniv[5];charprog[15];intnum_athlete;}xx[N]; structprogram//定义项目信息{charprog[5];intquming; 石家庄学院课程设计报告 课程名称:设计题目:院系:专业:班级:设计者:学号:指导教师: C语言程序设计自制万年历计算机系计算机科学与技术 XX级 马淑娟马晓春张聪聪XXXX XX 滑斌杰 XX 年 6 月17日 一、题目分析: 自制万年历主要功能有四个:显示当前时间;显示某年日历;显示某年某月某日为星期 几;显示某年某月某日的农历。可以通过查找年、月、日来确认此时的具体信息。二、项目详解: 本项目使用的头文件有,,,。 主函数main()用于显示清单主菜单 1显示当前时间 2显示某年日历 3显示某年某月某日是星期几 4显示农历 5退出 用户可根据自己想查询的内容来选择功能号。总体来说,主函数的结构为循环着的分支结构。 本项目的四大功能模块: 功能一:在该模块中实现的是显示当前时间,引用文件time中的时间转换函数asctime得到以ASCII码表示的时间,char*asctime(conststructtm*tp);还用到了函数localtime把从1970-1-1零点零分到当前时间系统所偏移的秒数时间转换为日历时间。此函数获得的tm结构体的时间,是已经进行过时区转化为本地时间。structtm*localtime(consttime_t*clock);功能二:本模块主要实现了获得某年日历情况,主要用到 了求取某年第一天是星期几的函数firstday,intfirstday(inty);该年某月的天数函数daysofmonth,intdaysofmonth(intm);判断概念是否为闰年的函数isleap,intisleap(inty);并显示该年的天干地支。 功能三:本模块用于实现输出某天是星期几,主要用到了蔡勒公式推导,逐月输出每月日期,使日期与星期几相对应,