当前位置:文档之家› C语言课程设计报告选课管理系统

C语言课程设计报告选课管理系统

C语言课程设计报告选课管理系统
C语言课程设计报告选课管理系统

课程设计题目:学生选课管理系统

语言程序设计课程设计任务书

实验目的:

本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。

实验要求:

1. 每人一题,独立完成;设计要求有界面菜单。

2. 此次课程设计在规定的时间必须在实验室完成,不得以任何理由在其他地点进行;

3.每个人需按照选题规则确定好自己的题目(注意不是多人完成一题,每人独立完成一题),不得以任何理由选择其他的题目,当然在完成自己的题目之后根据个人兴趣可以继续选做其他的题目;

4.每人必须撰写课程设计报告(格式附后)。并上交程序代码电子稿(每位同学先建立一个文件夹,取名规则为“学号+姓名”,文件夹里存放上交电子内容,每班取一文件夹名,取名规则为班级号,内放该班同学上交内容,每班学习委员统一收齐后拷贝给指导老师)。

5.课程设计的成绩由两部分组成:考勤(30%)+程序检查成绩(40%)+报告检查成绩(30%)

实现思路:

该程序的主要功能包括:

?学生选课信息的添加(学生选课信息包括学生学号、课程名称、学分)?学生选课信息的删除

?学生选课信息查询(查询每个学生的选课信息,每个学生选课的总学分,选具体某门课程(课程名输入)的学生名单))

个人信息用结构体定义,解决的方案可以用结构体数组,或是链表作为临时数据处理,用文件来存储数据。注意数据定义的数据类型,用函数实现相应的功能,然后在主程序中调用,程序运行的时候用菜单选择功能,比如:添加个人信息―――按数字键1

修改个人信息―――按数字键2

……….

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

实验正文:

#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 dele()//删除模块

{

int i,j,num;

char a[8],b;

system("cls");

printf("请输入删除的姓名:");

getchar();

gets(a);

for(i=0;i

{

if(strcmp(stu[i].name,a)==0)break;

}

for(j=i;j

{

stu[i]=stu[i+1];

num--;

}

printf("是否继续删除(y/n)?\n");

b=getchar();

if(b=='y')

dele();

else

{ menu();}

}

//按课程号查询模块

//按课程号查询函数

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>退出程序

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;

}

}

实验总结:

1、实验中应多注意指针、数组、动态链表以及结构体类型的搭配和使用。

2、实验中各模块看似简单,但应注意其之间的搭配灵活的使用。

用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,主要用于对学生的学

C语言课程设计报告-游戏2048

东华理工大学C语言课程设计报告 学院:国际教育学院学院专业:电子信息工程 班级:1420606 学号:201420060638 姓名:钟天运

一、课程设计题目:游戏2048 二、课程设计要求: a)使用C语言编写2048这款游戏 b)能够正常运行,拥有游戏界面。 c)能正常进行游戏从开始到结束。 d)用户操作方便 三、设计思路: a)游戏介绍: i.2048是一款简单的数字类游戏,界面是一个 4*4的方形格子。每个格子里可以为空或者有 一个2^n的数值。 ii.用户可以输入4种指令,分别是:上下左右,游戏会根据用户的指定的方向,将格子中 的数值向对应方向进行移动,直至移动到最边 上的格子或者有其他数值占用,如果碰到等大 数值,将会进行合并。此外,成功移动后,会 在一个空格子随机生成一个2或者4 iii.游戏目标是合成2048这个数值或者更大的数值。 b)实现思路: i.可以使用二维数组来保存4*4格子中的数值 ii.指令,可以通过输入字符函数,读取用户

在键盘上的方向键,进行判断执行对应的代 码。 iii.游戏界面,可以使用简单的特殊制表符,来实现,并通过清屏函数来进行反复同位置打 印界面。 iv.需要判断游戏结束的函数,以及记录游戏分数和步骤的变量 v.当游戏结束时,能够询问用户是否重新开始。 vi.随机生成一个新数,可以调用随机函数,使用时间做种子。 c)实现难点: i.打印游戏界面,要实现灵活能根据棋盘数组里 面的数据灵活打印。 ii.执行操作时,数值的移动和合并。

四、流程图

五、C语言源代码 // 游戏2048.c #include "windows.h" #include "time.h" #include "stdio.h" #include "conio.h" #include "string.h" //宏定义常量方向键值 //const int LEFT = 75, UP = 72, RIGHT = 77, DOWN = 80; #define LEFT 75 #define UP 72 #define RIGHT 77 #define DOWN 80 const char error_str[] = "您上次输入的指令无法识别,请重新输入。"; struct board { int place[4][4]; long int stepn; long int num; //存储游戏分数 long int time; int dtk; //direction key 记录方向键,及操作方向 int over; int zeronum; }; //该函数为游戏运行函数,当只是玩游戏的时候。进入该函数,游戏控制函数。int main() { //place数组为棋盘,其中为零代表空,-1代表不能合并的牌,其他2的倍数值为本身含义,初始化为全0。 struct board board1, board_backup; int newgame(struct board *, int), show(struct board *), operate(struct board *); char str[100] = "首次运行游戏"; //用于记录系统返回给用户的信息,例如:上一步执行向左合并,按键有误等 newgame(&board1, 0); //调用函数为新局初始化,第二个

管理信息系统课程设计报告

管理信息系统课程 设计报告 设计题目:库存管理管理信息系统专业:工商管理 年级班级: 姓名: 指导教师: 小组成员: 指导教师评阅: 指导教师(签字)成绩: 二O一一年月日

摘要: 本系统是以计算机软件技术为基础,利用VisualFoxpro编程技术进行编程设计的软件系统。采用系统结构化开发方法,设计过程主要部分:企业背景调查、需求分析与可行性研究、企业业务流程图绘制、数据结构与数据库设计、数据字典编制、数据流程图绘制,系统总体结构设计。完成信息的显示代码设计输入/输出设计、模块功能与处理过程设计、系统维护、信息系统安全设计、系统实施、系统运行管理制度、网络系统方案设计。包括输入、输出、查找、配送等功能。此系统具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长的优点是一个成本低的现代管理信息系统。最后通仿真验证企业物资管理信息系统对输入信号进行完整解调。 关键词:结构化开发方法;物资管理 Abstract: This paper, based on Computer software technology,and used VisualFoxpro programming technology survey ,Design a software system,which by Structured Approach and design process. Consists of several parts---the company background requirement analysis, and Feasibility study, Enterprise Business flowcharting, and system architecture Design. Complete information is displayed code design,Input / Output Design Module function and Process design,System Maintenance,Design of Information Systems Security,System implementation,System operation management system,Network System Design。 Features: Input、The output、find、distribution. Advantages: quick search, Search for convenient, And high reliability, Large storage capacity, Security and good, Long service life,low cost Management Information System. Finally, the simulation results from verify that Letter Material Management Information systems can make a complete demodulation of the input signals. Key Words:Structured Approach;Materials Management

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;

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语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

教务管理系统课程设计报告

教务管理系统课程设计 报告 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

教务综合管理系统设计报告 专业:软件工程 成员:车振军陆建伟 徐蕾杨思倩 指导老师:徐明 日期:2016-6-15 一、引言 目的 为了保证项目小组能够按时完成小组任务及目标,便于项目小组成员更好地了解项目情况,使项目小组开展的各个过程合理有序,因此确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。 预期的读者是设计人员、开发人员、项目管理人员、测试人员和用户。 背景 高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础。面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。 教务管理系统是一个大型复杂的计算机网络信息系统,满足各类高校现在和将来对信息资源采集、存储、处理、组织、管理和利用的需求,实现信息资源的

高度集成与共享,实现信息资源的集中管理和统一调度。为各级决策管理部门提出准确、及时的相关信息和快捷、方便、科学的决策分析处理系统;为信息交流、教务管理提供一个高效快捷的电子化手段;最终达到进一步提高各级领导科学决策水平,提高各院系、各部门管理人员管理水平与办公效率,减轻工作负担的目的。 教务管理系统面向管理员、教师和全校学生,实现学生管理、教师管理、课程管理、成绩处理。 定义 MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 MyEclipse MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。二、需求分析

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

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

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; } }

c语言课程设计报告

C语言程序设计B 课程设计报告 设计题目:学生成绩管理系统年级班级: 学号: 姓名: 指导教师: 2020 年 6 月 18 日

目录 一、设计目的 (3) 二、课程设计内容和要求 (4) 三、总体设计 (5) 四、主要步骤 (12) 五、功能实现 (13) 六、功能测试 (64) 七、评价程序 (83) 八、课程设计体会 (84)

一、设计目的 程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。 程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。 主要目的为以下几点: 1、熟练掌握面向过程(结构化)程序设计基本知识; 2、综合运用所学知识解决实际问题; 3、受到面向过程(结构化)程序设计的基本训练; 4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求 1.课程设计内容: 学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。 2.课程设计要求 1)具有菜单,可以在菜单上进行选择; 2)能实现学生数据录入、修改、删除、查询; 3)能实现数据排序; 4)有数据输出功能; 5)有数据读取与存储功能; 6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数 学、英语、总分、名次等信息; 7)以结构方式存储每条记录; 8)多条记录以链表方式存储到内存; 9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

超市管理系统课程设计报告

超市管理系统课程 设计报告 1 2020年4月19日

交通运输工程学院 Visual Foxpro 课程设计报告 设计名称:<超市进货供货管理系统> 系 (院): 交通运输工程学院 专业班级: 学号: 姓名: 指导老师: 设计时间: 6月

目录 课程设计任务书 (1) 一、前言 1、课程设计的目的和意义 2、系统功能设计 3、创立项目管理文件 二、 VFP课程设计说明书 1、系统概述 2、系统总体设计 3、数据库设计 4、系统的具体设计过程 5、调试运行退出 6、结束语 7、主程序代码 8、参考文献 3 2020年4月19日

一、前言 1、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生 产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们经过对货物信息 管理系统的设计,来提高货物的操作能力,及对理论知识的实践能力,从而提高货物的基本素质,使其能更好的满足社会需求。 超市进货供货管理系统是一个简单实用的系统,它是超市进行货物管理的好帮手。此软件功能齐全,设计合理,使用方便,适合小型超市对繁杂的商品信息信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。 我们进行本次课程设计的主要目的是经过上机实践操作,熟练掌握数据库的设计、表单的设计、表单与数据库的连接、SQL语 言的使用和了解它的功能:数据定义、数据操纵、数据控制,以及 简单VF程序的编写。基本实现货物信息的管理,包括系统的登 录、货物信息的录入、货物信息的浏览、货物信息的查询、货物 信息的修改和货物信息的删除,并对Visual FoxPro6.0的各种功 能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实 践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 4 2020年4月19日

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

个人信息管理系统-课程设计报告

《数据库系统概论》 课程设计报告 题目:个人信息管理系统 专业:网络工程 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年12月8日

目录 一课程设计的目的与意义 (2) 1.1课程设计的目的 (2) 1.2 课程设计的意义 (3) 二需求分析 (4) 2.1 用户需求 (4) 2.2 系统需要实现的功能和操作如下 (5) 2.3 功能需求分析: (5) 三数据库概念模型设计 (7) 四数据库逻辑模型设计 (12) 4.1 一般逻辑模型设计: (12) 4.2 具体逻辑模型设计: (13) 五数据库物理设计与数据库保护设计 (17) 5.1 设计表间关系 (17) 5.2 物理设计 (18) 5.3 保护设计 (19) 六数据库建立 (20) 七课程设计心得与体会 (25) 八参考资料 (26)

一课程设计的目的与意义 1.1课程设计的目的 数据库课程设计是数据库系统原理实践环节的极为重要的部分,其目的是: (1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER图,全局ER图; (2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设 计出易于查询和操作的合理的规范化关系模型; (3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以 保证数据库系统的数据完整性,安全性,一致性,保证数据 共享和防止数据冲突; (4)培养学生理论与实际相结合的能力,使之能够熟练掌握一种数据库系统(如SQL SERVER)的使用,培养学生开发创新 能力; (5)通过设计实际的数据库系统应用课题,使学生进一步熟悉数据库管理系统的操作技术,提高学生独立分析问题,解决问 题,查阅资料以及自学的能力,以适应计算机产业日新月异

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();

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

管理信息系统课程设计报告

兰州商学院陇桥学院 工学系课程设计报告 设计题目:户籍管理信息系统 系别:工学系 专业(方向):信息管理与信息系统 年级、班:2011级信息管理与信息系统班学生姓名:方延斌 学生学号:20110651107 指导教师:韩如冰 2014年6月20日

目录 一、前言 (3) (一)选题说明 (3) (二)课程设计进度安排 (3) (三)工作业绩 (3) 二、系统可行性分析 (3) (一)需求分析 (3) (二)开发的可行性 (4) 三、系统分析 (5) (一)业务流程图(如图1) (5) (二)数据流程图(如图2) (5) 四、系统设计(如图3) (6) (一)系统功能结构图 (6) (二)数据库设计 (7) 五、系统实现 (10) 六、系统测试 (11) 七、总结 (13) 八、附件(代码、部分图表) (14)

户籍管理信息系统 一、前言 (一)选题说明 为了能更加快速的完成户籍的管理,提高管理人员的工作效率,特开发此系统。此系统基本符合用户需求,能够完成资料修改、数据录入、用户管理等功能。以及各类相关的打印。并提供部分系统维护功能。同时也考虑了减少数据冗余问题,对于数据的一致性的问题也通过程序进行了有效的解决。 (二)课程设计进度安排 星期进度安排 第十六周可行性分析,系统需求分析(系统描述、业务流程图设计及分析) 第十七周系统需求分析(系统数据流程图、必要的数据字典设计) 第十八周系统设计(系统代码设计、数据库设计),系统设计(输出设计、输入设计及其他内容) (三)工作业绩 小组分工: 序号负责人任务 1方延斌查询相关资料,建立数据库,课程相应模块设计 2唐璠系统整体设计 二、系统可行性分析 (一)需求分析 户籍管理改革是一个关系千家万户的大事情。过去户口曾经是等级、地位的象征,一个户口迁移曾经难倒多少人。这些年,我国户籍

学生成绩管理系统(数据结构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");

管理信息系统课程设计报告

后勤集团管理信息系 一、系统规划 1.1规划目的 后勤管理信息处理的数字化是实现学校管理现代化和信息化的重要内容。建立及时、准确、可靠地信息采集和传输平台,对于提高后勤的服务质量、学校的可持续发展、科学分析决策都有十分重要意义。研发后勤管理信息系统,促进我校的后勤管理水平和效率的提高、促进管理人员素质的提高。 1.2系统建设目标 建成一个完整统一、技术先进、高效稳定、安全可靠的基于Inteme班ntranet 的后勤管理信息系统。利用安全可靠的现代化处理和控制技术,及时准确地采集、处理、传输后勤管理信息,实现后勤业务管理和事务处理的自动化、网络化。确保系统的安全性、稳定性、可靠性的同时,实现与学校前勤各种网络系统的协调一致,是实现学校现代化管理的科学性、完整性、统一性、高效性的重要组成部分。通过提供多层次的后勤信息服务和先进实用的使用手段,满足校内外对后勤信息共享和利用的要求,并为各级领导提供有效的辅助决策服务。 始终遵循学校总体工作思路,围绕“一个”中心:安全、稳定这个中心;做好“两个”服务:做好教育教学服务工作,做好师生生活服务工作;落实“三个”到位:认识到位、责任到位、措施到位。通过建设和加强后勤管理制度,建立良好的后勤管理秩序,挖掘后勤工作潜力,调动后勤工作的积极性,确保后勤服务工作更上一层楼。 1.3系统设计原则 本系统作为学校管理信息系统的一个资源子网进行建设, 以校园网为基础, 实现信息资源共享。 1.3.1统筹规划, 实现跨部们信息共享 本应用系统基于校园网, 实现高水平的信息资源共享和跨平台的信息资源访问, 不仅要面向全校不同部门的信息资源的共享, 还要解决各部门己有的或将建立的信息系统的资源共享, 而各部门信息系统和资源子系统的系统平台不一, 数据库又不尽相同, 要解决不同的资源子网的信息共享, 提高信息资源共享的利用率, 系统结构应具有跨平台访问不同数据源的机制。建立与其他系统的数据接口,信息系统可以为其他系统如人事系统、科研系统提供数据共享。 1.3.2 兼容性与扩展性 系统应具有较好的可扩展性和兼容性。系统的可扩展性应包括能接纳己有的

相关主题
文本预览
相关文档 最新文档