文档库 最新最全的文档下载
当前位置:文档库 › C语言课程设计 学生选修课系统

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

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

中国地质大学本科生课程论文封面

课程名称C语言课程设计

教师姓名邵老师

本科生姓名丁梦营

本科生学号20091001223

本科生专业应用化学

所在院系材化学院

类别: C.本科生

日期: 2011 年7 月7 日

课程设计评语

对课程论文的评语:

平时成绩:课程论文成绩:

总成绩:评阅人签名:

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

课程设计评语 (2)

目录 (3)

1.课程论文题目 (3)

2.程序设计思路 (4)

3.功能模块图 (5)

4.数据结构设计.............................................................................................. 错误!未定义书签。5.算法设计...................................................................................................... 错误!未定义书签。6.程序代码...................................................................................................... 错误!未定义书签。7.程序运行结果.............................................................................................. 错误!未定义书签。8.编程中遇到的困难及解决方法.................................................................. 错误!未定义书签。9.总结心得及良好建议.................................................................................. 错误!未定义书签。10.致谢.. (21)

1.课程论文题目

名称:学生选修课系统设计

【要求】

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课时间,实验或上级时间,学分,开课学期等信息,学生可按要求(如总学分不超过60)自由选课。是设计一选修课课程系统,使只能提供以下功能:

(1)系统一菜单方式工作

(2)课程信息和学生选课信息录入功能(课程信息用文件保存

输入

(3)课程信息浏览功能——输出

(4)查询功能(至少一种查询方式)——算法

(5)按学分查询

(6)某门课程学生选修情况(可选项)

【提示】

数据结构可用结构体,包括授课和选课两个结构体,其中课程结构体成员包括编号,课程名称,课程性质,总学时,授课学时,实验或上机时间,学分,开课学期。学秀结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。

2.程序设计思路

1、需求分析

系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。

2、总体设计

整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。

3、详细设计

数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。

Struct

{

Char courseCode[10]; //课程编号

Char courseName[20]; //课程名称

Char courseType[10]; //课程类别

Int totalPeriod; //总学时

Int classPeriod; //授课学时

Int experiPeriod; //上机学时

Float creditHour; //学分

Int term; //开课学期

}CourseInfo[N]; //课程信息结构体

Struct

{

Int stuNo; //学号;

Char courseCode[10]; //课程编号

}StuCourInfo[N]; //学生选课信息结构体

4.(1) 信息输入模块

从键盘输入课程信息和学生选课信息,写入文件。(fwrite, fprintf)

(2)信息浏览模块

分屏显示课程信息,每屏10条课程记录,按任意键继续。从文件中读数据(fread,fscanf ),然后再显示。 (3)信息查询模块

通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。

可以通过菜单选择课程编号,在学生选课信息文件中查询该课程学生选修情况。

3.功能模块图

4. 数据结构设计

由于C 语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

在编写本程序的过程中,首先借助老师给的指导材料,确定了目

显示课程信息模块

查询模块 主模模块

增加模块

删除模块

修改模块

选课模块

显示选课情况模块

标程序运行的次序与界面,即本程序首先运行【用户系统】菜单界面,其次程序运行【用户插入课程信息】及【用户浏览课程】菜单界面,最后程序运行【统计选课信息】及【选课】界面。如果用户选择【插入用户信息】选项则程序进入出入用户课程信息界面。需要一次输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,学分,开课学期等信息;如果用户选择【浏览课程】选项则程序进入【浏览课程】界面,将会显示所选课程的信息;如果用户选择【查询】选项则会显示按学分查询的选课信息;一次用户还可以查看某门课程的所选情况。其次,根据目标程序运行的次序与界面,确定设计顺利,设计界面(包括各部分菜单与用户提示信息)。再次是按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。

最后是程序的总体调试及功能完善,此部分从学生选课的角度出发,考虑了更加人性化、更加合理、更加高效准确、更加智能化的设计。

5.算法设计

开始

打开文件将学好和密码读入数组中

输入密码和学号

密码、学好?

换回1 换回0

上图是简单的将输入学号和密码的过程提示是一遍,但实际函数中我使用的三从循环。第一重循环是输入学号;第二重循环是判断该学会是否存在,若学号不存在便提示是再输,还是退出系统;在学号存在时进入第三重循环,输入密码(注:学号和密码是在运行此函数时从文件中读到数组里)并在数组中查找,若有和该密码相等的数组元素,就将进入系统,否则提示继续或退出.

在次函数中用户通过输入选项进入不同的函数模块。当每次运行一个模块后,又进行选择。

开始

打开文件并将课程信息读入数组

输入查询类型

Inset ()

查询模块 增加模块

删除模块

修改模块

选课模块

显示课程信息模块

显示选课情况模块

退出

结束

6.程序代码

#include

#include

#include

#define M 20

#define N 100

int x; //x为供选课程数

/*****主主菜单函数开始*****/

void menu()

{int n,w;

void enter_linformation();

void browse_linformation();

void enter_sinformation();

void search_num();

void search_score();

void l_choice_num();

do

{

puts("\t\t*******************MENU******************\n\n"); puts("\t\t\t\t 1.课程信息录入");

puts("\t\t\t\t 2.学生选课信息录入");

puts("\t\t\t\t 3.课程信息浏览");

puts("\t\t\t\t 4.按课程号查询");

puts("\t\t\t\t 5.按学分查询");

puts("\t\t\t\t 6.某门课程学生选修情况");

puts("\t\t\t\t 7.退出");

puts("\n\n\t\t*****************************************\n"); printf("Choice your number(1-7):[ ]\b\b");

scanf("%d",&n);

if(n<1||n>7)

{

w=1;

getchar();

}

else w=0;

}

while(w==1);

switch(n)

{

case 1:enter_linformation();break;//课程信息录入

case 2:enter_sinformation();break;//学生选课信息录入

case 3:browse_linformation();break;//课程信息浏览

case 4:search_num();break;//按课程号查询

case 5:search_score();break;//按学分查询

case 6:l_choice_num();//某门课程学生选修情况

case 7:exit(0);//退出

}

}

void main()

{

menu();

}

/*****主函数结束*****/

struct lesson

{

int num; //课程编号

char name[20]; //课程名称

char kind[10]; //课程性质

int stime; //总学时

int ttime; //授课学时

int etime; //实验或上机学时

int score; //学分

int term; //开课学期

int choice_num; //选修该课的学生人数

}les[M]; //les[M]中每个数组元素对应一条课程信息

struct student

{

int number; //学号

int num[20]; //课程编号

}stu[N]; //stu[n]中每个数组元素对应一条学生选课信息

void printf_face()//公共函数1:显示数据结构项目函数

{

printf("\n\tnumber name kind stime etime ttime score term\n");

}

void printf_one(int i) //公共函数2:显示一个课程信息记录

{printf("\n\t%d %s %s %d %d %d %d %d\n ",les[i].num,les[i].name,les[i].kind,les[i].stime,

les[i].ttime,les[i].etime,les[i].score,les[i].term);

}

//课程信息录入模块

void l_input(int i) //输入一个记录到函数

{

scanf("%d",&les[i].num);

scanf("%s",&les[i].name);

scanf("%s",&les[i].kind);

scanf("%d",&les[i].stime);

scanf("%d",&les[i].ttime);

scanf("%d",&les[i].etime);

scanf("%d",&les[i].score);

scanf("%d",&les[i].term);

}

l_save(int n) //保存课程信息到文件函数

{

FILE *fp;

int i;

if((fp=fopen("lesrecord.txt","wb"))==NULL)

{

printf("\n Cannot open file\n");

return NULL;

}

for(i=0;i

fprintf(fp,"%d %s %s %d %d %d %d %d\n ",les[i].num,les[i].name,les[i].kind,les[i].stime,

les[i].ttime,les[i].etime,les[i].score,les[i].term);

fclose(fp);

}

void enter_linformation() //课程信息录入函数

{

int i,m,k,w1;

printf("总共多少门课(0-%d)?",M-1);

scanf("%d",&m);

printf_face();

for(i=0;i

{

printf("\n 请输入第%d条课程信息\n",i+1);

l_input(i);//调用输入函数

}

if(i!=0)l_save(m);//调用保存函数

printf("请选择下一步操作:<1>返回继续录入课程信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(k)

{

case 1:enter_linformation();break;

case 2:menu();break;

case 3:break;

}

}

//课程信息浏览模块

void browse_linformation()//课程信息浏览函数

{ int k,w1;

int load_lesson();

void printf_n(int n);

x=load_lesson();//从文件读入课程信息

printf_n(x);//显示课程信息

printf("请选择下一步操作:<1>回到主菜单<2>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>2)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);///////////////

switch(k)

{

case 1:menu();break;

case 2:break;

}

}

int load_lesson() //加载课程信息记录并可以计算记录个数

{FILE*fp;

int i;

if((fp=fopen("lesrecord.txt","r"))==NULL)

{ printf("\ncannot open file\n");

return 0;

}

for(i=0;!feof(fp);i++)

fscanf(fp,"%d %s %s %d %d %d %d %d ",&les[i].num,&les[i].name,&les[i].kind,&les[i].stime,

&les[i].ttime,&les[i].etime,&les[i].score,&les[i].term);

fclose(fp);

return (i);

}

void printf_n(int x)//显示所有课程信息记录

{int j;

printf_face();

for(j=0;j

{if(j%10==0)

{printf("\n\npass any key to continue>...");

getchar();

puts("\n\n");

}

printf_one(j);

}getchar();

}

//选课信息录入模块

void enter_sinformation() //学生选课信息录入函数

{

void s_input(int i);

int i,n,k,w1;

x=load_lesson();

printf("\n 总共有多少学生(0-%d)?:",N-1);

scanf("%d",&n);

for(i=0;i

{ printf("\n 请输入第%d个学生学号:\n",i+1);

s_input(i);

}

printf("请选择下一步操作: <1>返回继续录入选课信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(k)

{

case 1:enter_sinformation();break;

case 2:menu();break;

case 3:break;

}

}

void s_input(int i) //输入一个记录到函数

{

int j,k,m,n,w1,total=0;

scanf("%d",&stu[i].number);

printf("\n你想选多少门课[ ]\b\b");

scanf("%d",&m);

printf("现在输入课程编号,依次用空格隔开!\n");

for(j=0;j

{

scanf("%d",&stu[i].num[j]);

for(k=0;k

if(les[k].num==stu[i].num[j])

{total+=les[k].score;

les[k].choice_num++;

}

}

if(total<60)

{

printf("警告:你所选课程总学分不到60!请选择下一步操作:<1>返回重新录入选课信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&n);

if(n<1||n>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(n)

{

case 1:{printf("请重新输入你的学号:");

s_input(i);};break;

case 2:menu();break;

case 3:break;

}

}

}

//按课程号查询模块

//按课程号查询函数

void search_num()

{

int i,k,flag=0,w1;

struct lesson s;

printf("\n\n输入你要查询的课程编号:");

scanf("%d",&s.num);

load_lesson();

printf_face();

for(i=0;i

if(s.num==les[i].num)

{flag=1;

printf_one(i);

}

if(flag==1)

printf("Found!");

else

printf("Not found!");

printf("请选择下一步操作: <1>返回继续查找课程信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(k)

{

case 1:search_num();break;

case 2:menu();break;

case 3:break;

}

}

//按学分查询模块

//按学分查询函数

void search_score()

{

int i,k,flag=0,w1;

int mark;

printf("\n\n输入你要查询的课程学分:");

scanf("%d",&mark);

load_lesson();

printf_face();

for(i=0;i

if(mark==les[i].score)

{flag=1;

printf_one(i);

}

if(flag==1)

printf("Found!");

else

printf("Not found!");

printf("请选择下一步操作:<1>返回继续查找课程信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(k)

{

case 1:search_score();break;

case 2:menu();break;

case 3:break;

}

}

//某门课程学生选修情况查询模块

void l_choice_num()

{

int i,k,flag=0,w1;

struct lesson s;

printf("\n\n输入你要查询的课程编号:");

scanf("%d",&s.num);

x=load_lesson();

for(i=0;i

if(s.num==les[i].num)

{flag=1;

printf("选修这门课的总人数为:%d\n",les[i].choice_num);

}

if(flag==1)

printf("Found!");

else

printf("Not found!");

printf("请选择下一步操作:<1>返回继续查找课程信息<2>回到主菜单<3>退出程序[ ]\b\b");

scanf("%d",&k);

if(k<1||k>3)

{

w1=1;

getchar();

}

else w1=0;

while(w1==1);

switch(k)

{

case 1:l_choice_num();break;

case 2:menu();break;

case 3:break;

}

}

7.程序代码程序运行结果主菜单函数

选课信息录入

课程信息录入

课程信息浏览

按学分查询

按课程号查询

某门课程学生选修情况

8.编程中遇到的困难及解决方法

1、不知道从什么地方看起。解决办法就是从第一章看起。

2、不知道如何编第一个程序,很简单解决方法是 (1)、用书上例子 (2)、独立完成最简单的一个完整流程,如从代码到完整的作品,如软件就是一个提示框,硬件完成一个闪灯。

3、不知道程序怎么编写,这个是刚学习的通病,其实很简单,按照你的想法编写,错了也比不编程好的多,慢慢改进就会很精简。我刚开始写一个代码用了1200多条的汇编,但现在让我改完后只有105条实现了相同功能。

4、不知道怎么更好更快的编写,其实编写程序有一些思想在里面多看看一些编程思路的书。 我可以提供一些 下面是总结的经验。

1、程序细化,利于组建其他程序。

2、程序模块化,利于整体调用。

3、分类程序段,使程序思路清晰。

4、合并相同和相似的代码,编写成一个函数,用到此功能调用此函数。

5、编写通用程序,载入不同的脚本实现不同的功能。

6、编写程序工具,不同功能的模块可以用程序工具来编辑,比用代码编辑方便。

7、用通用的现成功能库来提高工作效率。

8、持续优化重构和改进,提高代码质量。(lens23 提出的)

9、建立通用数学模型,使一类事物用一个统一模型表示。

10、预留一些接口,提高程序的可扩展性。(chm51666提出的)

11、添加一些注释、流程图、说明文档使思路清晰。

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

目录

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

C语言课程设计-学生成绩管理系统-完整版

#include<> #include<> #include<> #include<> /* strcmp函数原型包含*/ #define N 100 /*定义最大学生人数为100*/ struct student /*学生结构体定义*/ { char no[11]; /*学号,10位*/ char name[10];/*姓名,3个汉字*/ char grade[10];/*班级*/ char pro[20];/*专业*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num; void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/ void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/ void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/ void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/ void stop() /*停顿函数(公共函数)*/ { printf("Press Any Key To Continue...\n"); getchar(); } void output() /*输出学生成绩函数(公共函数)*/ { int i,j;

学生选课系统课程设计

课程设计报告 课程名称: 学生选课系统的设计与实现 专业: 12级计算机科学与技术 姓名: 班级: 学号: 年月日 学生选课系统的设计与实现一、需求分析

1.设计背景 随着高校教学改革的不断深入,越来越多的高校都陆续采用了学分制。高校大学生们可以根据自己兴趣和爱好来自由选择自己所喜爱的课程。基于高校校园网的网上选课系统不仅克服了以往人工报送选课方式所暴露出的缺点与不足。同时极大地提高了高校教务人员工作效率,极大地方便了高校师生。网上学生选课系统在C/S的架构下采用了目前最流行的Internet的主流技术C#技术作为运行平台。学生选课系统的推出,使得全校选课的维护、学生选课及查询、成绩录入、统计等工作均变得轻松高效,形成了教与学的积极互动,减轻了系统维护的成本与工作量,方便学生及老师的使用。 学生选课系统要求可以进行课程信息的录入,课程信息的浏览,可以按学分查询。作为学生选课系统,我设计了对学生和老师的信息管理,选课系统包含的信息涉及信息多,所以这方面我额外的增加了这方面的信息管理。 2.设计目标 ●系统能够提供友爱的用户界面,使操作人员的工作量最大限度地减少; ●系统具有良好的运行效率,能够达到提高效率的目的; ●系统应有良好的可扩充性,可以容易地加入其他系统的应用; ●通过这个项目可以锻炼自己,提高自己的开发能力和项目管理能力; 3..实现功能 本设计所开发的系统用户有三类:学生用户,教师用户,管理员用户。 当学校公布可以选课了,学生就应该急时登陆选课系统进行选课。对学生来说,进行登陆选课,系统中有哪些可选的课程由管理员添加。课程重要的信息之一就是该课程的老师。当加入老师时,应该跟老师的信息相关联。当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。学生和老师都不可能使用管理员的功能。 学生选课系统共设计4个模块,其功能介绍如下: ●登录模块:此模块实现用户的的注册和登录 ●学生模块: 1)查询信息:查询学生自己信息 2)录入选课信息 ●教师模块: 1)查询信息:查询教师自己信息 查询选课信息 ●管理员模块: 1)学生信息管理:用于管理学生信息,实现对学生信息的增加,删除,修改等功能。 2)课程信息管理:用于管理课程信息,实现对课程信息的增加,删除,修改等功能。 3)选课系统:用于学生选课,提供学号和课程号,进行选课功能。 4)教师信息管理:用于管理教师信息,实现对教师信息的查询,以及对学生信息的增加,删除,修改等功能。用户管理:用于对用户进行增加,删除,修改操作; 4.数据流图 (1)底层数据流图

学生选修课管理系统设计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语言课程设计学生选修课程系统设计

学生选修课系统设计 一、设计目的 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息系统的环境。计算机的最到好处的于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。 数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费。 基于这个问题,我认为有必要建立一个学生选课系统,使学生选课信息管理工作规范化、系统化、程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 二、题目说明 假定有n门课程,每门课程都有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供一下功能: (1)系统以菜单方式工作; (2)课程信息和学生信息的录入功能(课程信息有文件保 存)----输入; (3)课程信息浏览功能----输出; (4)查询功能(至少一种查询方式)---算法; (5)按学分查询; (6)某门课程学生选修情况(可选项)。 [提示] 数据结构可用结构体,包括课程和选秀两个结构体,其中课程结构体包括课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况.。 三、数据结构设计 本系统的实现,全部采用链表这种数据结构,用链表实现课程的查找、添加、删除、课程的选修、追加选修的课程,课程信息采用结构体这种数据结构。 typedef struct subjects {

学生选课系统课程设计

数据库课程设计报告 课题名称:学生选课系统 专业:计算机科学与技术 班级:计算机 姓名: 学号: 指导老师:

设计任务书 指导教师(签章): 年月日

摘要: 随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。本次课程设计选做学生选课系统就是建立在面向网络的基础之上,选用Visual Studio 2008 开发工具和SQL Server2005 数据库。所开发出的系统能够方面学生选课、教师查询和管理员管理。具有较强的实时性,在面向网络的基础上可以方便在外用户进行各种操作。 关键词:面向网络;数据库;方便

目录 1 需求分析 (1) 1.1 系统目标 (1) 1.2 系统功能需求 (1) 2 数据库概念设计 (1) 2.1 系统概念模型 (1) 3 将概念模型转换为关系模型 (2) 3.1 将E-R模型转换为关系模型 (2) 3.2 数据库结构设计 (3) 3.3 实现数据完整性 (4) 4 应用程序设计 (4) 4.1 学生选课系统处理流程图 (4) 4.2 总体结构和外部结构设计 (4) 5 编程实现 (5) 5.1 Login.aspx (5) 5.2 Student.aspx (5) 5.3 Teacher.aspx (6) 5.4 guanliyuan.aspx (6) 5.5 Acourse.aspx (7) 5.6 Ateacher.aspx (7) 5.7 Astudent.aspx (7) 5.8 Password.aspx (7) 总结 (9) 致谢 (10) 参考文献 (11)

C#课程设计学生选课系统论文.

摘要 (1) Abstract (2) 1 绪论 (3) 1.1课题背景 (3) 1.2系统设计目的与意义 (3) 2系统相关技术介绍 (4) 2.1 C#技术简介 (4) 2.2 SQL技术 (5) 2.2.1 数据库的基本概念 (5) 2.2.2 本系统中数据库的访问 (5) 3 系统分析 (6) 3.1 需求分析 (6) 3.1.1可行性分析 (6) 3.1.2 系统性能需求 (7) 3.2 系统流程图设计 (8) 3.3数据存储分析:实体联系图(E-R) (9) 4 系统总体设计 (11) 4.1 系统总体功能层次图 (11) 4.2 系统功能模块设计 (11) 4.3 数据库设计 (12) 4.4 部分源代码的设计 (13) 5 系统的具体实现及测试 (24) 5.1 登录界面 (24) 5.2 教师查询界面 (25) 5.3 学生选课界面 (25) 5.4 学生浏览、修改界面 (26) 总结 (27) 致谢 (28) 参考文献 (29)

摘要 随着在校大学生的不断增加,学生选课也成为学校对学生管理中不可缺少的一部分。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来不少的困难。随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点。 本文着重讨论了用https://www.wendangku.net/doc/e711197106.html,技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以很方便的在校园网上进行网上选课。该系统使用C#作为https://www.wendangku.net/doc/e711197106.html,的开发语言,SQLServer2005作为数据库,系统有较高的安全性和较好的性能。 关键词:学生选课、C#、https://www.wendangku.net/doc/e711197106.html,、SQLServer2005

学生选课管理系统

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

网上选课系统课程设计文档

《网上选课系统》课程设计 20111 / 2012 学年第 1 学期 姓名:____黄勇、王超、陈云_____ 专业:____计算机科学与技术_____ 班级:_______0905092___________ 指导教师:周蓓、周荣、许秀兰、王剑 计算机科学与工程学院 2011

一、系统简介 (3) 1.1系统基本功能简介 (3) 1.2系统需求分析 (3) 1.2.1业务流程分析 (4) 1.2.2数据流分析 (8) 1.2.3数据字典 (11) 二、系统设计 (13) 2.1数据库设计 (13) 2.1.1概念结构设计 (13) 2.1.2逻辑结构设计 (16) 2.2系统模块设计 (22) 三、系统实现 (25) 3.1实现概况 (25) 3.2 登录模块 (26) 3.2.1程序流程图 (26) 3.2.2关键代码 (26) 3.3 排课模块 (29) 3.4选课模块 (32) 3.4.1程序流程图 (32) 3.4.2选课的存储过程 (33) 3.5其他模块简介 (34) 3.6系统界面设计 (35) 3.6.2选课主界面 (35) 结论 (38)

一、系统简介 1.1系统基本功能简介 网上选课系统是根据大学的选课的网上申请与管理而进行开发设计的是实现选课的网上申请与安排,管理。 此系统功能主要根据角色的不同而设置了不同的权限,例如管理员具管理此系统的全部权限(设置选课时间的开放时间),增删改学生,老师,管理员,发布选课信息,排课等。 学生随时都可以进入系统查看选课信息,等选课开放时间开放后能进行自主选课,取消所选课程。 教师没有时间限制,随时可以登录观看自己的上课时间,地点。 1.2系统需求分析 通过对系统需求进行分析,系统中设有三类用户:管理员,教师,学生期末管理员开放成绩输入的时候输入学生成绩。各用户的具体描述如下:(1)管理员 描述:管理员维护整个系统,包括发布选课信息,设置选课时段,选课前学生只能登录查看选课通知,不能选课;选课结束,学生不能再进行选课更改,只能查看选课信息。管理让学生所选的课程。增删改学生、老师,管理员信息。选课结束后,管理员手动进行排课,排课时数据库中有各种验证来验证排课信息的冲突,排完课后,发布排课信息,让老师,学生进行查看,设置成绩输入的开放时间。 (2)教师 描述:只能查看选课通知,排课安排,根据上课时间,地点准备教学资料,期末管理员开放成绩输入的时候输入学生成绩。 (3)学生: 描述:选课前查看选课通知,不能进行选课;等待到选课时间段后,

C语言课程设计学生考勤系统

附件:《学生考勤系统》主要源程序代码 #include #include /*头文件。*/ int SIZE; /*宏定义。*/ int CLASS;

struct student /*定义一个结构体数组,包含学生信息。*/ { char name[9]; char sex[4]; int number; int count; int score; }stu[300]; void main() /*主函数,选择界面。*/ { void start(); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("######################################\n"); printf("# 学生考勤系统 #\n"); printf("# 欢迎您 #\n"); printf("######################################\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("######################################\n"); printf("\t请输入班级人数:\n"); printf("######################################\n"); scanf("%d",&SIZE); printf("\n"); printf("######################################\n"); printf("\t请输入课程节数:\n"); printf("######################################\n"); scanf("%d",&CLASS); printf("\n"); printf("\n"); printf("\n"); printf("\n"); start(); } void start() /*主函数的辅助函数——start函数。*/ { char x; void found(); void search();

选课系统-课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:软件一班 姓名:黄锋 学号:10240506 指导教师:王连相 成绩:

摘要 学生选课系统是C语言应运的一个简单实例,它能实现选课信息的输入、删除、查找、保存等功能。该系统由七个模块组成,各模块的完成分别由指针、数组、链表等实现,最后通过主函数将各个模块加以联结组成此简单的学生选课管理系统。该系统有查找方便、可靠性高、存储量大、保密性好等优点,是一个教育单位不可缺少的部分。 关键词:C语言;学生;信息;选课

目录 一、需求分析 (1) 二、总体设计 (2) 三、详细设计 (3) 1、数据定义 (3) 2、算法流程图 (4) 四、编码 (7) 五、测试 (9) 六、设计总结 (9) 致谢 (14) 参考文献 (15)

一、需求分析 经过简单的调研分析,可以基本确定学生选课系统主要用来实现对选课信息的输入、删除、保存、查找等功能。 1·录入课程信息 教务系统对课程进行安排。 2·课程管理 用户可以查看新增课程和已删除课程。 3·录入学生信息 学生可以输入自己的基本信息。 4·学生信息管理 系统可以对学生输入的信息进行管理,同时用户也可以进行自我信息更改。5·学生选课 学生可以查询已选课程和可选课程,然后进行选课。 6·系统信息查看及及存储 用户可以查看课程信息和学生信息以及及存储自己信息。 7·退出系统 用户完成在学生成绩管理系统的一系列操作后要离开,则就需退出系统。

网上选课系统报告参考模板

河南经贸职业学院·信息管理系 Java web课程设计 《网上选课系统》

目录 第一章引言 (1) 1.1项目来源及定义 (1) 1.2项目要达到的目标 (1) 1.3项目开发计划 (1) 第二章需求分析 (2) 2.1系统功能性描述 (2) 2.1.1系统用例图 (2) 2.1.2网上选了子系统结构图 (4) 2.1.3 网上选课子系统结构图 (4) 2.2系统非功能性描述 (4) 2.2.1软硬件环境要求 (5) 2.2.2系统安全性需求 (6) 第三章系统概要设计 (6) 3.1软件模块结构设计 (6) 3.2界面设计 (7) 3.2.1网上选课子系统界面设计 (7) 3.2.2网上选课子系统界面设计 (7) 3.3数据库设计 (8) 3.3.1实体描述 (8) 第四章系统详细设计 (11) 4.1数据库的逻辑设计 (11) 4.1.1 表汇总 (11) 4.1.2 [管理员表] (12) 4.1.3 [课程表] (12) 4.2系统功能设计 (14) 4.2.1网上选课子系统业务流程 (14) 4.2.2网上选课子系统业务流程 (15) 4.3系统人机界面设计 (17) 第五章总结 (25) 5.1问题及解决方法 (25) 5.2总结与体会 (25) 5.3感谢.......................................... 错误!未定义书签。第六章参考文献 (27)

第一章引言 1.1项目来源及定义 网上选课系统是为了方便学生选课,方便主管部门对选课的管理,并为学生和教师的双向选择提供了平台。网上选课系统主要包括待选课程管理、选课学生管理、学生选课功能、选课控制(时间和人数)、选课情况统计汇总等功能,从而满足学生选课及教师选课管理的各项操作要求。 1.2项目要达到的目标 本系统主要是为了方便广大学生选课和老师教课以及管理员对系统的管理而开发的,通过本系统可以让广大学生老师和管理员能够快速有效地完成选课和对课程的管理,从而方便了 1.3项目开发计划 项目开发进度分为系统分析、需求分析、概要分析、详细设计、系统实施、系统维护六个阶段,具体进度安排如图1-1所示: 项目2011.1.10- 2011.1.11 2011.1.11- 2011.1.12 2011.1.12- 2011.1.13 2011.1.13- 2011.1.14 2011.1.14 系统分析需求分析总体设计详细设计 系统实施系统维护

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

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

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

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

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

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

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

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

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

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语言课程设计小学生四则运算

#include"stdio.h" #include"stdlib.h" void main() { int a,b,c,d,e,f,g,t; printf("****************************欢迎使用!************************\n"); printf("\n"); printf("1.加法运算\n"); printf("2.减法运算\n"); printf("3.乘法运算\n"); printf("4.除法运算\n"); printf("*****************************请选择运算类型:"); scanf("%d",&a); while(a<1||a>4) { printf("输入错误,请重新输入"); scanf("%d",&a); } if(a==1) { printf("5,一位数加一位数\n"); printf("6,一位数加两位数\n"); printf("7,两位数加两位数\n"); printf("*********************************请输入题型:"); scanf("%d",&a); while(a<5||a>7) { printf("输入错误,请重新输入"); scanf("%d",&a); } if(a==5) { loop:b=rand()%10; c=rand()%10; d=b+c; printf("%d+%d=?\n",b,c); printf("请输入答案:"); scanf("%d",&e); while(e!=d) { printf("回答错误,请重做"); printf("%d+%d=?\n",b,c); printf("请输入答案:"); scanf("%d",&e);

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

学生选课管理系统 摘要 随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。 本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。 文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,对系统前台开发工具PowerBuilder9.0,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。 系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。 关键词管理系统;数据库;PowerBuilder9.0;SQL Server 2000

Select Course Management System of Students ABSTRECT With the development of society, not only the stud ent’s number but also the kinds of course increased rapidly, the traditional management mode has been unable to adapt to actual need, so we develop the select course management system of students. According to the actual need of select course, I analyzed t he demand, divided function nodule, analyzed database mode of the system. Then, I designed database of backstage and application program of stage. Firstly, I simply discussed the background of this subject and the basic theory of the database and SQL langu age in the article. Then I analyzed the development tool—PowerBuilder9.0,analyzed in detail to system and divided the concrete function module. Finally, I provided the design process of the system and the key code of each function nodule. The system accomplished some important functions of management system of books, such as: course’s input, output, information inquiry, select courses, create table of course, modify information of the administrators and students, etc. KEY WORDS Management System,Database, PowerBuilder9.0, SQL

学生档案管理系统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语言课程设计 学生成绩管理系统

青岛农业大学 课程设计报告 题目:学生成绩管理系统 姓名:田世强元成张斌 学院:工程系 专业:电子信息工程技术 班级:2班 学号:200806013 200806015 200806023 指导教师:曹红波 2010年9月16日 六详细设计(各功能模块的具体实现算法——流程图) (3)

一设计目的 进一步加深、巩固所学专业课程(《C语言程序设计》)的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能。 二课程设计的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三课程设计的要求与数据 1、用C语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记 录的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

学生选课系统课程设计

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

摘要: 本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。 关键词:学生选课数据库管理 https://www.wendangku.net/doc/e711197106.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/e711197106.html, 2.0平台 2.系统需求分析 学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩; (3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。 在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

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