C程序设计-学生管理系统和万年历系统.docVIP

C程序设计-学生管理系统和万年历系统.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计-学生管理系统和万年历系统

课程设计说明书 (C程序设计) 班级: **** 姓名:__*****__________ 设计题目: 学生管理系统和万年历系统 _ 设计时间:__2008.9.1______至___2008.9.5 ____ 指导教师:______*****_____________________ 评 语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:__ __评阅教师:__ ___ 一 课程设计目的 巩固和加深对C语言程序设计理论知识的理解,进一步掌握编程技巧和方法,能融会贯通所学知识,提高编程和调试程序的水平,独立操作与综合应用知识的能力。在程序中解决学生管理问题和日期查询问题,从而培养理论与实践相结合的能力,在编程中对学到的知识进行了全面的整理.进一步学习了指针,数组 链表,文件,结构体,字符串,全局变量,宏和一些语句的综合运用,在主函???中用了三级菜单,方便,可行性较强.在子函数中运用了以前学过的知识,并用了以前没学过的方法,比如用二分法来查找,更加的快捷,方便. 二 总体结构图 选择要进入的系统 日期查询系统 学生管理系统 判断闰年 删除 插入 排序 查询 具体日期 学号 姓名 成绩 介绍以上各个模块的功能: 日期查询系统:定义一个日期结构体,包括年月日.首先用函数fun1()来判断输入的日期是否为闰年,然后再用fun2()来计算出这天是这年中的第几天.此系统中定义了一个全局变量,该变量用来控制”闰年”所带来的具体时间的变化问题;然后在用了一个switch语句,输出具体时间. 学生管理系统:该系统包括查询,成绩排序,用文件来做,首先把学生的信息,包括学号,姓名和成绩写在一个文件中,然后从文件中读出写入的信息. 查询模块包括按学号,姓名和成绩查询.按学号查询模块中运用了二分法又称折半法来实现,用while语句来循环计算判断,此法大大加速了查询速度.按姓名查询模块中用了一个单循环实现,将要找的学生的姓名与文件中学生的名字一一比较,若存在就输出该生的具体信息,若无输出没有此人;按成绩查询模块中也用了一个单循环来找出成绩小与m的学生信息并给出查询结果. 排序模块用选择法将学生按成绩有高到低排列; 插入模块中首先将要插入学生的信息输入,然后判断该生的学号是否与已知学生的学号重复,若不重复将该生按学号有小到大的顺序插入; 删除模块中首先输入要删除学生的学号,判断该生是否存在.若存在输出该生的具体信息,然后将剩余学生的信息给出; 三源程序代码 #include stdio.h #include stdlib.h #include string.h #define NULL 0 #define N 3 int m; FILE *fp; struct student {long num; char name[20]; float score; struct student *next; }stu[10]; struct data {int month; int day; int year; }data1; void fun1() { if((data1.year%4==0data1.year%100!=0)||(data1.year%100==0data1.year%400!=0)) { printf(该年为RUI年\n); m=1;} else { printf(该年不为RUI年\n); m=0;} } void fun2() {int n; switch(data1.month) {case 1: n=data1.day; break; case 2: n=31+data1.day;break; case 3: case 5: case 7: n=31+28+m+(data1.month-3)/2*61+data1.day;break; case 4: case 6: n=31+28+m+(data1.month-4)/2*61+31+data1.day;break; case 8: case 10: case 12: n=31*4+30*2+28+m+(data1.month-8)/2*61+data1.day;break; case 9: cas

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档