1、 C语言课程设计 学生课表管理系统学 院: 计算机和信息科学学院 学生姓名: 指导老师: 专 业: 软 件 工 程 班 级: 软件1401 完成时间: .03.22 目 录1 问题要求及问题描述21.1概述21.2题目要求21.3问题描述21.4关键功效21.5我任务22 处理问题关键思绪和方法32.1 关键问题32.2拟采取处理问题方法32.3关键算法和处理步骤图33 程序实现53.1程序实现时应考虑问题53.2关键源代码及说明54 测试或调试105小结135.1本问题处理方法及程序实现小结135.2 还未处理问题和下一步工作思绪136参考文件141 问题要求及问题描述 1.1概述因为科技快
2、速发展,将大家带入了一个信息化时代。计算机越来越贴近大家生活,而纸质课表不便于保留,也轻易损坏,而且不能立即更改。为了使课表愈加人性化,我们制作了学生课表系统。即使大家在外出时也能够随时查看课表。 1.2题目要求制作一个便于携带和查看学生课表系统 1.3问题描述此系统应该能许可学生用学号进行注册,注册以后能够顺利地登录,然后查看课表,所看课表和学号是对应,不一样学号对应一个不一样课表。可依据需要对已经有课表进行增添删除和修改。 1.4关键功效(1)登录权限:用户注册并登录成功才可查看课表,加大系统安全性。(2)显示信息:显示对应班级学生课表。(3)修改信息:学生可修改对应课程。(4)添加信息:
3、 学生可添加自己课程。(5)删除信息:学生可将错添或已修完课程删除。(6)退出系统:课表查看完成后,能够退出系统。 1.5我任务 我任务为完成学生登录和修改信息部分。2 处理问题关键思绪和方法 2.1 关键问题 1.怎样对修改数据进行保留,使用数组还是文件。2.怎样将代码分装并连接,实现模块化程序设计。 2.2拟采取处理问题方法1.利用二维数组将数据保留,使用时再取出。2.利用函数思想,将程序划分为多个小模块。 2.3关键算法和处理步骤图 关键算法:for循环对数据进行遍历。 if语句实现程序条件循环。 步骤图以下:登录主菜单 显示课表添加课表删除课表修改课表退出?NY退出系统图1.4 步骤图
4、3 程序实现 3.1程序实现时应考虑问题程序较多使用循环结构,循环嵌套轻易犯错造成程序达不到预期效果。代码较多,应多给注释,增加程序可读性,便于后期程序测试和调试。3.2关键源代码及说明软件关键功效部分代码: #include#include#include#include#includeinformation.hintclassinfor();voidaboutsys();intname();charnewword10;intmain()charchoice;dosystem(cls);printf(*nn);printf(*湖南工学院课表管理系统*nn);printf(tt1.激活学号nn
5、);printf(tt2.学生登录nn);printf(tt3.相关我们nn);printf(tt0.退出系统nn);printf(*nn);printf(*nn);choice=getch();switch(choice)case1:name();system(pause);break;case2:if(classinfor()=1)readclassfile();classinformation();system(pause);break;case3:aboutsys();system(pause);break;case0:exit(0);break;while(choice!=0);re
6、turn0;intname()charchoice;printf(请输入您学号:);scanf(%s,newname);printf(请输入您密码:);scanf(%s,newword);if(strcmp(newname,b)=0|strcmp(newname,c)=0|strcmp(newname,d)=0|strcmp(newname,e)=0|strcmp(newname,f)=0|strcmp(newname,g)=0)printf(注册成功!请问是否继续登录?(y?n):);choice=getch();if(choice=y|choice=Y)classinfor();elsep
7、rintf(对不起,信息有误,请重新输入!);return0;intclassinfor()/charusername1;charpassword10;inti;intcount=0;intbanlance;intuser;intpass;system(cls);for(i=0;i=3)printf(n对不起,您次数用完,系统将自动退出);exit(0);return0;voidaboutsys()system(cls);printf(*nn);printf(t主办单位:湖南工学院nn);printf(t协办单位:源辰科技nn);printf(*nn);intupdatainformation
8、()inti,j;charnames20;charchoice;for(i=0;i4;i+)for(j=0;j6;j+)aij=;printf(请输入要修改星期几课(阿拉伯数字输入):);scanf(%d,&j);printf(请输入要修改星期%d第几节课(阿拉伯数字输入):,j);scanf(%d,&i);printf(请输入修改为:);scanf(%s,names);printf(请问是否确定修改?(y?n):);choice=getch();if(choice=y|choice=Y)ai-1j=names;queryinformation();return0;4 测试或调试图4.1 激活
9、学号图4.2 学生登录图4.3 修改课表测试数据:注册学号:1001密码:1登录学号:1001密码:1修改课表:2,3修改课程:PE测试结果:登录功效:正常显示功效:正常查询功效:正常修改添加:正常添加功效:正常删除功效:正常结论:修改后数据保留有一点小问题,测试出后更正。5小结5.1本问题处理方法及程序实现小结程序即使很小很简单,不过具体实现时还是碰到了很多问题,比怎样将字符数据促存入二维数组中,或是怎样调用函数这种小问题。一点点小错误,有时候仅仅只是概念上模糊,或是一知识点错误,程序就不能运行,在和同学商议讨论后再自己更正错误,我体会到了平时C语言课上没有乐趣。只有真正自己动手是才能发觉自己还存在很多不足。自己C语言还需要深入巩固和利用。在这次课程设计里,我们体会到了和以前没有过团体协作和程序模块化,一起努力编写,每个人实现程序中一小步。最终,一起组成了一个完整程序。5.2 还未处理问题和下一步工作思绪程序还存在很多问题,比如没有用文件来存放信息,用二维数组存放数据太少。程序可增添完善地方还有很多,比如,能够增加上课教室地点,教室姓名,一起上课同学。下一步工作思绪:继续完善增添,将界面变得美观化。6参考文件1 baidu百科2 c语言程序设计 第二版 北京:清华大学出版社