文档库 最新最全的文档下载
当前位置:文档库 › 怎样用C语言做一个学生选课系统

怎样用C语言做一个学生选课系统

怎样用C语言做一个学生选课系统
怎样用C语言做一个学生选课系统

怎样用 C 语言做一个学生选课系统
这是这几天我用 C 做的一个简易的学生选课系统.其实是我们的 1 道程序实践考试题,我想请 大家看看,帮我提些建议.
#include #include int N1,N2,kk1,kk2,kk3; structcouse * head1; struct student * head2; structcouse//课程信息结构体 { int num1; char name1[20]; int score; intnelepeo;//课程已选人数 intMelepeo;//课程人数上限 structcouse * next; }; struct student//学生信息结构体 { int num2; char name2[20]; intnelenum[50];//已选课程编号 intnelen;//已选课程数量 struct student * next; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc()//录入课程子函数(从键盘录入) { structcouse *p1,*p2; N1=0; p1=p2=(structcouse*)malloc(sizeof(structcouse)); printf("课程编号\t 课程名称\t 学分\t 课程人数上限\n"); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0;

head1=NULL; while(p1->num1!=0) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(structcouse * )malloc(sizeof(structcouse)); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo) ; p1->nelepeo=0; } p2->next=NULL; } void filec()//录入键盘子函数(从文件录入) { FILE * fp; char filepath[20]; structcouse *p1,*p2; N1=0; printf("输入要读入的文件路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s 文件!\n",filepath); exit(0); } p1=p2=(structcouse*)malloc(sizeof(structcouse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->ne lepeo,&p1->Melepeo); head1=NULL; while(!feof(fp)) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(structcouse * )malloc(sizeof(structcouse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1 ->nelepeo,&p1->Melepeo); }

p2->next=NULL; } void inputc()//录入课程主函数 { int i; printf("\t\t\t 录入课程信息\n"); printf("\n1.从键盘录入\n"); printf("2.从文件录入\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i); switch(i) { case(1):keyboardc();break; case(2):filec();break; case(3):break; } } void insertc(structcouse *incouse)//课程管理子函数(增加课程) { structcouse *p0,*p1,*p2; p1=head1; p0=incouse; if(head1==NULL) { head1=p0; p0->next=NULL; } else { while((p0->num1 > p1->num1) && (p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->num1 <= p1->num1) { if(head1==p1) head1=p0; else p2->next=p0; p0->next=p1; } else

{ p1->next=p0; p0->next=NULL; } } N1=N1+1; } void delc(int num1)//课程管理子函数(删除课程) { structcouse *p1,*p2; if(head1==NULL) { printf("\n 没有课程,无法删除!\n"); goto end; } p1=head1; while(num1!=p1->num1 && p1->next!=NULL) { p2=p1; p1=p1->next; } if(num1==p1->num1) { if(p1==head1) head1=p1->next; else p2->next=p1->next; printf("已删除该编号课程!\n"); N1=N1-1; } else printf("无该编号的课程!\n"); end:; } void managementc()//课程管理主函数 { structcouse * incouse; int i,num1; printf("\t\t\t 课程管理\n"); printf("1.新增课程\n"); printf("2.删除课程\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i); switch(i)

{ case(1): { incouse=(structcouse *)malloc(sizeof(structcouse)); printf("课程编号\t 课程名称\t 学分\t 课程人数上限\n"); scanf("%d%s%d%d",&incouse->num1,incouse->name1,&incou se->score,&incouse->Melepeo); incouse->nelepeo=0; insertc(incouse); break; } case(2): { printf("请输入要删除课程的编号:\n"); scanf("%d",&num1); delc(num1); break; } case(3):break; } } void keyboards()//录入学生信息子函数(从键盘录入) { int i; struct student *p1,*p2; N2=0; p1=p2=(struct student *)malloc(sizeof(struct student)); printf("学生学号\t 学生姓名\n"); scanf("%d%s",&p1->num2,p1->name2); p1->nelen=0; for(i=0;i<20;i++) p1->nelenum[i]=0; head2=NULL; while(p1->num2!=0) { N2=N2+1; if(N2==1)head2=p1; else p2->next=p1; p2=p1; p1=(struct student * )malloc(sizeof(structstudent)); scanf("%d%s",&p1->num2,p1->name2); p1->nelen=0; for(i=0;i<20;i++) p1->nelenum[i]=0;

} p2->next=NULL; } void files()//录入学生信息子函数(从文件录入) { int i=0; FILE * fp; char filepath[20]; struct student *p1,*p2; N2=0; printf("输入要读入的文件路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s 文件!\n",filepath); exit(0); } p1=p2=(struct student*)malloc(sizeof(struct student)); fread(p1,sizeof(struct student),1,fp); head2=NULL; while(!feof(fp)) { i=0; N2=N2+1; if(N2==1)head2=p1; else p2->next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student)); fread(p1,sizeof(struct student),1,fp); } p2->next=NULL; } void inputs()//录入学生信息主函数 { int i; printf("\t\t\t 录入学生信息\n"); printf("\n1.从键盘录入\n"); printf("2.从文件录入\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i);

switch(i) { case(1):keyboards();break; case(2):files();break; case(3):break; } } void inserts(struct student * incouse)//学生信息管理子函数(填加学 生信息) { struct student *p0,*p1,*p2; p1=head2; p0=incouse; if(head2==NULL) { head2=p0; p0->next=NULL; } else { while((p0->num2 > p1->num2) && (p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->num2 <= p1->num2) { if(head2==p1) head2=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } } N2=N2+1; } void dels(int num2)//学生信息管理子函数(删除学生信息) { struct student *p1,*p2;

if(head2==NULL) { printf("\n 没有该学生信息,无法删除!\n"); goto end; } p1=head2; while(num2!=p1->num2 && p1->next!=NULL) { p2=p1; p1=p1->next; } if(num2==p1->num2) { if(p1==head2) head2=p1->next; else p2->next=p1->next; printf("已删除该学生信息!\n"); N2=N2-1; } else printf("无该学号的学生!\n"); end:; } void managements()//学生信息管理主函数 { struct student * incouse; int i,num2; printf("\t\t\t 学生信息管理\n"); printf("1.新增学生信息\n"); printf("2.删除学生信息\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i); switch(i) { case(1): { incouse=(struct student *)malloc(sizeof(struct student)); incouse->nelen=0; incouse->nelenum[0]=0; printf("学生学号\t 学生姓名\n"); scanf("%d%s",&incouse->num2,incouse->name2); inserts(incouse);

break; } case(2): { printf("请输入要删除学生的学号:\n"); scanf("%d",&num2); dels(num2); break; } case(3):break; } } void elect(struct student * s)//选课 { structcouse * p; int num1,i; printf("请输入要选课的编号:\n"); scanf("%d",&num1); for(i=0;s->nelenum[i]!=0;i++); s->nelenum[i]=num1; (s->nelen)++; p=head1; while(p->num1!=num1) p=p->next; (p->nelepeo)++; } void cheak()//学生选课子函数(查询可选课程) { char e; structcouse * c; struct student * s; int num2,i,j=0,t=0; printf("请输入你的学号:"); scanf("%d",&num2); s=head2; while(s->num2!=num2 && s->next!=NULL) s=s->next; if(s->num2!=num2) { printf("不存在你的信息,请进入主菜单录入你的信息!\n"); goto end; } c=head1; printf("你的可选课程编号:\n");

while(c!=NULL) { for(t=0,i=0;s->nelenum[i]!=0;i++) { if(c->num1==s->nelenum[i]) t=1; } if(t==0 && (c->nelepeo!=c->Melepeo)) { printf("%d\n",c->num1); j++; } c=c->next; } if(j==0) { printf("你已选完所有课程,无法再多选!\n"); goto end; } printf("选课(y/n)?:\n"); getchar(); e=getchar(); i=0; while(e=='y') { elect(s); printf("继续选课(y/n)?:\n"); getchar(); e=getchar(); } end:; } void back(struct student * p)//退课 { structcouse * p1; int num1,i,j; printf("请输入你要退掉的课程编号:\n"); scanf("%d",&num1); p1=head1; while(p1->num1!=num1) p1=p1->next; for(i=0;p->nelenum[i]!=num1;i++); for(j=i;p->nelenum[j]!=0;j++) p->nelenum[j]=p->nelenum[j+1]; p->nelenum[--j]=0;

(p1->nelepeo)--; printf("退课成功!\n"); } void hcheak()//学生选课子函数(查询已选课程) { char c; structcouse * p0; struct student * p; int num2,i,f=0; printf("请输入学号:\n"); scanf("%d",&num2); p=head2; while(p->num2!=num2 && p!=NULL) p=p->next; if(p==NULL) { printf("不存在你的信息,请回主菜单录入信息:\n"); goto end; } printf("已选课程编号:\n"); if(p->nelenum[0]==0) { printf("你还没选课!\n"); goto end; } for(i=0;p->nelenum[i]!=0;i++) { printf("%d\n",p->nelenum[i]); p0=head1; while(p0->num1!=p->nelenum[i]) p0=p0->next; f=f+p0->score; } printf("总学分:%d\n",f); printf("是否进行退课(y/n)?"); getchar(); c=getchar(); while(c=='y') { back(p); printf("继续退课(y/n)?"); getchar(); c=getchar(); (p->nelen)--;

} end:; } void elective()//学生选课主函数 { int i; printf("\t\t\t 学生选课\n"); printf("1.查询可选课程\n"); printf("2.查询已选课程\n"); printf("3.返回主菜单\n"); printf("请输入(1~3):\n"); scanf("%d",&i); switch(i) { case(1):cheak();break; case(2):hcheak();break; case(3):break; } } void listc()//输出课程信息 { structcouse * p; p=head1; printf("课程编号 课程名称 学分 课程已选人数 课程人数上限 \n"); while(p!=NULL) { printf("%-8d%10s%6d%8d%12d\n",p->num1,p->name1,p->score,p ->nelepeo,p->Melepeo); p=p->next; } } void lists()//输出学生信息 { struct student * p; p=head2; printf("学生学号 学生姓名 已选课程数量\n"); while(p!=NULL) { printf("%-4d %10s %6d\n",p->num2,p->name2,p->nelen); p=p->next; }

} void intoc()//存储课程信息 { FILE * fp; structcouse * p; char filepath[30]; printf("输入课程信息要保存的文件路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) { printf("\n 保存失败!"); exit(0); } p=head1; while(p!=NULL) { fprintf(fp,"%d %s %d %d %d\n",p->num1,p->name1,p->score,p ->nelepeo,p->Melepeo); p=p->next; } fclose(fp); printf("课程信息已保存在%s 中!\n",filepath); } void intos()//存储学生信息 { FILE * fp; struct student * p; char filepath[30]; printf("输入学生信息要保存的文件路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) { printf("\n 保存失败!"); exit(0); } p=head2; while(p!=NULL) { fwrite(p,sizeof(struct student),1,fp); p=p->next;

} fclose(fp); printf("学生信息已保存在%s 中!\n",filepath); } void into()//存储信息 { int i; printf("1.存储课程信息\n"); printf("2.存储学生信息\n"); printf("3.返回主菜单\n"); printf("请输入(1~3)\n"); scanf("%d",&i); switch(i) { case(1):intoc();break; case(2):intos();break; case(3):break; } } void store()//信息主函数 { int i; printf("\t\t 系统信息查看及存储\n"); printf("1.查看课程信息\n"); printf("2.查看学生信息\n"); printf("3.存储信息\n"); printf("4.返回主菜单\n"); printf("请输入(1~4):\n"); scanf("%d",&i); switch(i) { case(1):listc();break; case(2):lists();break; case(3):into();break; case(4):break; } } int main()//主函数 { int i; start: printf("\n\t\t\t 欢迎使用学生选课系统!\n");

printf("菜单:\n"); printf("1.录入课程信息\n"); printf("2.课程管理\n"); printf("3.录入学生信息\n"); printf("4.学生信息管理\n"); printf("5.学生选课\n"); printf("6.系统信息查看及存储\n"); printf("7.退出系统\n"); printf("\n 请输入菜单选项(1~7):\n"); scanf("%d",&i); if(i<1 || i>7) { printf("输入错误,请重输:\n"); goto start; } switch(i) { case(1): { system("cls"); inputc(); goto start; break; } case(2): { system("cls"); managementc(); goto start; break; } case(3): { system("cls"); inputs(); goto start; break; } case(4): { system("cls"); managements();

goto start; break; } case(5): { system("cls"); elective(); goto start; break; } case(6): { system("cls"); store(); goto start; break; } case(7): { system("cls"); printf("感谢使用本系统!\n\n 再见!\n"); } } return(0); } 青岛男科医院|https://www.wendangku.net/doc/411589267.html,

C课程设计学生信息管理系统

C课程设计学生信息管理 系统 The latest revision on November 22, 2020

课程设计说明书 题目:学生信息管理系统 学院:信息工程学院 班级:软件09-1 2011 年 1 月 21 日

X X 大学课程设计(论文)任务书 课程名称:面向对象程序设计课程设计学院:信息工程学院班级:软件09-1 学生姓名: X X X ___ 学号: 0000 指导教师: X X X

目录

前言 学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。 它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。

学生选修课管理系统需求说明书

网上购物系统软件需求说明书

目录 1. 引言 0 目的 0 项目范围 0 定义、缩略语、缩写 (1) 2. 系统需求概述 (2) 用例模型 (2) 假设和依赖 (5) 3. 系统详细需求 (6) Use-Case 清单 (6) 规格说明 (6) 功能性需求 (6) 可用性 (7) 可靠性 (7) 性能 (7) 保障性 (7) 设计上的限制 (8) 4. 术语表 (9)

软件需求说明书 1.引言 1.1目的 本文档描述了学生选修课管理系统的软件需求规格。目的在于向读者表述系统的环境,系统的功能和非功能的需求。 1.2项目范围 本次软件项目开发的是一个学生选修课管理系统。使用此系统的学生通过互联网进行选课;使用此系统的管理员通过互联网进行系统的管理。系统的功能如下:学生能够通过课程名来寻找课程,并获得课程的摘要信息。 学生能够通过输入某些关键字,对课程进行查询,并获得符合检索条件的课程的摘要信息。 学生能够在课程详细画面上获得课程的详细介绍信息。 学生能够在页面上修改自己的注册资料,更新原有的注册信息。 学生能够在输入合法的用户账号和密码后,登录系统。 学生能够在任何时间退出系统。 学生能够查看当前选课的最新状态。 学生能够对各科成绩进行查询。 学生能够对各科课程信息及老师信息的查询。 能够允许学生修改个人信息。 学生能够浏览基本的课程并实现主要的选课功能。 学生能够填写选课信息、查看已选课程、修改选课。 老师能够申请教课。 老师能够查询课程,申请教课。 老师能够查询课程报名人数情况,进行成绩评定。 老师可以修改个人信息、浏览基本课程以及查看学生的选课情况。 管理员能够在输入合法的用户账号和密码后,登录系统。 管理员能够在任何时间退出系统。 管理员能够创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通 知。 管理员能够维护课程数据,包括课程、老师数据的新增,更新,删除和检索。 管理员能够维护权限数据,包括新增,更新,删除,检索操作。 管理员使用子系统“选课管理”中的教学大纲信息和“科室分配管理”中的教师

学生选修课管理系统设计C语言版

CHANGSHAUNIVERSITY OF SCIENCE & TECHNOLOGY 课程设计(论文)题目:学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级: 信息与计算科学11-01班 所在院部: 数学与计算科学学院 指导教师:龚红仿 2013 年1 月

学生选修课管理系统设计 学生姓名:江元 学号:201153100121 班级:信计11-01班 指导教师:龚红仿 完成日期: 2013年1月11日

学生选修课管理系统设计 摘要 C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学生选修课系统管理设计时间虽然仅有一个星期,但确实使我受益非浅。通过学生选修课系统管理设计我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Microsoft Visual C++ 6.0的使用技巧。 C语言是在国内外广泛使用的一种计算机语言。语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。 关键词:学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

C语言程序设计报告 学生选修课系统

C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: 姓名:

指导老师: C语言程序设计报告 一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 二、题目 学生选修课程系统设计 假定有n门课程,每门课程有课程编号、课程名称、课程性质、总学时、授课学时、实验或商机学时、血粉、开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 1、要求: 试设计一个选修课程系统,使之能提供以下功能: (1)系统以菜单方式工作。 (2)课程信息和学生选课信息输入功能(课程信息用文件保存)——输入。 (3)课程信息浏览功能——输出。 (4)查询功能(至少一种查询方式)——算法。 (5)按学分查询。 (6)某门课程学生选修情况(可选项)。 2、分析: 由于题目要求将学生的选课信息用结构体形式输入,并写入文件中,所以应提供文件的输入输出等操作:在过程中需有浏览、插入、修改、查找、删除学生选课信息等操作,顾应分别建立个功能模块;另外还应提供键盘式选择菜单实现程序运行。 3、总体设计: 根据题目要求,可以将系统分为六个模块: 1)系统以菜单方式工作模块; 2)课程信息与学生选课信息录入功能模块; 3)课程信息浏览功能模块; 4)查询模块; 5)按学分查询模块;

6)某些课程学生选修情况模块。 4详细设计: #include #include 主流程图: #include Array typedef struct subjects { int num; char name[20]; char kind[10]; int stime; int ttime; int etime; int score; int term; struct subjects *next; }SUB; SUB *create_form() { SUB *head,*tail,*p; int num,stime,ttime; int etime,score,term; char name[20],kind[10]; int size=sizeof(SUB); head=tail=NULL;

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

选课管理系统要点

数学与计算机学院 课程设计说明书 课 程 名 称: JAVA 数据库网络综合课程设计 课 程 代 码: 题 目: 选修课程管理系统 年级/专业/班: 2012 级计科 3 班 学 生 姓 名: 徐茂淋 学 号: 312012********* 开 始 时 间: 2014 完 成 时 间: 2014 年 12 年 12 月 2 月 28 日 日 课程设计成绩: 学习态度 及平时成 绩(20) 技术水平 与实际能 力(20) 完成 情况 (20) 创新(5) 说明书(计算书、图 纸、 分析报告)撰写 质量 (35) 总 分 (100)

指导教师签名:年月 日 数学与计算机学院 课程设计任务书 ( 2014/ 2015学年第1学期) 专年业: 级: 计算机科学与技术 2012 课程名称: 课程代码: JAVA 数据库网络综合课程设计

一、设计题目 选修管理系统 二、主要内容 调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有: 1.全校选修计划课程管理; 2.全校选修开课课程管理; 3.全校学生选课管理; 4.全校选修课成绩管理; 5.打印报表; 6.系统维护,如数据安全管理(含备份与恢复)、操作员管理、权限设置等; 要求: 1.设计学生选课录入界面及学生选课查询界面; 2.设计课程输入界面和学生选课表及课程选修情况查询界面; 3.根据学生库和课程库,输出学生课程表(选课冲突时按学号分配课程); 三、具体要求 1.对系统作需求分析和数据库逻辑结构设计。 2.设计出ER模型,并完整标明每个实体型的相关属性,推荐使用Erwin实现。 3.利用前台开发工具,完成对每个实体型中实体数据的查询和编辑操作,并 提供相应的界面。

级C语言学生选课系统报告

课程设计(论文)题目:学生选修课管理系统设计 学生姓名:邓康言 学号:20141409 班级: 计软 所在院部: 广西科技大学 指导教师: 2015 年6 月

学生选修课管理系统设计 学生选修课管理系统设计 摘要 C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次学生选修课系统管理设计时间虽然仅有一个星期,但确实使我受益非浅。通过学生选修课系统管理设计我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对Microsoft Visual C++ 6.0的使用技巧。 C语言是在国内外广泛使用的一种计算机语言。语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。 关键词:学生选修课系统管理;C语言课程设计;计算机技术;模块化程序设

计;信息录入;浏览信息;选课;查询 STUDENTS ELECTIVE COURSES MANAGEMENT SYSTEM DESIGN ABSTRACT C language curriculum design and modern computer technology in the practical application of the combination, we are at this stage of learning theory course on their own side of the ability of a good test, from the beginning of the algorithm to run after the beautiful graphical interface and exciting available procedures, is a very good learning and training process. We consolidate the original theory of knowledge, cultivate our flexible application and integration of the knowledge learned and skills of analysis, ability to solve practical problem. So that we realize that their knowledge and ability in practical application and play. Can not only stimulate consciousness of innovation, also can develop creative ability, communication skills training. The student elective system management design time although only a week, but it does make me benefit. Students elective system management design my rich experience in computer operation, more deep understanding of the C language, familiar with the environment, more increased to Microsoft Visual C++ 6 using skills. The C language is widely used at home and abroad a computer language. Language feature-rich, expressive capability is strong, flexible and convenient use, not only has the advantages of high-level language, but also has many of the characteristics of low-level language, suitable for the preparation of system software.

C语言学生选课系统(代码)

#include #include #include int N1,N2; struct student { int num2; char name2[20]; int nelenum[50]; //所选课程编号 int nelen; //所选课程学分和 struct student * next; }; struct course { int num1; //课程编号 char name1[20]; char major[20]; char type[20]; int credit; int period; char teacher[20]; int people; //选此门课程的人数 struct course *next; //结构体指针 }; struct course * head1; struct student * head2; void zhang() //从键盘录入课程信息 { struct course *p1,*p2; N1=0; p1=p2=(struct course *)malloc(sizeof(struct course));

printf("课程编号\t课程名称\t主修\t课程性质\t学分\t课时\t教师\n"); scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher); p1->people=0; head1=NULL; while(p1->num1!=0) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(struct course * )malloc(sizeof(struct course)); scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher); p1->people=0; } p2->next=NULL; } void zhang1() //从文件录入课程信息 { FILE * fp; char filepath[20]; struct course *p1,*p2; N1=0; printf("请输入您要读取的路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"r"))==NULL)

c课程设计学生成绩管理系统

中南大学 二○一二~二○一三学年第二学期 信息科学与工程学院 C++程序设计语言 课程设计报告 课程名称:C++程序设计语言 班级:电气信息类1206班 学 姓名:邬继阳 指导教师:王磊 二0一三年零七月 目录

1.课程设计目的 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 2.系统描述(需求分析) 需要处理的基础数据 学生基本信息:如班级、学号、姓名、性别、年龄、宿舍号码、电话号码等。 学生选修课程的基本信息:课程编号、课程名称、考试成绩、平时成绩、综合成绩、学分、 重修否等。

系统的基本功能 数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息; 数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息 数据的查询:如按学号查询、按姓名查询等; 数据的删除:如删除指定学号、或者指定姓名的学生及其选修课的信息; 平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出 学生信息; 列出不及格学生清单(学号、姓名、不及格的课程和成绩)。 考虑用文件把数据保存起来(可选)。 可行性分析 2.3.1如上所示,该系统要求处理一些学生成绩的基本数据,包括两个方面:学生身 份信息和学生成绩信息。具体可以考虑创建两个类,一个学生基本信息类,一个学科基本信息类。这样既可以保持二者的独立性,也可以使之相关联。 2.3.2该系统不仅要求能录入一些基本数据外,还要能对这些数据进行处理,比如修 改,删除,插入,查询等。对这些操作的实现可以暂时放开面向对象,而采用面向过程的方法。另外,因为对数据库了解不多,可以考虑用文件保存的形式将数据保存起来,最后在查找的时候采用文件读取。 3.功能模块设计 类的分析与设计 由上面的需求分析可以知道,在本程序中,需要处理两大类数据:一个是学生的身份基本信息,另一个是该同学的课程基本信息。而且要求二者既要相互联系,又不能太相互制约。于是可以考虑创建两个类:Stu类(学生信息类)和Course类(课程

学生在线选课系统

课程设计报告 院(系):计算机科学与工程 专业:信息对抗 班级: 110609 姓名:龙枭 学号: 110609110

课题:学生选课系统 一、概述: 随着计算机的普及,各个高校均采用计算机进行学生选课,而对学生选课相关信息的管理由学生选课管理系统实现。本程序的设计任务就是制作一个可以用于学生选课管理的系统,要可以进行对本系统、数据的管理、数据查询、常用操作、数据库管理等功能。具体来说就是可以通过管理功能对本系统用户进行用户添加删除以及密码修改和权限的管理;还可以通过数据管理功能对教师、学生、课程、选课、成绩等信息进行添加、修改和删除等具体的操作;再者可以通过数据查询功能对教师、学生、课程、成绩等信息的查询;本程序采用C# 实现管理员对学生、教师、课程、教师授课、登成绩、学生选课信息管理。实现的主要功能有:学生、教师、课程、教师授课、登成绩、学生选课数据的入库、查询、修改、删除、更新等等的功能,是一个可以满足学生方便选课,查询;教师查询,登成绩;管理员方便管理所有信息的系统。 二、学生选课系统需求分析与设计方案: 1. 学生选课系统功能需求分析: 学生选课系统是管理员用来管理学生、教师、课程、教师授课、登成绩、学生选课信息而开发的,所以其需求的功能是对学生、教师信息的所有操作,其中包括: 1.1 学生: <1> 对自己个人信息能够进行查询,修改密码。 <2> 能查询自己选过的课程及成绩。 <3> 能查询所有课程及授课信息。 <4> 能选择自己想选修的课程,也能取消。 1.2 教师: <1> 对自己个人信息能够进行查询,修改密码。 <2> 能查询自己教授的课程及成绩。 <3> 能查询所有选择自己授课的学生信息。 <4> 能给选修自己授课的学生登成绩。 1.3 管理员: <1> 能将所有学生、教师、课程、授课、选课等信息录入数据库。 <2> 对数据库中的学生、教师、课程、授课、选课等信息能够进行查询。 <3> 能对据库中的学生、教师、课程、授课、选课等信息能够进行修改。 <4> 能对据库中的学生、教师、课程、授课、选课等信息能够进行删除。2.学生选课系统设计方案: 2.1 系统功能结构图:

学生档案管理系统c语言课程设计

目录 一、课题设计内容与主要功能 (1) 第1节.设计内容 (1) 第2节.主要功能 (1) 二、课题分析...................... 错误!未定义书签。 第1节.类声明表.................... 错误!未定义书签。 第2节.分析课程设计项目的实现方法 (3) 三、主要功能的实现步骤 (4) 四、程序测试与结论 (5) 五、总结 (11) 六、附件14

一、课题设计内容与主要功能 1、设计内容: 为了满足学生档案管理的要求,通过计算机技术给档案管理人员带来便利。使用c 语言编写了学生档案此管理系统。本系统主要实现学生档案管理的功能,通过此系统方便对学生档案管理。包括学号、姓名、性别、年龄、备注。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。图书信息的录入后,系统按照有一定的规范格式显示,录入的学生信息用文件形式保存,并可以对其进行修改、排序、插入、排序查询等基本操作。整个程序实现链表操作,对学生信息的操作逐个地进行。 学生档案管理系统构建框架 2、主要功能: 1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。 2、本系统显示这样的菜单:

请选择系统功能项:1.学生基本信息录入;2.学生基本信息显示;3.学生基本信息保存;4.学生基本信息修改;5.学生基本信息插入;6.学生基本信息删除;7.学生基本信息排序;8.学生基本信息按姓名查询;9.从文件中读入学生基本信息;10.退出系统 3、执行一个具体的功能之后,程序将重新显示菜单。 4、将学生基本信息保存到文件中。 二、课题分析 1、类说明表 2、实现方法及核心算法实现代码: 主函数: void main() 录入函数:void enter() 显示函数:void list() 保存函数:void save() 插入函数:insert() 修改函数:void revise() 删除函数:void delete()删除录入的学生信息 排序函数:void sort()排序录入的学生信息 查找函数:void qseek()查找录入的学生信息 读取函数:int load()读取保存在文件中的学生信息

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

学生选课系统C语言设计

题目一、学生选课管理系统 目录 第一部分:课程设计名称、目的、要求... 第二部分:程序总体设计思路........... 第三部分:程序功能划分、图示及流程图. 第四部分:程序设计数据、运行结果..... 第五部分:程序的优缺点............... 第六部分:心得体会................... 第七部分:附录(源程序)............. 第八部分:附录(参考文献)...........

第一部分:课程设计名称、目的、要求 名称:学生选修课程系统设计 目的:运用C语言提高解决实际问题的能力 实验环境:Microsoft Visual C++ 6.0 内容: 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 【功能】 系统以菜单方式工作 课程信息录入功能(课程信息用文件保存)--输入 课程信息浏览功能--输出 查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 学生选修课程(可选项) 第二部分:程序总体设计思路 由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

具体的设计思路如下: 程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。 整个程序的设计思路到此结束。 第三部分:程序功能划分、图示及流程图 【功能模块划分及其流程图】 本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这9个部分来完成。这9个部分依次是: 1.登录界面函数;void login() 2.学生登录界面据函数:void stu_login() 3.管理员登录界面函数:void man_login() 4.退出界面函数:void bye_sys()

网上选课系统可行性分析报告

网上选课系统可行性分析报告 1、引言 1.1 编写目的 开发网上选课管理系统是为了实现学校人力资源的优化和学生成绩管理的科学管理而设计的,更方便老师对学生的了解和学生对课程的安排,更有利于教课的进行。方便学生、管理者、老师获取学生信息。对学生信息将进行安全检测,包括真实性。通过试用本系统,可以更加有效的管理学生的学籍管理,成绩信息等,并且具有对信息的增加,查询,修改等功能。 1.2 项目背景 待开发项目名称:学生网上选课管理系统; 委托单位:黔南民族师范学院 开发单位:黔南民族师范学院的学生 主管部门:黔南民族师范学院的老师 用户:黔南民族师范学院 产品的所有权:黔南民族师范学院 项目开发者:马红霞、涂贵欢、毛必琴 项目背景: “学生选课系统”是指在网络上提供选修课服务,使学生能够在规定的时间内在网上选课或退课而系统马上能够返回该学生是否成功的信息,能查询课程信息、教师个人信息以及该程成绩。教师可提供说开课程的基本信息,同时还可以通过本系统查询选修课学生信息。教务管理员负责何时开放和关闭选课、发布信息、选课用户的管理和选课情况的监控等,并可以为教务管理员提供方便的管理功能:添加、删除、修改课程信息和学生记录等。随时完成统计工作,避免某门课的报名人数超出它的最大容量,而如果报名人数不足又有部分学生没选上课,将课程的选修过程设置为两次。本系统是选修课实现系统的自动化从而提高教务工作的效率。较为全

面的涵盖了学生从入学到毕业的全部信息,牵涉部门广各系部、学生办、财务部处等。 1.3 参考资料 [1] 吕云鹏王昕鹏邱玉龙编著.软件工程—理论与实践. 人民邮电出版社. [2]白度文库.wenku.baidu./view/fc6709115f0e7cd184253679.html [3]曾建潮.软件工程.武汉理工大学出版社. 2、可行性研究的前提 2.1 基本要求 主要功能:教师对学生资料、成绩以及所选课程进行修改管理;学生可通过查询自身成绩,自主选择相关课程,管理员(教务处)统管所有学生、教师的相关信息。 性能要求:所有数据实时更新保持同步,且定时备份。 输出要求:简单、快捷、实时。 输入要求:及时的修改和更新学生、教师和课程的信息。 安全与保密要求:系统本身配备一定的安全机制,保证各项数据的完整、正确。 每类用户进入系统时,均需输入唯一的用户名和密码;教师有权对学生所选课程成绩进行录入、查询和修改;学生有权对选修课程进行修改;管理员有权对学生信息、所选课程、科目成绩进行管理、修改。 完成期限:3个月 2.2 开发目标 (1)开发此学生选课管理系统软件,使教学人员及操作者进行选课管理,方便操作者随时添加、查询、修改,使工作人员从繁琐的填表,查表工作中解放出来,使得人力和设备减少; (2)使供需双方都获得满意的结果; (3)促进报表、统计数字的规范化;

网上选课系统

软件工程课程设计实验报告 —网上选课系统

目录 网上选课系统 (3) 一、实验目的 (3) 二、实验要求 (3) 三、实验内容 (3) 四、详细设计 (3) https://www.wendangku.net/doc/411589267.html,e case diagram(用例图) (4) 2.Class diagram(类图) (5) 3.Sequence diagram(序列图) (5) 4.Collaboration diagram(协作图) (9) 5.Statechart diagram(状态图) (13) 6.Activity diagram(活动图) (14) https://www.wendangku.net/doc/411589267.html,ponent diagram(组件图) (16) 8.Deployment diagram(配置图) (17) 9.Datamodel diagram(数据模型图) (17) 五、心得体会 (18) 六、参考资料 (19)

网上选课系统 一、实验目的 软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose 中建模。 二、实验要求 1.熟悉Rose开发环境。 2.掌握UML的基本模型元素(如角色、用例、类等)。 3.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类 图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。 4.进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程 图,建立完整的系统数据库的逻辑模型。 5.完成对系统的建模实现。 进行检查,并提交设计报告。 三、实验内容 主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。 四、详细设计 在Rose开发环境中用UML来进行系统9大图的设计。

学生网上选课系统

学生网上选课管理系统

目录 第一章:网上选课管理系统的概述 (1) 1.1网上选课管理系统总的概述 (1) 1.2学生管理子系统的概述 (2) 1.3教师管理子系统的概述 (3) 1.4管理员管理子系统的概述 (4) 第二章:网上选课管理系统的需求分析 (5) 2.1 网上选课管理系统用例图 (6) 第三章:网上选课系统的类图 (33) 3.1网上选课系统类图说明 (34) 第四章:网上选课系统的顺序图和合作图 (35) 4.1管理员管理子系统顺序图和合作图 (35) 4.1.1管理员删除课程顺序图和合作图 (36) 4.1.2管理员删除学生顺序图和合作图 (39) 4.1.3管理员修改课程信息顺序图和合作图 (42) 4.1.4管理员添加学生信息顺序图和合作图 (45) 4.1.5管理员添加课程顺序图和合作图 (48) 4.2学生管理子系统顺序图和合作图 (51) 4.2.1学生选课顺序图和合作图 (51) 4.2.2学生退课顺序图和合作图 (54) 4.2.3学生查看课表顺序图和合作图 (57) 第五章:网上选课系统的状态图 (60) 5.1管理员状态图 (60) 5.2 教师状态图 (61) 5.3 学生状态图 (61) 第六章:网上选课系统的活动图 (61) 6.1查询课程信息系统活动图 (62) 6.2添加课程系统活动图 (63) 6.3修改课程系统活动图 (64) 第七章:网上选课系统的配置图 (66) 第八章:网上选课系统的组件图 (67) 第九章:任务分配 (68)

第一章:网上选课管理系统的概述 1.1网上选课管理系统总的概述 学生网上选课系统是针对高校学生通过网络选课的一般需求开发的原型系统软件,目的是让学生更加方便、快捷、系统的选修自己想要学习的课程。传统的纸上选课方式浪费了大量的人力物力,又浪费时间,管理起来非常不方便,还容易出现遗漏信息情况。采用网上选课系统,学生通过网络选择课程,避免了传统选课方式的很多缺陷,对于客户的信息他拥有绝对的保密性,同时也方便学校对学生选课情况的了解和管理。 在学生网上选课管理过程中,主要活动有:学生进入信息管理界面,学生登录、输入个人登录信息及提交,学生进入选课系统界面,学生浏览显示的可选课程,学生进行选课,学生查看所选课的课表,学生退课,学生查看选修课成绩,学生查看过去所选课的成绩,学生查看过去所选的课程,学生修改自己的信息如登录密码并进行保存;教师进入信息管理界面,教师登录、输入个人登录信息及提交,教师查看选课学生,教师打印选课学生的名单,教师对学生的成绩进行统计,教师将学生的成绩录入系统中,教师检查学生的成绩,教师修改学生的成绩;管理员对学生信息、教师信息、课程信息进行管理(包括添加、修改、删除、账户管理)。

学生选课管理系统c语言程序

#include〈stdio。h> #include〈stdlib.h> #include〈string。h> int N1,N2; struct couse *head1; structstudent* head2; struct couse ?//课程信息结构体 { int num1;???//课程编号 charname1[20];?//课程名称 char type[20];?//课程性质 inthour;?//总学时 ?intteach;??//上课学时 ?intexp;??//实验上机学时 int credit;???//学分 ?int semester; ?//开课学期 int nelepeo;?//课程已选人数 ?intMelepeo;//课程上限 struct couse *next; }; struct student??//学生信息结构体 { int num2;????//学号 char name2[20];?//姓名 intnelenum[50];?//已选课程编号 char nelename[10][20];?//已选名称 int nelen; //已选课程数量 ?int score;//总学分 ?intgainscore; //已获得的学分 struct student *next; }; void manger(); void student(); void managementc(); voidmanagements(); void manage(); void main(); voidintoc() //存储课程信息 { FILE *fp; struct couse *p; char filepath[30]; ?printf(”\t\t\t*****************************\n”); printf("\n\t\t\t\t欢迎使用此系统!\n”);

选课管理系统分析

数学与计算机学院 课程设计说明书 课程名称: JA V A数据库网络综合课程设计 课程代码: 题目: 选修课程管理系统 年级/专业/班: 2012级计科3班 学生姓名: 徐茂淋 学号: 312012********* 开始时间:2014 年12月2日完成时间:2014年12月28日课程设计成绩:

指导教师签名:年月日 数学与计算机学院 课程设计任务书 ( 2014/ 2015学年第1学期) 专业:计算机科学与技术 年级:2012 课程名称:JA V A数据库网络综合课程设计 课程代码:

一、设计题目 选修管理系统 二、主要内容 调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有: 1.全校选修计划课程管理; 2.全校选修开课课程管理; 3.全校学生选课管理; 4.全校选修课成绩管理; 5.打印报表; 6.系统维护,如数据安全管理(含备份与恢复)、操作员管理、权限设置等; 要求: 1.设计学生选课录入界面及学生选课查询界面; 2.设计课程输入界面和学生选课表及课程选修情况查询界面; 3.根据学生库和课程库,输出学生课程表(选课冲突时按学号分配课程); 三、具体要求 1.对系统作需求分析和数据库逻辑结构设计。 2.设计出ER模型,并完整标明每个实体型的相关属性,推荐使用Erwin实现。 3.利用前台开发工具,完成对每个实体型中实体数据的查询和编辑操作,并提 供相应的界面。 4.源代码格式规范,注释不少于三分之一. 5.提交完整程序代码、课程设计报告及相关文档;给出系统需求分析和数据库

6.逻辑结构设计;总结开发语言与后台数据库之间的连接形式;总结程序开 发过程中系统函数、存储过程、触发器等后台数据库对象在开发过程中的调用情况(如果没有使用,可不写);设计中遇到的问题,设计的心得体会; 调试所遇到的问题等。 四、成果及应提交材料 1.源程序一份 2.课程设计报告一份 五、主要技术路线提示 后台推荐采用SQL server或Oracle;前台开发环境为JAVA。 用前台开发工具开发相应系统,学习开发工具与数据库的连接,可采用ADO,ODBC,OLE DB或JDBC连接数据库,并调用系统存储过程、自定义存储过程、函数等。 六、进度安排 第12周:数据库系统概念模型、数据模型设计,创建数据库以及相关对象; 第13周:前台程序开发,撰写报告,接受检查。 七、推荐参考资料 1.王珊、萨师煊,数据库系统概论,高等教育出版社. 2006.5 2. 李刚等,Java程序员之旅--Java数据库技术详解,化学工业出版社,2011.4 3、姜中华,刘小春,Java 数据库应用程序设计,机械工业出版社,2008.4 4、软件开发技术联盟,Java Web开发实践,清华大学出版社,2013.9 指导教师签名日期年月日 系主任审核日期年月日

相关文档
相关文档 最新文档