基于C语言的学生选课管理系统

基于C语言的学生选课管理系统
基于C语言的学生选课管理系统

PINGDINGSHAN UNIVERSITY 基础编程能力实训报告

题目: 学生选课管理系统

专业年级:物联网工程 2014级

姓名: DFDSFDFDfdfdfffd

学号: 14fdfkdkd

2015年07月03日

1 功能描述

此系统是一个学生选课管理系统。它包含是功能有:学生选课信息的录入,学生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。

菜单模式:此模块主要实现对本系统所有功能的显示。

录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学号、学生姓名、所选课程、课程学分、授课老师。

删除模式:此模块主要实现对学生选课信息的删除。

显示模块:此模块主要实现对学生选课信息的显示。

查找模块:此模块主要是通过学生学号查找该学生的选课信息。

清屏模块:此模块主要是对主界面输入的信息进行清屏。

退出程序:此模块主要用于退出系统。

2 总体设计

2.1 主函数功能

①主函数的作用主要是调用menu函数显示主界面,由于菜单比较简单所以采用printf函数直接将菜单项打印在屏幕上,实现人机对话的第一步。

②然后通过读取用户的输入,调用switch函数对用户的输入进行进一步的处理,并使用for函数实现用户的选择性的重复操作。

我们为用户提供了一个正常的出口,我们采用人机对话的形式,用户选择某一菜单以后,程序完成此项功能后,用户可以选择继续输入或退出,选择主菜单5选项即可退出程序。

2.2 删除模块

为了实现用户使用学生选课信息管理系统删除所选课程的功能,删除模块调用del函数以实现这一功能。

用户先输入要删除的学生个数,然后用户输入编号,通过fread循环遍历文件中输入的数据,查找与用户输入的学生编号相同的学生选课信息,如果找到该学生,则把m赋为1,然后通过for(j=i; j

2.3 查找信息

为了实现用户使用学生选课信息管理系统查找学生信息的功能,查找模块调用find函数以实现这一功能。

该程序里运用文件和指针,通过fread循环遍历文件中输入的数据,查找与用户输入的学生编号相同的学生选课信息,如果找到该学生,则显示该学生的选课信息。

3 数据结构设计

存储学生选课信息的结构体

typedef struct //定义结构体

{

int num; //学生的学号

char name[20]; //学生的姓名

char keming[20]; //选课的名称

float xuefen; //所选课程的学分

char teacher[20]; //所选课程的任课老师

} WOR;

WOR wor[SIZE],wor1[SIZE];

结构体用于存储学生选课信息的相关信息,各字段的含义如下:

num:学生学号

name[20]:学生姓名

keming[20]:选课课名

xuefen:选课学分

teacher :授课老师

4 程序实现

4.1 源码分析

主函数显示主菜单模块通过调用menu函数显示主菜单,调用main函数提示使用的用户该执行的操作,实现基本的人机对话;

然后通过读取用户的输入,调用switch函数对用户的输入进行进一步的处理,并使用while函数实现用户的选择性的重复输入;

显示学生选课管理信息模块通过调用display函数实现显示已创建的所有学生选课管理信息的功能;

查找学生选课管理信息模块通过调用find函数实现按学生学号查找学生的选课信息的功能;

int main()

{

int i,d;

menu();

while(1)

{

printf("\n输入选项:");

scanf("%d",&d);

switch(d)

{

case 1:

input();break;///输入信息

case 2:

{

int m;

printf("请输入要删除的人数:\n");

scanf("%d",&m);

for(i=0; i

del();

getch();

printf("按任意键继续:");

getch();

clear();///清屏

}

break;///删除信息

case 3:

display();break;///显示信息

case 4:

{

int m;

printf("请输入要查找的人数:\n");

scanf("%d",&m);

for(i=0; i

find();

getch();

printf("按任意键继续:");

getch();

clear();///清屏

}

break;///查找

case 5:

exit(0);

break;///退出

case 6:

clear();

break;///清屏

default:

printf("您输入的数据有误,请重新输入:");

///clear();

}

}

}

4.2 输入信息功能函数

此函数为输入学生选课情况的基本信息。通过运用文件和指针输入实现所有学生选课信息的存储,从而实现程序的第一步操作。

运用 if语句判断文件是否存在;若不存在,则建立一个名为”work”的文件,将所有信息保存文件中。

在文件中fopen()以ab+的方法打开二进制文件,使函数返回指向一个文件指针 work;以fread(&wor[m],LEN,1,fp) 从fp所指向的

文件中读取1个字节数为LEN大小的数据块存放到&wor[m]所指定的存储

空间;以fwrite(&wor[i] ,LEN,1, fp) 从fp所指向的存储空间中取

出1个字节数为LEN大小的数据块写入&wor[m]所指定的存储空间。

运用字符串ch[2]实现判断”是否”的字符Y/N的输入

void input()///输入信息

{

int i,m=0;

char ch[2];

FILE *fp;

if((fp=fopen("work","ab+"))==NULL)

{

printf("can't open the file!\n");

return;

}

while(!feof(fp))

{

if(fread(&wor[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

printf("没有找到要读取的节点\n");

if((fp=fopen("work","wb+"))==NULL)

{

printf("can't open the file!\n");

return;

}

for(i=0; i

fwrite(&wor[i] ,LEN,1,fp);//向指定的磁盘文件写入信息

printf("是否输入?(y/n):");

scanf("%s",ch);

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断是否要录入新信息

{

printf("学生学号:");

scanf("%d",&wor[m].num);//

for(i=0; i

if(wor[i].num == wor[m].num)

{

printf("该记录已经存在,按任意键继续!");

getch();

fclose(fp);

return;

}

printf("学生姓名:");

scanf("%s",wor[m].name); //输入学生名字

printf("已选课程:");

scanf("%s",wor[m].keming); //输入已选课程

printf("学分:");

scanf("%f",&wor[m].xuefen); //输入课程学分

printf("任课老师:");

scanf("%s",wor[m].teacher);

if(fwrite(&wor[m],LEN,1,fp)!=1) //将新录入的学生信息写入指定的磁盘文件

{

printf("无法保存!");

getch();

}

else

{

printf("%s 已经保存!\n",wor[m].name);

m++;

}

clear();///清屏

printf("是否继续?(y/n):");

scanf("%s",ch);

}

fclose(fp);

if(strcmp(ch,"N")==0||strcmp(ch,"n")==0)

{

printf("按任意键继续!\n");

getch();

clear();

}

}

4.3 删除信息功能函数

此函数为学生选课信息的删除过程。删除学生选课管理信息模块通过调用del函数实现通过查找学生学号找到想要删除的课程,从而删除用户想要删除的课程的功能;

运用文件的知识实现文件的打开。运用for循环来确定删除的个数,然后通过if语句依次根据学生学号对学生选课信息进行删除。

再次运用for循环使删除学生信息后将记录的总个数减1,将后一个记录移到前一个记录的位置。

最后使用clear()功能,再次运用fopen()打开文件,用fwrite()将更改后的记录重新写入指定的磁盘文件中,并保存。

void del()///删除信息

{

FILE *fp;

int snum,i,j,m=0;

char ch[2];

if((fp=fopen("work","ab+"))==NULL)

{

printf("can't open the file!\n");

return;

}

while(!feof(fp))

{

if(fread(&wor[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

{

printf("没有记录\n");

return;

}

printf("请输入学号:");

scanf("%d",&snum);

for(i=0; i

{

if(snum==wor[i].num)

break;

}

if(i==m)

{

printf("没有找到要删除的节点\n");

getch();

return;

}

printf("找到记录,是否删除(y/n)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断是否要进行删除 {

for(j=i; j

wor[j] = wor[j+1];//将后一个记录移到前一个记录的位置 m--;//记录的总个数减1

printf("成功删除!\n");

clear();//清屏

}

if((fp=fopen("work","wb+"))==NULL)

{

printf("不能打开!\n");

return;

}

for(j=0; j

{

printf("不能保存!\n");

getch();

}

fclose(fp);

}

4.2 功能模块的调试及测试

1. 主界面

该部分只有主菜单。若选择1,则进入学生选课信息输入界面;若选择2,则进入学生选课信息删除界面;若选择3,则进入学生选课信息显示界面;若进入4,则进入学生选课信息查找界面;若选择5,则直接退出系统;若选择6,则选择直接清屏.(运行程序见图1)

图1 主界面

2.输入界面

根据提示,当选择1时,系统会先提示是否输入信息,当输入“Y”或“y”,则进出正式的学生信息输入阶段,会依次提示输入学生学号、学生姓名、已选课程、学分、任课老师,并且这些内容会保存到文件名为“work”的文件中。然后系统会进入清屏环节,在下一页系统提示是否继续输入,输入“n”,则结束输入。(运行界面见图2)

图2 信息输入界面

3. 显示界面

根据系统提示输入3,则会显示已保存的学生选课信息。(运行界面见图3)

图3 显示界面

4.删除界面

根据系统提示输入2,然后系统会提示输入所要删除的人数,输入人数后,系统会根据你输入的人数来进行循环删除,单次删除过程为:先提示请输入需要删除的学号,找到记录后,提示是否删除,输入“Y”或”y”,显示成功删除。(运行界面见图4)

为了使系统更加完整的体现该功能,再次输入3显示已保存的信息,前后对

比,可清晰的体现删除功能(运行界面见图3、5)

图4 删除界面

图5 再次显示界面

5 实训总结

经过连续几周的时间,终于学生选课管理系统程序设计完成了。虽然在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了

解,但是也仅仅只是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,以前从来没接触过这些,所以学起来会觉得有些费劲。由于之前学习C语言可能没花多少时间,对里面有些知识一窍不通,所以要用C语言的知识来设计一个学生选课管理系统,对我来讲是有一定难度的。不过还好,我们班的同学都很好,他们孜孜不倦的教我,这使我相当的感动。

对于这次的课程设计我的完成过程主要是这样子的。首先我分析了相关的题目内容,并参考了书上的学生管理系统和网上的一些相关资料然后才开始正式进行设计。一开始不知从何下手但后来又分析了一下题目。知道了学生选课管理系统主要就是有一些操作来完成,这些操作包括:输入学生选课信息、删除学生选课信息、显示学生选课信息、查找学生选课信息等等。

同时通过这几天的程序及报告编写,我也发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还是比较脆弱。尤其是编写大型的程序所要拥有的知识和技能比较缺乏。程序编好了,还要经过调试和修改,这步也很关键,好的程序是经过了无数次的修改和调试才产生的。在同学的帮助下我的程序基本上能够满足要求,但还有一些地方需要改进,在今后我应该在多看书的同时还要加强实践的练习。才能进一步提高自己的编程能力。

附录:

#include

#include

#include

#include

#define SIZE 300

#define LEN sizeof(WOR)

typedef struct

{

int num;

char name[20];

char keming[20];

float xuefen;

char teacher[20];

} WOR;

WOR wor[SIZE],wor1[SIZE];

int flag;

void menu()///菜单

{

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

printf("\t\t 学生选课管理系统\n\n");

printf("\t\t1 输入信息 2 删除信息 \n\n");

printf("\t\t3 显示信息 4 查找信息 \n\n");

printf("\t\t5 退出 6 清屏\n\n");

}

void clear()

{

system("cls");

menu();

}

void input()///输入信息

{

int i,m=0;

char ch[2];

FILE *fp;

if((fp=fopen("work","ab+"))==NULL)

{

printf("can't open the file!\n");

return;

}

while(!feof(fp))

{

if(fread(&wor[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

printf("没有找到要读取的节点\n");

if((fp=fopen("work","wb+"))==NULL)

{

printf("can't open the file!\n");

return;

}

for(i=0; i

fwrite(&wor[i] ,LEN,1,fp);//向指定的磁盘文件写入信息

printf("是否输入?(y/n):");

scanf("%s",ch);

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断是否要录入新信息

{

printf("学生学号:");

scanf("%d",&wor[m].num);//

for(i=0; i

if(wor[i].num == wor[m].num)

{

printf("该记录已经存在,按任意键继续!");

getch();

fclose(fp);

return;

}

printf("学生姓名:");

scanf("%s",wor[m].name); //输入学生名字

printf("已选课程:");

scanf("%s",wor[m].keming); //输入已选课程

printf("学分:");

scanf("%f",&wor[m].xuefen); //输入课程学分

printf("任课老师:");

scanf("%s",wor[m].teacher);

if(fwrite(&wor[m],LEN,1,fp)!=1) //将新录入的学生信息写入指定的磁盘文件 {

printf("无法保存!");

getch();

}

else

{

printf("%s 已经保存!\n",wor[m].name);

m++;

}

clear();///清屏

printf("是否继续?(y/n):");

scanf("%s",ch);

}

fclose(fp);

if(strcmp(ch,"N")==0||strcmp(ch,"n")==0)

{

printf("按任意键继续!\n");

getch();

clear();

}

}

void del()///删除信息

{

FILE *fp;

int snum,i,j,m=0;

char ch[2];

if((fp=fopen("work","ab+"))==NULL)

{

printf("can't open the file!\n");

return;

}

while(!feof(fp))

{

if(fread(&wor[m],LEN,1,fp)==1)

m++;

}

fclose(fp);

if(m==0)

{

printf("没有记录\n");

return;

}

printf("请输入编号:");

scanf("%d",&snum);

for(i=0; i

{

if(snum==wor[i].num)

break;

}

if(i==m)

{

printf("没有找到要删除的节点\n");

getch();

return;

}

printf("找到记录,是否删除(y/n)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断是否要进行删除 {

for(j=i; j

wor[j] = wor[j+1];//将后一个记录移到前一个记录的位置

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语言实现一个简单的学生成绩管理系统

目录 1 引言 (1) 2 系统需求分析 (1) 2.1项目背景分析 (1) 2.2 系统开发的目标与意义 (1) 2.3 项目需求分析 (1) 3 系统总体设计 (1) 3.1 功能模块分析 (1) 3.2 系统功能模块初始化准备 (3) 3.2.1 编译预处理 (3) 3.2.2 数据结构定义 (3) 3.3 具体模块处理函数的实现 (4) 3.3.1 菜单函数界面的设计 (4) 3.3.2 功能函数设计 (4) 4 系统测试与分析 (9) 4.1 运行工具介绍 (9) 4.2 系统操作 (9) 结束语 (10) 参考文献 (10)

用C语言实现一个简单的学生成绩管理系统 摘要:伴随着现代社会的发展,网络技术的不断进步,越来越多的管理工作都从传统的现实社会中发展到了网络上。高校是使用计算机技术最早的单位,学校的各项管理工作也从现实生活走上了网络空间。本文对学校的需求进行分析,通过使用C语言设计并实现学生成绩的管理,力求尽量简洁实用地解决学校对学生成绩的管理和学生对成绩的查询问题。 关键字:C语言成绩管理系统程序设计 1 引言 在信息时代,计算机以其极高的运算速度、巨大的数据存储容量,以及能准确地进行各种算术运算和逻辑运算的能力而成为现代化计算工具,并被广泛应用于社会各个领域。计算机技术的高速发展已被认为是人类进入信息时代的标志。成绩管理系统是计算机技术和信息时代的产物,是信息处理或数据处理的核心。该系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化,以达到提高学生成绩管理效率的目的。通过运用程序设计软件实现学生成绩管理中的多种功能,如学生成绩信息的添加、删除、查询、修改、显示、排序等。该系统的设计充分利用计算机作为辅助工具,来实现学生考试成绩从传统的手工管理到计算机管理,并对提高管理效率和节约大量的人力、物力有一定的推动作用。因此,开发这种管理软件很必要,本文将在分析系统的应用价值以及开发工具的基础上,用C语言来开发成绩管理系统。 2 系统需求分析 2.1项目背景分析 在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有任何信息管理系统,特别是在西部贫困地区,学校的各类管理依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快,准,精才能发挥其价值。 2.2 系统开发的目标与意义 (1)系统开发目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥充分发挥其作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: ①系统应具有实用性、可靠性和适用性。 ②对系统中数据库的信息进行有效处理,防止数据错乱。 ②能够按照用户选择的不同的条件进行简单查询。 ③方便用户的操作,尽量减少用户的操作。 (2)系统开发的意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力财力。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。 2.3 项目需求分析 学校工作流程分析:学校工作总体规划由教务人员在学生成绩管理系统中输入学生的基本信息并对其进行维护管理,包括对信息的增加、修改及对信息的各项处理操作等。 新的学年,教务人员首先编排班级,再对在校学生进行基本的信息录入,新生入学后由教务人员在管理系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任,并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,并对本年级各科成绩及总成绩进行排名。教务处、班主任及任课老师跟据实际情况对录入的成绩进行维护管理,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。 3 系统总体设计 3.1 功能模块分析 学生成绩管理系统是对学生基本信息及成绩的管理。开发工具主要采用TurboC2.0,主要用于对学生的学

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

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

目录 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语言教务管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数 void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数 void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

学生管理系统 C语言

C/C++程序设计 课程设计报告 专业: 班级: 学号: 姓名: 版本号: 时间:

目录 1 概述 (2) 1.1目的 (2) 1.2计划 (2) 2 课程设计过程及结果 (3) 2.1编程环境及工具 (3) 2.2排序与简单分析 (3) 2.3综合设计 (3) 2.3.1 功能实现 (3) 2.3.2 程序异常处理 (5) 2.3.3 特色功能 (5) 3 课程设计总结 (6) 3.1课程设计计划执行情况 (6) 3.2我理解的C++ (6) 3.3改进设想 (6) 附录关键代码 (6)

原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。 声明人___________________ 学号:__________________

1概述 1.1 目的 1、熟悉c语言的编译环境 2、掌握c语言的基本操作 3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管 理软件的编写 4、锻炼同学思维强度与能力 5、培养同学认真态度和刻苦的精神 1.2 计划 用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。 1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。 2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。出现次数相同的按照字母顺序排列,(a最前,z最后)。 输入:任意一个字符串(小写,长度小于255) 输出:重新排序后的结果 例如,输入:aassdfkjiowea回车 则输出为:defijkowssaaa 3.综合设计:设计实现学生成绩管理软件。 参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。 学生信息文件(A.TXT)及其内容(示意): 学号姓名性别班级 200800800901 张三男电子0801 200800820902 李四女通信0801 200800800903 王五女电子0802 200800820904 赵六男通信0801 …… 课程信息(B.TXT)及其内容(示意): 课程编号课程名称学分 C01 大学英语 4 C02 高等数学 4 C03 C++程序设计 3 …… 学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数): 学号课程成绩 200800800901 C01 89 200800800902 C01 68.5 200800800901 C02 45.5 200800800903 C02 78 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

学生选课管理系统

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

c语言教务管理系统

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

//目录界面结构体 struct student { char num[10]; char name[10]; float chinese; float english; float math; float sum; int a; }stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}}; //登陆界面 void main() { load(); } void load() { background1(); choice1(); } void background1() { puts(" "); puts(" "); printf(" ********************************************\n"); printf(" 欢迎登录学生管理系统"); puts(" "); printf(" ********************************************\n"); printf(" 1.登录 2.注册\n "); printf(" 请选择:"); } void choice1() { int a; scanf("%d",&a); fflush(stdin); switch(a) { case 1:denglu();break; case 2:zhuce();break; default:fanhui1();break; } }

选课管理系统要点

数学与计算机学院 课程设计说明书 课 程 名 称: 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课程设计学生成绩管理系统

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

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

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

最新学生信息管理系统C语言编程

学生信息管理系统C语言编程 【问题描述】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …………………… 共修:xx科,实得总学分为: xxx (3)删除功能: 提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 【程序设计的具体说明】 (1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。

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语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。 编辑、设置、编译、调试、执行。 C语言结合实际问题的综合设计。 设计题目功能 通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求 名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括: 1有主界面和主菜单

2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示 [A]信息录入 [D]信息删除 [F]信息查询 [Q]退出 4、程序流程图 总体设计 详细设计 【程序】主函数 void main() /*主函数即用户的操作界面*/ { system("color 1E"); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/ printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/ printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按宿舍号查看学生的信息\n\n"); /*按宿舍号查看学生的信息*/ printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/ printf("\t\t\t7.保存学生信息\n\n"); /*保存*/ printf("\t\t\t8.打开文件\n\n"); /*打开文件*/ printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/ printf("\t\t\t0.退出\n\n"); /*退出*/ printf("\t\t\t请输入你的选择:"); scanf("%d",&b); switch(b) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/ } } 5、程序设计源代码 #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/ int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

学生在线选课系统

课程设计报告 院(系):计算机科学与工程 专业:信息对抗 班级: 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语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

学生选课系统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()

相关文档
最新文档