文档库 最新最全的文档下载
当前位置:文档库 › 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;

printf("输入选修课程信息:\n");

scanf("%d %s %s %d %d %d %d %d",&num,&name,&kind,&stime,&ttime,&etime, &score,&term);

while(num!=0){

p=(SUB *)malloc(size);

p->num=num;

strcpy(p->name,name);

strcpy(p->kind,kind);

p->stime=stime;

p->ttime=ttime;

p->etime=etime;

p->score=score;

p->term=term;

if(head==NULL)

head=p;

else

tail->next=p;

tail=p;

scanf("%d %s %s %d %d %d %d %d",&num,&name,&kind,&stime,&ttim e,&etime, &score,&term);

}

tail->next=NULL;

return head;

}

void savefile(SUB *head)

SUB *p;

FILE *fp;

fp=fopen("subjects.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

}

void savefileadd(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjectsadd.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

}

void savefiledel(SUB *head)

{

SUB *p;

FILE *fp;

fp=fopen("subjectsdel.txt","w");

fprintf(fp,"课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期\n");

for(p=head;p;p=p->next)

fprintf(fp,"%5d%12s%9s%9d%9d%11d%11d%7d\n",p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);

fclose(fp);

}

void prin(SUB *head)

{

SUB *ptr;

if(head==NULL){

printf("没有此门课程记录!\n");

return;

}

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind, ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

}

{

int a,num;

int t=1;

char type[10];

char ch='a',ch1;

SUB *ptr;

while(ch!=' '){

printf("若要按课程性质查找请输入1,若要按学分查找请输入2:\n");

scanf("%d",&a);

switch(a){

case 1:printf("请输入要查找的课程的性质:\n");

scanf("%s",type);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

if(strcmp(type,ptr->kind)==0){

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind, ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t) printf("未找到!\n");

t=1;

break;

case 2:printf("输入要查找的课程的学分\n");

scanf("%d",&num);

printf("课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期\n");

for(ptr=head;ptr;ptr=ptr->next)

if(ptr->score==num){

printf("%5d%12s%9s%9d%9d%11d%11d%7d\n",ptr->num,ptr->name,ptr->kind, ptr->stime,ptr->ttime,ptr->etime,ptr->score,ptr->term);

t=0;

}

if(t) printf("未找到!\n");

t=1;

}

printf("继续查找请按回车键,结束请按空格键:\n");

ch1=getchar(); //将回车键赋给CH1,否则CASE里面最后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

}

SUB *insert(SUB *head)

{

SUB *ptr,*ptr2,*subj;

int size=sizeof(SUB);

char ch='a',ch1;

while(ch!=' '){

subj=(SUB *)malloc(size);

ptr=subj;

printf("输入要插入的课程信息:\n");

scanf("%d%s%s%d%d%d%d%d",&subj->num,subj->name,subj->kind,&subj->sti me,&subj->ttime,&subj->etime,&subj->score,&subj->term);

if(head==NULL){

head=ptr;

head->next=NULL;

}

else{

for(ptr2=head;ptr2;ptr2=ptr2->next)

if(ptr2->next==NULL){

ptr2->next=subj;

subj->next=NULL;

break;

}

}

printf("继续插入请按回车,结束请按空格:\n");

ch1=getchar(); //将回车键赋给CH1,否则subj->term输完后输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

}

return head;

}

SUB *del(SUB *head)

{

SUB *p1,*p2;

char ch='a',ch1;

int num;

while(ch!=' '){

printf("输入想要删除的课程编号:\n");

scanf("%d",&num);

if(head->num==num){

p2=head;

head=head->next;

free(p2);

}

if(head==NULL)

return NULL;

p1=head;

p2=head->next;

while(p2){

if(p2->num==num){

p1->next=p2->next;

free(p2);

}

else p1=p2;

p2=p1->next;

}

printf("继续删除请按回车,结束请按空格:\n");

ch1=getchar(); //将回车键赋给CH1,否则num输完后再输入的回车键会赋给CH,因此用CH1填补。

ch=getchar();

return head;

}

void choose(SUB *head)

{

SUB *p,*q;

int a[5];

int num,total=0,i=0,j;

printf("输入要选修的课程的编号,编号之间以空格分开,输完后以0结束\n");

scanf("%d",&num);

while(num!=0){

for(p=head;p;p=p->next)

if(p->num==num){

total=total+p->score;

a[i]=num;

i++;

}

scanf("%d",&num);

}

if(total<60) printf("选修总学分未达到60,选修失败!\n");

else {

printf("选修成功!\n");

printf("您选修的课程为:\n");

for(j=0;j

for(q=head;q;q=q->next)

if(q->num==a[j])

printf("%s ",q->name);

printf("\n");

printf("***********************************\n");

printf("***********************************\n");

printf("***********************************\n");

printf("***********************************\n");

}

}

void main()

{

SUB *head=create_form();

savefile(head);

prin(head);

search(head);

head=insert(head);//注意此处的必要性函数insert的的返回值重新赋给head! savefileadd(head);

printf("修改后的信息为:\n");

prin(head);

head=del(head); //注意此处的必要性,数del的的返回值重新赋给head!

savefiledel(head);

printf("修改后的课程信息为:\n");

prin(head);

choose(head);

}

运行结果:

输入选修课程信息:

1 maths bx 15 14 0 25 1

2 Entg bx 15 14 0 25 1

3 hh xx 10 8 2 15 1

4 bb xx 2

5 14 0 35 1

0 gg xx 12 10 0 10 1

课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期

1 maths bx 15 14 0 25 1

2 Entg bx 15 14 0 25 1

3 hh xx 10 8 2 15 1

4 bb xx 2

5 14 0 35 1

若要按课程性质查找请输入1,若要按学分查找请输入2:

1

请输入要查找的课程的性质:

bx

课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期

1 maths bx 15 14 0 25 1

2 Entg bx 15 14 0 25 1

继续查找请按回车键,结束请按空格键:

若要按课程性质查找请输入1,若要按学分查找请输入2:

2

输入要查找的课程的学分

15

课程编号课程名称课程性质总学时授课学时实践或上机学时学分开课学期

3 hh xx 10 8 2 15 1

继续查找请按回车键,结束请按空格键:

课程设计体会:

通过学习和练习C程序的设计基础,学习到了很多关于C的知识。在这次学习过程中,毫无疑问的遇到了很多困惑、疑问,难免心情沮丧,失去耐心,信心受挫,但同学的帮助,老师的解惑和自己的坚持。终于做了出来。看着这一页页的程序,我感受到了成功的喜悦。用一句话来形容一下这几天就是:苦并快乐着。

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

目录

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

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 2015年制

实习所用软件简介: 系统的搭建平台选用的操作系统是Windows XP:Microsoft Windows XP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。2011年9月底前,Windows XP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。2012年8月份,统治操作系统市场长达11年之久的Windows XP最终被Windows 7超越。 基于数据库的选课系统的数据管理所选得软件是SQL Server2008:SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。SQL Server 2008 允许使用Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 基于https://www.wendangku.net/doc/122611539.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生选课管理系统软件课程设计报告(精)

山东交通学院 面向对象课程设计学生选课管理系统软件 院(系别信息工程系 班级计算091 学号xxxxxxxxxxxx 姓名 xxxxx 指导教师 xxxxx 时间2011-04-05—2011-04-17 课程设计任务书 题目学生选课管理系统 系 (部信息工程系 专业计算机 班级计算091 学生姓名 xxxxx 学号 xxxxx 0 4 月 05日至 04 月 17 日共 2 周 指导教师(签字 系主任(签字 年月日

成绩评定表

abstract In order to improve everyone's hands-on time ability and the content of the later work have certain knowledge, at the same time for everybody in a database of a learning inspection study; School for everybody arranged for a two-week course design, make everyone working environment to the database, and understand more about curriculum design is several classmates to do the same projects, the regulation of the people's operation, is later programming work strengthened the personal programming specifications. This document on the database and VC briefly simply introduces, in the form of using graphic combined with written by the students elective course system in detail. Students elective course system is a more perfect record course information, her students can add students' information, new information, show the modified students of information and inquires the student students of information, etc. For the record students' information provides convenient records. Key words: database, VC, source program, students' course selection 目录 1课程设计概述 (1 1.1学生选课管理系统软件功能概述 (1 1.2Visual C++6.0概述 (1 2学生选课管理系统软件总体设计 (1 2.1学生选课管理系统软件总体设计思想 (1 2.2总体设计流程图 (3

在线选课系统设计

在线选课系统设计 摘要:随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能,另外也初步解决了教师在课程信息发布管理上的权限问题。本程序前台采用Dreamweaver 4.03进行页面制作,后台由SQL Server数据库支持,通过使用ASP语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本文中除了有对程序的总体设计、详细设计、功能实现等主体部分外,在这之前还介绍了与网上选课系统相关的信息管理系统、网络编程技术、ASP编程语言、SQL Server数据库服务器等的基本内容及发展情况。 关键字:选课、课程信息发布、权限、SQL Server、ASP Abstract:with the development of the enrolling number, the data for daily education is increasing, too. This system is special for the on-line course choosing to design both from the aspect of the student and the teacher. The student can choose the course independently and the teacher can manage the information of the announcing course, also. This system is basically used for the on-line information searching, the course choosing and the announcing course managing. Besides, the power of the teacher has been well controlled. The form is made by Dreamweaver 4.03 , the data base is built by SQL Server and the active website is made by using the ASP language .This paper includes the main designing , the detail designing, the function designing and , before this , some basic knowledge and present development of the programs mentioned above. Keywords:course choosing , announcing the course information , power , SQL Server , ASP

学生选修课管理系统设计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语言课程设计;计算机技术;模块化程序设计;信息录入;浏览信息;选课;查询

学生选课系统设计说明书

学生选课系统的系统设计 1引言 1.1编写目的 开发一个学生选课系统, 采用计算机对学生成绩进行管理, 进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率, 实现学生成绩信息管理工作流程的系统化、规范化和自动化。一个高校的学生成绩管理系统可以存储历届的学生成绩档案, 不需要大量的人力, 只需要几名专门录入员即可操作系统, 节省大量人力, 可以迅速查到所需信息、高效、安全, 学生也能方便的查看自己的成绩。 1.2项目背景 (1)ASP的动态网页和SQL Server大型的数据库建立一个学生选课系统。 (2)以Windows XP作为学生选课管理系统的后台操作系统,后台数据库系统采用SQL Server 2000。 系统的名称:学生选课系统; 工程组织者:数学与计算机学院; 产品所有权:学生选课系统开发小组拥有 任务的详细信息: a) 任务提出人:张阳 b) 需求分析人:张阳 c) 用户:使用该软件且具有一定特权的管理人员(老师)和学生。 1.3 定义 (1)Active Server Pages (ASP) 是服务器端脚本编写环境,是由Server端脚本、对象以及组件拓展过的标准主页使用它可以创建和运行动态、交互的Web 页和基于Web 的功能强大的应用程序。ASP程序是由文本、HTML标记和脚本组合而成的。在ASP程序中,脚本通过分隔符与文本和HTML标记区分开来。ASP用分隔符〈%和%〉包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。在ASP分隔符〈%和%〉内,可以包括主脚本语言允许的任何语句、表达式和操作符等。 (2)SQL Server 是一个具备完全Web 支持的数据库产品,提供了对可扩展标记语言(XML) 的核心支持以及在Internet 上和防火墙外进行查询的能力,提供了以Web 标准为基础的扩展数据库编程功能。丰富的XML 和Internet 标准支持允许使用内置的存储过程以XML 格式轻松存储和检索数据。 1.4参考资料 【1】Karl E.Wiegers 著.陆丽娜王忠民王志敏译.软件需求.机械工业出版社.2000 【2】Roger S. Pressman.软件工程-实践者之路第五版.影印.清华大学出版社.2001 【3】《软件工程导论》张海藩编著清华大学出版社2000

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级:2012级计算机科学与技术1班 学号:201211514 姓名:刘秀珍 系统名称:学生选课系统 总分:

实验报告内容及撰写要求: 一、需求分析 程序的主要功能描述,可以用文字、框图、用例等方式。 参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。 主要应当包含分析的过程及分析后得到的数据流图和数据字典。 二、数据库设计 2.1 数据库概念设计 实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。 2.2数据库的逻辑设计 根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。 同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。 三、系统实现 3.1 数据库访问 1)数据访问类及实现代码 2)SQL语句 3.2 业务逻辑层类及代码 描述业务流程、数据处理功能的模块代码 3.3表示层的实现 可以用界面截图及其实现类及核心代码描述

四、总结

一、需求分析 1.1背景 全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。 网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。 1.2系统设计要求: 设计出一个学生选课数据库系统的简要要求如下: 1)设计要求 ①建立相应的数据库及相关的表、属性、约束、规则、默认等; ②输入相应的记录(每个表不少于20条记录); ③编写进行数据管理的存储过程。 2)系统用户由系统管理员、学生用户和教师用户三类组成。 (1)系统管理员的主要功能: ①用户管理(对教师、学生信息的管理和维护); ②课程管理(对课程信息的管理和维护); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。

学生选课管理系统

学生选课管理系统 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;

学生选修课程系统设计说明书

(此文档为word格式,下载后您可任意编辑修改!) 课程设计说明书 课程名称:计算机科学与技术程序设计语言-课程设计 题目: 学生选修课程系统设计 年级/专业/班: 学生姓名: 学号: 开始时间:2010 年 06 月18日 完成时间:2010 年 07月 02 日 课程设计成绩: 指导教师签名:年月日 目录 1 引言 (1) 1.1设计背景 (1) 1.2任务与分析 (1) 2 程序的主要功能 (2) 2.1管理员功能 (2)

2.2学生功能 (2) 2.3浏览功能 (2) 2.4查询功能 (2) 2.5添加功能 (2) 2.6删除功能 (2) 3 程序运行平台 (3) 4 总体设计 (4) 4.1系统功能结构图 (4) 4.2数据结构 (5) 5 模块分析 (5) 5.1结构体声明,创建链表及主函数模块 (5) 5.2管理员模块 (7) 5.3学生模块 (9) 5.4浏览模块 (10) 5.5查询模块 (11) 5.6插入链表模块 (11) 5.7添加模块 (11) 5.8 删除模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 5.9 选修课程模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 6 系统测试 (16) 7 结论 (21) 参考文献 (21) s

摘要 大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。原因是传统的选课方法没有预见性,大家没有事先协调好。使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪费体力去选课,还可以使教学资源合理平均地分配。 全校性选修课的目的在于扩大学生的知识面,加强学生素质教育,培养复合型高级人才,具有不可替代的重要性!随着教育改革的不断深入和素质教育的加强完全学分制的实施,选修课在一个学生的培养计划中站的比重越来越大! 关键词:选修课;素质教育; 开拓知识面……

学生的的选课管理系统体系结构设计报告模板总结模板计划模板.doc

精品文档 目录 0. 文档介绍 (2) 0.1 文档目的 (2) 0.2 文档范围 (2) 0.3 读者对象 (2) 0.4 参考文献 (2) 0.5 术语与缩写解释 (2) 1. 系统概述 (3) 1.1 概述 (3) 1.2 功能描述 (3) 2. 设计约束 (5) 2.1 需求规定 (5) 2.2 运行环境 (5) 2.3 接口约束 (6) 2.4 质量约束 (7) 2.5 隐含约束 (7) 3. 设计策略 (8) 3.1 关键技术 (8) 3.2 扩展策略 (8) 3.3 复用策略 (8) 4. 系统总体结构 (10) 4.1 逻辑设计 (12) 4.2 用户接口逻辑设计 (12) 4.3 物理设计 (12) 5. 子系统的结构与功能 (13) 6. 开发环境的配置 (18) 7. 运行环境的配置 (19) 8. 测试环境的配置 (20) 9. 其他 (20)

0.文档介绍 0.1 文档目的 该文档描述了学生选课管理系统的主要功能,阐述了系统的总体构架,包括物理、逻辑结构,并说明了体系结构所采取的设计策略和所有技术。 0.2 文档范围 学生选课管理系统 0.3 读者对象 项目组长,项目负责小组,各功能模块负责人及程序员。 0.4 参考文献 资料名称资料来源 《学生选课管理系统项目计划书》学生选课管理系统《学生选课管理系统需求规格说明书》学生选课管理系统《计算机软件文档编写指南》图书馆 《 CMMI+3级软件过程改进方法与规范》图书馆 0.5 术语与缩写解释 缩写、术语解释 SPP简并行过程(Simplified Parallel Process) PM项目管理(project management) 实体实体是一个可持久化的域对象,比如电脑、书等。 数据字典对数据流程图中对象的详细描述

学生选课系统详细设计说明书

学生选课系统详细设计说明书

一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架 构,主要包括系统的模块划分、程序系统的结构、各个 模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括 学生、教师等)进行管理,包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包 括授课教师、开课时间设定),同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对 系统公告进行更改或者系统标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员 可设定不同人员对不同模块的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方

学生网上选课系统毕业设计论文

实训报告 课题名称:学生网上选课系统

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

学生选课系统课程设计报告

学生选课系统课程设计报告

《数据库原理》课程设计报告 题目:实验2学生选课系统 姓名:李子甘 班级:计科0601 学号:200640274 08年1月

一.需求分析 传统的选课方式都是手写的,教务处通知各 个班级选课,各个班长再通知同学,经过统 计在上交,这样繁琐的过程比较浪费时间。 再者选课时不知道所选课人数已满,要等到 教务处统计后才知道,然后再重新选择。网 上选课为同学节省时间的同时,也减少了不 必要的步骤,也更加方便管理员的管理。 网上选课系统为同学们提供了一个自由的 平台,学生们可以选择规定范围内的课程,查看已修课程总数,还可以修改个人信息。 同时也给老师提供了很大的方便,教师可以 根据统计的人数挑选一定数量的学生,也可 以方便的在网上公布成绩,让学生可以在网 上直接查寻成绩。 我国不少高校都实行学分制,它的核心是允 许学生自由选课,即把学生的自主权交给学 生。在这里,学生的选课制约因素比较复杂,工作量也很大,而且往往需要在较短的时间 内完成。运用计算机辅助选课,即能实时地 对大量选课数据进行检验和统计,十分方便 的输出选课结果,同时也避免了人工选课时

容易产生错误。 二.概念机构设计 根据系统功能设计的要求以及功能模块 的划分,各个系统的逻辑实现如下: 1.对于学生选课系统数据库,可以列出以下数 据项和数据结构: 学生信息:学号、学生姓名、学生的系名、学生性别、学生年龄、学生密码。2.对于教师信息维护数据库,可以列出以下数 据项和数据结构: 教师个人信息:教师编号、教师名称、教师密码。 3.对于后台管理数据库,可以列出以下数据项 和数据结构: 管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系。 选课信息:课程号、学生学号、成 绩。 4.数据流:学生管理员和教师分别有自己的权 限,学生可以查看全部选修必修课程,查看

学生选课管理系统 概要设计

软件工程实验报告 班级:学号:姓名: 实验二:概要设计和详细设计 学生选课管理系统设计说明书 一、实验内容 1.引言 1.1编写目的 设计说明书的书写,主要是明确系统的功能和算法,把总任务分解成多个基本的、具体的任务。将系统分成若干个模块,确定各个功能模块的具体用途总体设计是系统开发过程中关键的一步。系统的质量及一些整体特性基本上是由这一步决定的。系统越大,总体设计的影响越大。项目开发的专业人员需要了解系统的总体概要设计,并以次为行动指南,开展下一个阶段的具体工作。 读者对象:项目分析和开发人员。 1.2项目背景 学校是一个与学生信息安全密切的重要机构,在高度信息化的今天,学生对学校管理的要求也越来越高。为了方便学生查询自己的选课信息,也为了学校更好的了解学生选课信息,学校需要一个学生选课信息管理系统。 系统的名称为:学生选课管理系统。 项目的开发提出者:学校。 软件的用户为:学校的学生、教师和管理员。 1.3 定义 本学生选课管理系统在开发时注意到使用专业术语会对今后的系统使用者造成不便,故所有相关词汇使用了简洁并通俗易懂的词汇,系统使用者不会出现对此系统词汇看不懂的问题,故而在此对系统及文件使用词汇不做定义。 2.任务概述 2.1目标 明确学生选课管理系统各个模块的需求和功能。 2.2运行环境 操作系统:windows2000以上版本。 2.3需求概述

学生选课管理系统的主要功能主要功能是实现对学生信息和教师信息的管理,以及学生成绩的管理。因此,该系统需要具备的具体功能如下: 学生页面操作:包括个人信息,密码修改,查询成绩,选课,退选五个功能; 教师页面操作:包括个人信息,密码修改,修改其所授科目的学生成绩; 管理员页面操作:包含学生信息管理(增加、修改、删除、查询); 教师信息管理(增加、修改、删除、查询); 课程信息管理(增加、修改、删除、查询); 成绩管理(查询、录入、修改); 3.总体设计 3.1处理流程 系统基本流程: 学生用户登录——>主界面——>选择各项子系统 教师用户登录——>主界面——>选择各项子系统 管理员登录——>主界面——>选择各项子系统 3.2总体结构和模块外部结构 本选课系统主要是由学生管理、教师管理和管理员管理三个部分构成。其中学生管理是学生对个人信息的一些查询、选课以及退课,并不能对一些信息进行修改。而管理员管理是管理员对学校一些信息的查询和修改。可从下面的系统结构图中看到。 (图一:总体模块) 学生选课管理系统 管理员管 理 学生管理 教 师 管 理

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

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

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

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

学生选课系统设计报告

学生选课系统设计 报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:应用物理 姓名:杨维峰 学号: 指导教师:李聪 成绩:

学生选课系统 摘要 学生选课系统是教育单位不可缺少的重要系统组成部分,她对于学校的决策者、管理者管理、查看课程来说都有至关重要,因此学生选课系统应该能够为广大学、师生提供充分的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统选课方便、快捷,用简单的界面来展示学生的选课信息,能够提高对学生信息管理的效率。 关键词:方便,快捷,选课信息,选择,管理

目录 1题目要求 (4) 2需求分析 (4) 2.1功能简介 (4) 3总体设计 (4) 4详细设计 (5) 4.1 系统主要函数说明 (5) 4.1.1 主函数 (6) 4.1.2 input函数 (7) 4.1.3del函数 (8) 4.1.4find函数 (9) 4.1.5display函数 (9) 5 系统测试 (10) 6总结 (13) 参考文献 (14) 致谢 (15) 附录: (16) 源程序 (16)

文档仅供参考,不当之处,请联系改正。 1题目要求 设计一个关于学生选课方便简捷的程序,从而达到学生能够快速的选到课程。 2需求分析 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 2.1功能简介 此系统是一个学生选课管理系统。它包含功能有:学生选课信息的录入,学生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。 菜单模式:此模块主要实现对本系统所有功能的显示。 录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学号、学生姓名、所选课程、课程学分、授课老师。 删除模式:此模块主要实现对学生选课信息的删除。显示模块:此模块主要实现对学生选课信息的显示。 查找模块:此模块主要是经过学生学号查找该学生的选课信息。清屏模块:此模块主要是对主界面输入的信息进行清屏。退出程序:此模块主要用于退出系统。

学生选课系统课程设计

滨江学院 软件工程课程设计报告( 2007 -- 2008 年度第二学期) 课程名称:软件工程课程设计 题目:学生选课系统 院系:软件工程 班级: 学号: 姓名: 指导教师: 设计周数:两周 日期:2008 年7月4日

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.wendangku.net/doc/122611539.html, 一、课程设计的目的与要求 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编 码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、设计正文 1.概述 1.1课题题目:学生选课系统 1.2系统的主要目标: 本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。 1.3 系统的开发环境及运行环境: 操作系统:Windows XP Pro SP2 建模工具:Rational Rose 2003 数据库系统:SQL Server2000 开发工具:Visual Studio 2005 Web服务器:IIS+https://www.wendangku.net/doc/122611539.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

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语言版

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

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

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

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