文档库 最新最全的文档下载
当前位置:文档库 › c语言课程设计机房机位预定系统绝对正确,附源代码

c语言课程设计机房机位预定系统绝对正确,附源代码

c语言课程设计机房机位预定系统绝对正确,附源代码
c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的

机房机位预定系统

2 任务概述

20 台机器,编号 1 到20,从早八点到晚八点。两小时一个时间段,每次可预定一个

时间段。功能要求:

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

(2)查询,根据输入时间,输出机位信息。

(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间

段,另:若用户在非空时间上机,则将用户信息列入等待列表。

(4)退出预定,根据输入的时间,机器号撤销该事件的预定!

(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。

.........

3 模块划分

机房机位预约系统

查询机位预定机位退出预定查询等待信息

4 主要函数说明及其N-S 图

1. 主函数:

int main()

{

Menu(); /*当前状态函数*/

}

void Menu() /*主界面*/

{

int n,w;

do

{

puts("\t\t**************** 机房机位预约系统*******************\n");

puts("\t\t************************* 菜单***************************\n");

puts("\t\t\t 1. 查询某时间段机位状态"); /*查询某时间段机位状态*/

puts("\t\t\t 2. 预定空机位"); /*预定空机位*/

puts("\t\t\t 3. 取消预订"); /*取消预订*/

puts("\t\t\t 4. 查询等待信息"); /*查询等待信息*/

puts("\t\t\t 5. 退出"); /*退出*/

puts("\t\t********************************************************\n");

printf(" 选择菜单号(1-5):");

scanf("%d",&n);

if(n<1||n>5)

{w=1;getchar();}

else

w=0;

}while(w==1);

switch(n)

{

case 1:Situation();break;

case 2:Book();break;

case 3:Cancel();break;

case 4:SearchWaiting();break;

case 5:exit(0);break;

}

getch();

}

2.机位查询:

void Situation()

{

int time;

printf(" 输在(8-20) 范围内的时间:");

scanf("%d",&time);

if(time<8||time>20)

{printf("\t 时间输入错误!\n");

printf(" 输入在(8-20) 范围内的时间:");

scanf("%d",&time);

}

detail(time); /*函数调用*/

getchar();

Menu();}

3.机位预定:

void Book()

{int time,i=0,x,y;

FILE *fp;

char c;

printf(" 在(8-20) 时间范围内输入你想要预定的时间:");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\t 时间输入错误!\n");

printf("\t 在(8-20) 时间范围内输入你想要预定的时间:");

scanf("%d",&time);

}

detail(time); /*函数调用*/

if(sum[T]>0)

{ if((fp=fopen("waitlist.txt","a"))==NULL)

{

printf("\n 无法打开文件!\n");

exit(0);

}

printf("\n\t 请输入你想要预定的机号,并且留下你的电话号码!:\n");

scanf("%s %s",wait[i].number,wait[i].telephonenumber);

for(i=0;i<1;i++)

fwrite(&wait[i],sizeof(struct waitlist),1,fp);

fclose(fp);/* 向文本文档添加一个结构体单元*/

printf("\t 再次输入你想要预定的时间!\n");

scanf("%d",&x);

/*sum[T]--; / *预定后该时间段空机位数减1*/

/*computer[T][x]=1; / *预定后该机状态变为1*/

printf("\t 预订成功!\n");

getchar();

Menu();

}

else

{

printf(" 这是在这个时间段内未预定的电脑!\n");

for(i=T+1;i<6;i++)

{ time=9+2*i;

detail(time); /*函数调用*/

if(sum[T]>0)

printf("\tThe latest free time is %d,%d\n",2*i+8,2*i+10);break;

}

printf("\t 你想要预定吗?:y/n?");

scanf("%s",&c);

getchar();

if(c=='Y'||c=='y')

{

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

{

printf("\n 无法打开文件!\n");

exit(0);

}

else

{ printf("waitlist :number telephonenumber\n");

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

{

fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);

}

fclose(fp);

}

for(i=0;i<10;i++)

{ prione(i);}

printf("\n\t 请输入你想要预定的机号,并且留下你的电话号码!:\n");

if((fp=fopen("waitlist.txt","a"))==NULL)

{

printf("\n 无法打开文件!\n");

exit(0);

}

scanf("%s %s",wait[i].number,wait[i].telephonenumber);

for(i=0;i<1;i++)

fwrite(&wait[i],sizeof(struct waitlist),1,fp);

fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/

printf(" 再次输入电脑的序号!\n");

scanf("%d",&y);

sum[T]--;

computer[T][y]=1;

printf("\t 好了,请等待我们的电话!\n");

Menu();

}

else Menu();

}

}

N

4.取消预定:

void Cancel()

{

int time,number;

printf(" 在(8-20) 时间范围内输入你已经预定的时间:");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\t 输入时间错误!\n");

printf("\t 在(8-20) 时间范围内输入你已经预定的时间:");

scanf("%d",&time);

}

else

{printf("\t 输入你预定的机号:");

scanf("%d",&number);}

detail(time);

/* sum[T]++; / *预定后该时间段空机位数加1*/

/*computer[T][number]=0; / *预定后该机状态变为0*/

printf("\t 取消成功!\n");

getchar();

Menu();

}

5.查询等待信息:

void SearchWaiting()

{

int time,i;

FILE *fp;

printf("\tInput time you want to search between(8-20):");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\tWrong time!\n");

printf("\tInput time you want to search between(8-20):");

scanf("%d",&time);

}

else

;

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

{

printf("\nCannot open file!\n");

exit(0);

}

else

{ printf("waitlist :number telephonenumber\n");

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

{

fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);

}

fclose(fp);

}

for(i=0;i<10;i++)

{ prione(i);}

Menu();

}

5 程序运行数据及其结果

6.主菜单:

7.机位查询:

8.机位预定:

9.查询等待信息:

6 课程设计心得

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握一些基本的软件开发技术是十分重要和必要的。

回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理

论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂

得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与

实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力,这样才能真正为体会和认识它,才能写出一个完整的程序代码,才能使自己在过程中得到锻炼

和提高。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体的建立,指针的应用等都不太熟练。通过这次课程设计,也使我对以前

所学过的知识重新温故和加强。

程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法;

最后可得结论。

通过这次课程设计,我深刻地体会到:

<1>.细节决定成败:在学习的过程中,要注意每一个细节,要知道一个分隔符或一个括

号都会使整个程序出现错误。

<2>.要熟练掌握一些经典的结构和方法,如选择排序,递归,递推等,在遇到问题是可

直接应用,快速解决问题。

<3>.要熟悉一些标准数据库,对一些可直接利用的函数就直接利用,没必要重新定义。

<4>.在设计过程中最好使程序模块化,既便于阅读,也可增加其移植性。

<5>.熟能生巧。平时应该多加训练,要知道,即使我们能完全看懂一个程序,但要让你

自己写出一个时仍是很困难的。它要求你对每一个语句,每一个变量,每一个函数,每一个

模块都充分的熟悉,要知道它们的作用,作用域等等。因此只有平时做的多了,到时候才会

游刃有余。

一个多礼拜中,我有过山穷水尽的困惑;有过柳暗花明的惊喜;一个多礼拜的时间我经

历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我学会了如何运用所学

知识去解决实际问题.

附录:

#include

#include

#include

#define N 20

#define T (time-8)/2

int sum[6]={0};

int computer[6][20]={{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1},

{1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1},

{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},

{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1},

{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0},

{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}};/* 该数组表示假设某天某人查询时机房各个时间段机位数情况*/

void Menu();

void Situation();

void Book();

void Cancel();

void SearchWaiting();

void detail(int time);

void prione(int i);

struct waitlist /*等待列表*/

{

char number[3];

char telephonenumber[11];

} wait[N];

void printone(int i);

int main()

{

Menu(); /*当前状态函数*/

}

void Menu() /*主界面*/

{

int n,w;

do

{

puts("\t\t**************** 机房机位预约系统************************\n");

puts("\t\t************************* 菜单***************************\n");

puts("\t\t\t 1. 查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2. 预定空机位"); /*预定空机位*/

puts("\t\t\t 3. 取消预订"); /*取消预订*/

puts("\t\t\t 4. 查询等待信息"); /*查询等待信息*/

puts("\t\t\t 5. 退出"); /*退出*/

puts("\t\t********************************************************\n");

printf(" 选择菜单号(1-5):");

scanf("%d",&n);

if(n<1||n>5)

{w=1;getchar();}

else

w=0;

}while(w==1);

switch(n)

{

case 1:Situation();break;

case 2:Book();break;

case 3:Cancel();break;

case 4:SearchWaiting();break;

case 5:exit(0);break;

}

getch();

}

/*时间查询*/

void Situation()

{

int time;

printf(" 输在(8-20) 范围内的时间:");

scanf("%d",&time);

if(time<8||time>20)

{printf("\t 时间输入错误!\n");

printf(" 输入在(8-20) 范围内的时间:");

scanf("%d",&time);

}

detail(time); /*函数调用*/

getchar();

Menu();

}

/*预定函数*/

void Book()

{int time,i=0,x,y;

FILE *fp;

char c;

printf(" 在(8-20) 时间范围内输入你想要预定的时间:");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\t 时间输入错误!\n");

printf("\t 在(8-20) 时间范围内输入你想要预定的时间:");

scanf("%d",&time);

}

detail(time); /*函数调用*/

if(sum[T]>0)

{ if((fp=fopen("waitlist.txt","a"))==NULL)

{

printf("\n 无法打开文件!\n");

exit(0);

}

printf("\n\t 请输入你想要预定的机号,并且留下你的电话号码!:\n");

scanf("%s %s",wait[i].number,wait[i].telephonenumber);

for(i=0;i<1;i++)

fwrite(&wait[i],sizeof(struct waitlist),1,fp);

fclose(fp);/* 向文本文档添加一个结构体单元*/

printf("\t 再次输入你想要预定的时间!\n");

scanf("%d",&x);

/*sum[T]--; / *预定后该时间段空机位数减1*/

/*computer[T][x]=1; / *预定后该机状态变为1*/

printf("\t 预订成功!\n");

getchar();

Menu();

}

else

{

printf(" 这是在这个时间段内未预定的电脑!\n");

for(i=T+1;i<6;i++)

{ time=9+2*i;

detail(time); /*函数调用*/

if(sum[T]>0)

printf("\t 最近的空闲时间是%d,%d\n",2*i+8,2*i+10);break;

}

printf("\t 你想要预定吗?:y/n?");

scanf("%s",&c);

getchar();

if(c=='Y'||c=='y')

{

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

{

printf("\n 无法打开文件!\n");

exit(0);

}

else

{ printf("waitlist :number telephonenumber\n");

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

{

fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);

}

fclose(fp);

}

for(i=0;i<10;i++)

{ prione(i);}

printf("\n\t 请输入您想预定的机号并留下您的联系方式!:\n");

if((fp=fopen("waitlist.txt","a"))==NULL)

{

printf("\n 无法打开文件!\n");

exit(0);

}

scanf("%s %s",wait[i].number,wait[i].telephonenumber);

for(i=0;i<1;i++)

fwrite(&wait[i],sizeof(struct waitlist),1,fp);

fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/

printf(" 再次输入电脑的序号!\n");

scanf("%d",&y);

sum[T]--;

computer[T][y]=1;

printf("\t 好了,请等待我们的电话!\n");

Menu();

}

else Menu();

}

}

/*取消预订*/

void Cancel()

{

int time,number;

printf(" 在(8-20) 时间范围内输入你已经预定的时间:");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\t 输入时间错误!\n");

printf("\t 在(8-20) 时间范围内输入你已经预定的时间:");

scanf("%d",&time);

}

else

{printf("\t 输入你预定的机号:");

scanf("%d",&number);}

detail(time);

/* sum[T]++; / *预定后该时间段空机位数加1*/

/*computer[T][number]=0; / *预定后该机状态变为0*/

printf("\t 取消成功!\n");

getchar();

Menu();

}

/*查看等待信息*/

void SearchWaiting()

{

int time,i;

FILE *fp;

printf("\t 在(8-20) 之间输入您要搜索的时间:");

scanf("%d",&time);

if(time<8||time>20)

{

printf("\t 时间输入错误!\n");

printf("\t 在(8-20) 之间输入您要搜索的时间:");

scanf("%d",&time);

}

else

;

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

{

printf("\nCannot open file!\n");

exit(0);

}

else

{ printf("waitlist :number telephonenumber\n");

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

{

fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);

}

fclose(fp);

}

for(i=0;i<10;i++)

{ prione(i);}

Menu();

}

/*公共函数*/

void detail(int time) /*此函数功能是实现查找每个时间段空机位总数和空机位号*/

{

int i,j=0,k,s=0;

int v[30];

for(i=0;i<20;i++)

{

if(computer[T][i]==0)

{ s++;

v[j++]=i;

}

}

sum[T]=s;

printf("\t 目前空置的电脑:%d\n",sum[T]);

for(k=0;k

printf("\t 空置的电脑是:%d\n",v[k]);

}

void prione(int i) /*此函数功能是实现输出等待列表到屏幕*/

{

printf("\t\t%s %s \n",wait[i].number,wait[i].telephonenumber);}

机房机位预约模拟1.

C语言课程设计 院系:资源学院 姓名: 学号: 班号: 指导教师: 日期:

机房机位预约模拟 一.题目要求 20台机器,从早八点到晚八点,每两个小时一个时间段. 需要实现的功能: (1)查询,根据输入的时间,输出机位信息. (2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则 提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表. (3)退出预定,根据输入的时间,撤消该时间的饿预定. (4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息. 二.需求分析 根据题目要求,需要提供机位信息和预约信息,应该用链表来存储,应提供指针的操作:在程序中,需要查询是否有空机位和等待者和处理预约和取消预约问题,应提供查询,显示,预定,删除,修改等操作;另外还要提供键盘式选择菜单实现功能选择. 三.总体设计 现在分析整个一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下六大模块:查询我的预约状态,查询空位,预约,取消预约,排队,查询等待信息.

四.详细设计 1.宏定义 【分析】 由题可知,结构函数包含学生信息:机位,学号,还有下名学生信息;学生时间(LENGTH)段顺序:人数,第一名学生,排队的学生,最后一名学生。 需要建立能存储多种变量的结构体 #include #include 访问动态内存的头文件 #include 初始化头文件 #define LENGTH 6/*总时段数*/ #define MAX 2 #define S(r) (r-8)/2/*计算在哪个时段数*/ #define NULL 0 struct xinxi{ int jiwei; char xuehao[10];/*学号,假设为联系方式*/ struct xinxi *next; }; struct xinxi *head; struct cell{ int CNum;/*连接在该时段头结点的总机器数目*/ struct xinxi *first;/*指向整个队列的开头*/ struct xinxi *middle;/*指向等待预约队列*/ struct xinxi *last;/*指向整个队列的结尾*/ }TimeQueue[LENGTH]; 2.主函数 主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用.其中个功能模块用菜单方式选择。

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

学生选课系统课程设计

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

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

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

医院在线预约挂号系统设计

医院在线挂号预约系统 ——系统设计 1.功能结构图设计 本系统的设计目的是为了改善门诊高峰期挂号排队长、就诊长时间等待、环境拥挤混论的现状,特别是解决专家号难挂的问题,有效地减轻了门诊高峰的就诊压力,提高医院门诊的服务质量,保障医院良好的社会效益及经济效益。该系统不仅具有一般的门诊挂号功能,又可以通过分析病人的流量、各医生的就诊量,来合理地选择医生及预约的时间进行就诊等等功能,在方便患者的就诊的同时,又可以大大提高医院工作效率及资源的利用率。 系统简约结构图如图所示:

图1: 该系统网上在线挂号功能结构流程如下所示:

前台用户(患者)及后台用户(管理者)操作功能图分别如下所示:

3.数据库结构设计 在系统的设计的过程中,数据库分析和设计尤为关键。 在数据库设计中,主要的步骤如下: 第一步:分析阶段系统设计人员通过系统分析阶段的初步调查和详细调查掌握系统关于数据的需求。在数据库设计阶段确认用户有关数据、关系和数据库信息的要求。 第二步:概念结构设计。在分析的基础上,使用E-R 图工具描述出现实世界中实体和实体之间的关系。 1.根据需求确定关系模型 根据前面的需求分析,确定系统所涉及的实体和关系,然后应用E-R 图对信息进行组织和连接。 例如,患者挂号的实体包括:病人实体、医生实体、科室实体;关系包括:病人挂号、医生出诊,分配的科室等。 它们之间的关系如图所示。

2.确定数据库中的表 在完成系统的ER 图之后,需要将ER 模型转化为关系模型,也就是说,要设计出数据库所需要的表格。在这里,选用的是关系数据库。关系数据库使用表来存储信息,确定数据库中的表是数据库设计中比较难处理的一步。利用数据库的目的就是为了解决医院挂号信息的组织和管理问题。设计者从数据库所要解决的问题和收集的各种表格中,却不一定能够直接找出生成数据库表结构的线索。根据关系规范化的知识,将上面的E-R 图化解为几个规范的关系,每个关系可以在关系数据库中用表来存储。此外,为了能够更合理地确定数据库中应

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

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/3f6165295.html,技术和SQLServer2005开发选课系统的数据库的访问技术,并给出了一些可以实现的核心代码。通过该系统,使学生可以很方便的在校园网上进行网上选课。该系统使用C#作为https://www.wendangku.net/doc/3f6165295.html,的开发语言,SQLServer2005作为数据库,系统有较高的安全性和较好的性能。 关键词:学生选课、C#、https://www.wendangku.net/doc/3f6165295.html,、SQLServer2005

学生自备机房机位租赁协议通用版

协议编号:YTO-FS-PD123 学生自备机房机位租赁协议通用版 In Order T o Protect Their Own Legal Rights, The Cooperative Parties Negotiate And Reach An Agreement, And Sign Into Documents, So As To Solve Disputes And Achieve The Effect Of Common Interests. 标准/ 权威/ 规范/ 实用 Authoritative And Practical Standards

学生自备机房机位租赁协议通用版 使用提示:本协议文件可用于合作多方为了保障各自的合法权利,经共同商议并达成协议,签署成为文件资料,实现纠纷解决和达到共同利益效果。文件下载后可定制修改,请根据实际需要进行调整和使用。 甲方:_________ 乙方:_________ 一、乙方向甲方提供的条件: 1.一张全新电脑桌和一只方凳。 2.提供10m带宽的校园网接入,乙方有责任维护;并保证在学校网络正常的情况下,网络的通畅;如出现意外8小时内解决。 3.机房保证在假期内开放,并有网管维护。 4.机房每天有专人打扫,保持自备机房的清洁卫生。 二、甲方可获得的权利: 1.签定协议后,乙方不得无故要求中断履行。 2.乙方有责任保证甲方的电脑设备的安全(密码泄漏不在保证之内)。 3.如机房需要关闭休整,须提前一天通知,一般时间不得超过一天。 三、甲方向乙方作出的书面保证: 1.不在网上发布与散布各种有争议的言论,严格遵照

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

学生选课系统课程设计

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

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

摘要: 随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。本次课程设计选做学生选课系统就是建立在面向网络的基础之上,选用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语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

学生自备机房机位租赁协议(协议范本)

( 协议范本 ) 甲方: 乙方: 日期:年月日 精品合同 / Word文档 / 文字可改 学生自备机房机位租赁协议(协 议范本) What the parties to the agreement ultimately expect or achieve through the conclusion and performance of the agreement

学生自备机房机位租赁协议(协议范本) 甲方:_________乙方:_________ 一、乙方向甲方提供的条件: 1.一张全新电脑桌和一只方凳。 2.提供10m带宽的校园网接入,乙方有责任维护;并保证在学校网络正常的情况下,网络的通畅;如出现意外8小时内解决。 3.机房保证在假期内开放,并有网管维护。 4.机房每天有专人打扫,保持自备机房的清洁卫生。 二、甲方可获得的权利: 1.签定协议后,乙方不得无故要求中断履行。 2.乙方有责任保证甲方的电脑设备的安全(密码泄漏不在保证之内)。 3.如机房需要关闭休整,须提前一天通知,一般时间不得超过一天。 三、甲方向乙方作出的书面保证:

1.不在网上发布与散布各种有争议的言论,严格遵照国家关于网络的法规与条例;出现此种问题,乙方不承担任何责任。 2.对乙方分配的资料(ip地址,座位号)不得进行任何改动,不使用任何黑客工具、特别是代理搜索;如发现、乙方有权要求甲方立即无条件搬出。 3.有责任对机房的公共设备进行正常的维护,桌、凳等的非人为损坏有责任向管理人员说明情况;如不提出的、将视为甲方责任;损失金额直接从押金中扣除;赔偿金额如下:电脑桌_________元/张;凳子_________元/张;网线_________元/米;其它视情况决定。4.在使用过程中机位自用,不得占用其它空间,一台电脑只可以一位使用者在使用,如发现甲方违反,可视情节限令甲方搬出。 5.租期结算:按月结算。每月月底收费、具体时间看黑板通知;逾期按日交滞纳金:_________元/日(刚开始不在月初搬入的,按实际天数结算);如因处罚等原因的,按满一个月收取。 6.上机及离开时间请准确记录,否则按机房开门和关门时间计算;如发现故意隐瞒时间的,乙方有权要求甲方无条件搬出。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

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

河南经贸职业学院·信息管理系 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 系统分析需求分析总体设计详细设计 系统实施系统维护

5_Java课程设计源代码

package zhouchuan; import java.applet.*; import java.awt.*; import java.awt.event.*; import https://www.wendangku.net/doc/3f6165295.html,.*; public class zhouchuan extends Applet implements ActionListener { AudioClip clip; Button buttonPlay, buttonLoop, buttonStop; public void init(){ try{ URL url=new URL("file:"+"F://ding.wav"); clip=getAudioClip(url);}catch(Exception e){ } buttonPlay=new Button("开始播放"); buttonLoop=new Button("循环播放"); buttonStop=new Button("停止播放"); buttonPlay.addActionListener(this); buttonStop.addActionListener(this); buttonLoop.addActionListener(this); add(buttonPlay); add(buttonLoop); add(buttonStop); } public void stop(){ clip.stop(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==buttonPlay) clip.play(); else if(e.getSource()==buttonLoop) clip.loop();

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

《网上选课系统》课程设计 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语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

机房机位预定系统

软件工程 机 房 机 位 预 订 系 统 班级:09级软件工程2班 指导老师:刘福明 小组成员:周冬强200906084222(组长) 杨衍福200906084209

目录 一、系统分析: (1) 1.1问题分析: (1) 1.2可行性分析: (1) 1.2.1经济可行性分析 (1) 1.2.2技术可行性分析 (2) 1.2.3社会可行性分析 (2) 1.3需求分析: (2) 1.3.1数据流图 (2) 1.3.2数据字典 (3) 1.3.2实体-联系图 (6) 1.3.3功能需求说明 (7) 二、系统设计 (8) 2.1系统设计的任务与原则 (8) 2.2系统的总体设计 (8) 2.2.1系统功能结构的划分 (8) 2.2.2数据库设计 (9) 2.2.3软件结构 (11) 2.3系统详细设计 (13) 2.3.1人机界面设计 (14) 2.3.2程序流程图定义 (14) 2.3.3程序流程图 (14) 2.3.4.编码实现 (17) 2.4综合测试 (23) 2.4.1测试方法: (23) 2.4.2测试步骤: (23) 2.4.3测试重点: (24) 三、软件维护 (24)

机房机位预定系统 一、系统分析: 1.1问题分析: 随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会—信息社会的重要支柱。在这样的大背景下,资源建设等方面都发生了重大变化。计算机机房里面的计算机很多,使用情况不明确,在传统的工作模式下管理员管理起来非常麻烦,一个机房一个管理员显然工作量很大,那么一个机房需要几个管理员来管理,感觉就人力资源就浪费了,而却资源利用率非常低下,在如今高速发展的社会里,这种事情是非常严重的,现在我们要提高高效率的工作,就必须解决这个传统的工作模式。如果用传统的方案,一个用户要使用计算机,就要去机房问管理员,去询问具体的情况,如果用户急着用计算机,而机房的位置满了,那用户的需求得不到满足,用户的时间也浪费了,还要等待其他用户使用完了再去使用,这种资源分配很不科学。管理员用登记本登记使用情况,这样查询信息业很不方便,现在计算机技术发展的非常快速,已经能完成很多任务了,种种迹象表明,我们必须设计一个机房机位预订系统来满足用户和管理员的需求。这个系统的目标就是要实现机房机子的资源利用率,向用户提供一个合理的方案,用户可以在自己的空闲时间去使用计算机。管理员也能很好的查询计算机的使用情况。 1.2可行性分析: 可行性分析也称可行性研究,是决策部门在采取一项重大改革或投资行动之前,对该项目的必要性和可能性进行分析与论证的活动。可行性分析已被广泛应用于新产品开发、基建、工业企业、交通运输、商业设施等项目投资的多个领域。在展开一项开发行动之前,必须对用户提出的目标的必要性和可能性进行必要的论证。 1.2.1经济可行性分析 作为机房管理这样的教学性质场所,其经济成分比重相对还是较多,一般主要包括收入和支出的费用,其中支出包括设备购置费、管理和维护费、人员工资费等;收入就主要针对学生业余上机时机房的总收入等。由于各个机房实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置设备上。建立信息中心,可将

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