- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《学生选课系统课程设计》
《课程设计》
—C语言程序设计报告
题目:学生选课系统
院系:计算机科学与技术学院
专业:计算机科学与技术
班级:计算机1001
成员:
指导教师:
2011年6月5日
一.学生选课系统
设计目的:(1)要求学生熟练掌握C语言的基本知识和编程技能;
(2)基本掌握结构化程序设计的基本思路和方法;
2.基本要求:设计一个学生选修课程系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)课程信息和学生选课信息录入功能(课程信息用文件保存)
(3)课程信息浏览功能
(4)查询功能
(5)按学分查询
(6)某门课程学生选修情况(可选项)
需求说明:(1)选课信息包括课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。
(2)录入的选课信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;
(3)选课信息的显示要求有一定的规范格式;
(4)对选课信息的修改应逐个地进行,一个选课信息的更改不应影响其他的职工记录;
(5)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。
总体设计
编写目的:根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。
2.1总体设计 该系统学生选修课程信息管理系统
信息输入
信息浏览
信息查询
信息修改
信息删除
菜单选择
可以按功能进行模块划分,其模块图如下:
其中:
信息输入模块完成学生选课信息的输入功能,输入信息包括每门课程的编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息;
信息浏览模块完成已录入学生选课信息的显示;
信息查询模块完成学生选课信息的查询;
信息修改模块完成学生选课信息的修改功能;
信息删除模块完成学生选课信息的删除动能;
菜单选择模块完成用户命令的接收,此模块也是学生选课信息管理系统的入口,用户所要进行的各种操作均须再次模块中进行选择选择并进而调用其他模块实现相应的功能;
2.2 数据结构
#include conio.h
#include stdio.h
#include stdlib.h
#include string.h
#include time.h
#define szSTR 256
#define szNAME 10
#define szGROUP 5 /*每个小组最多允许5名组员,包括组长*/
#define fileAssignments c:\\0.txt
#define fileProjects c:\\1.txt
#define cntTYPE 4
/*课程*/
char Types[cntTYPE][11] = {数据结构类, 趣味类, 管理类, 自选类};
struct TAssignment {
int number; /*课程编号*/
int level; /*难度系数*/
int type; /*类别*/
char title[szSTR];
char requirements[szSTR]; /*技术要求*/
char features[szSTR]; /*技术特点*/
};
time_t Date_Input(char * msg)
{
struct tm t; memset(t, 0, sizeof(t));
printf(请输入%s日期,格式为年/月/日:, msg);
scanf(%d/%d/%d, (t.tm_year), (t.tm_mon), (t.tm_mday));
t.tm_year -= 1900;
t.tm_mon --;
return mktime(t);
}
void Date_Print(time_t t)
{
struct tm * ft = localtime(t);
printf(%04d/%02d/%02d, ft-tm_year + 1900, ft-tm_mon + 1, ft-tm_mday);
}
void Number_Input(char * msg, int * x)
{
for(;;) {
printf(请输入%s,以回车结束:, msg);
scanf(%d, x);
if(*x 0) *x = -*x;
if(*x) break;
printf(错误的输入,请重新输入。\n);
}
}
void Strin
文档评论(0)