C语言学生学习成绩管理系统实验报告

C语言学生学习成绩管理系统实验报告
C语言学生学习成绩管理系统实验报告

学生学习成绩管理系统

1.课程设计的目的

1.对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 2.掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

3.熟练掌握C语言的基本语法,灵活运用各种数据类型。

4.进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

2.课程设计的要求

1.程序在运行时,均以菜单形式提供选择界面,并提供一定的数据安全和提示具有良好的交互功能。

2.设计中的每一个小功能均由子函数来完成

3.提前编制下次调试的程序,对于难点问题要积极查阅相关教材、资料,计划好每次上机的内,高效、独立地完成这次设计任务

4.在硬盘上建立自己的目录,将程序文件存储到该目录下,即有利于调试文件,又保证了文件的安全性。

3.课程设计报告内容

3.1任务定义

本系统主要应用数据结构的设计思想,在TC环境下运用C语言进行编程设计一个学生成绩管理系统,该系统主要实现对学生的学号、姓名等自然信息以及学生成绩信息进行创建、增加、删除、查询、插入、显示的功能以及计算所有学生总成绩的总分,并依照学生各类信息高低进行排名的功能。系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。

3.2系统运行环境

操作系统:Windows 98/2000/XP

运行软件:TC

3.3功能需求(问题分析)

学生成绩管理系统为教师和学生提供了一个对学生自然信息和学科成绩进行管理和查看的平台,给用户提供了一个简单友好的用户接口,功能需求分析描

述如下:

(1)编写菜单函数,为用户提供一个友好的操作选择界面。

(2)学生信息输入:用户根据提示输入学生的学号、姓名、各科成绩,可一次

性输入多条学生的成绩信息记录;当要停止输入并退回主菜单时,只须输入0符号回车即可。

(4)学生信息删除:提示用户输入要删除的学生学号或姓名,如果输入的学号

不存在,系统会立即提示不存在该学号的学生请先添加。

(6)学生信息添加(插入):使用户可以根据提示在原有的学生成绩表中的任何

位置添加新的学生信息记录。

(7)学生信息查询:根据系统提示输入要查找的学生名字或学号回车后,即可

显示已找到的学生信息记录。

(8)学生成绩计算:系统能够自动计算所有学生的总成绩。 (9)学生成绩排序:按照系统提示选择项目进行从高分到低分排序。

(10)学生信息清单显示:系统显示所有学生的信息情况,包括学生学号、姓名、各科成绩、个人总成绩。

(11)系统退出:实现用户退出本系统的功能。 3.4 程序设计步骤 1.大体结构图

2.主程序模块分析

整个系统功能共分八个功能:

1.addstudent 学生信息添加

2.editstudent学生信息修改

3.delstudent信息清单删除

4.showstudent学生信息排序

5.findstudent学生成绩查找

6.loadstudent载入文件信息

7.savestudent学生信息保存

0.exit系统退出

以上八个功能就是本系统模块的主要功能,根据需求分析,对其进行功能逻辑设计:

(1)定义数据结构typedef struct student{ ……}stu;。以下分别要用到的函数为:菜单函数void showmenu()的函数,定位链表中符合要求的接点stu* Locate(stu *s,char find[],int k)用于插入和查找功能,删除记录函数status delstudent(stu *s),显示所有记录的函数void show(stu *s,int k),显示学号对应的姓名 void showid(stu *s)),排序函数status list(stu *s,int k),添加记录函数status addstudent(stu *s),查询函数status findstudent(stu *s) 载入文件信息status loadstudent(stu *s), 保存学生status savestudent(stu *s),关闭

exit(0);

(2)学生信息输入:实现可以输入学生的学号、姓名、各科成绩的功能。首先定义指向结构体的指针,动态申请空间;用if(k == 0) break;实现当学号首字符为0则结束输入的功能;在for循环中嵌套while{}{},实现N门课程循环N 次和成绩正确输入,接着用到了数据结构的新结点插入的知识。

(3)学生信息删除:实现输入要删除的学生学号,执行后就可以删除该学生所有信息。该功能用到status delstudent(stu *s)删除记录的函数,先定义p为查找到要删除的结点指针,如果还没信息则显示添加,函数返回到Locate,否则通过while(r->next != p) r = r->next; r->next = p->next; free(p);确定要删除的项目。

(4)学生信息清单显示:系统显示所有学生的信息情况,包括学生编号、学号、姓名、各科成绩、个人总成绩。这里用到显示函数实现输出链表中结点信息的功能。

(5)学生信息查询:根据系统提示输入要查找的学生名字或学号回车后,即可以排列的形式显示已找到的学生信息记录,接着自动跳到主菜单。用到status

findstudent(stu *s)查找函数。

(6)学生成绩计算:利用 allscore=mscore+escore+cscore求得.

(7)学生信息添加:直接用用addstudent函数添加。

(8)学生成绩排序:选择并执行该功能后,系统提示使按学号,各科成绩或总

成绩排列,选择后系统自动按降序排列。

(9)系统退出:实现用户退出本系统的功能。其实这里只用到了一个exit(0);

3.5流程图

3.6详细设计

1.函数原型

void showmenu() 菜单函数

stu* Locate(stu *s,char find[],int k) /*结点添加(插入)*/

status delstudent(stu *s) /*删除记录*/

void show(stu *s,int k) /*显示所有记录的*/

void showid(stu *s) /*显示学号对应的姓名*/

status list(stu *s,int k) /*排序*/

status addstudent(stu *s) /*添加记录*/

status findstudent(stu *s) /*查询*/

status loadstudent(stu *s) /*载入文件信息*/

status savestudent(stu *s) /*保存学生*/

exit(0); /*关闭*/

2.计算公式

allscore=mscore+escore+cscore

3.定义数据结构

用一个类的嵌套定义struct student *next;用整型数据定义学号和成绩,用char定义姓名。

typedef struct student{

int num; // 学号

char name[20]; // 姓名

int mscore; // 数学成绩

int cscore; // c语言成绩

int escore; // 英语成绩

struct student *next;//嵌套定义结构体指针

}stu;

3.7.函数说明(算法分析)

(1)链表定义头指针stu *s,初始化链表s->next=NULL;,主函数调用set,set 值作为开关语句的条件,switch函数中用了八个case:

case 1:addstudent(s);break; // 增加学生

case 2:editstudent(s);break;// 修改学生

case 3:delstudent(s);break;// 删除学生

case 4:showstudent(s);break;//查看学生信息

case 5:findstudent(s);break;// 查询学生

case 6:loadstudent(s);break;//载入文件信息

case 7:savestudent(s);break;// 保存学生

default: getchar();break;//关闭系统

(2)菜单函数

定义菜单字符串数组,以字符形式保存选择号,定义整形变量作为开关的条件,要求输入选择项,利用开关定义当输入值超过7直接返回到主菜单重新选择输入,主程序根据该数调用相应的函数。实现了菜单美观和简便效果。

(3)链表

定义stu指向结构体的指针,并使用类嵌套定义类对象struct student *next,定义*s->next为头链表头依次往下输出信息知道指针指到的某个对象为

空时停止并返回主菜单选择。直接在输出数值时添加mscore+escore+cscore作为总成绩加到信息最后一列。

(4)show函数

为了能让用户输入字符串,依然是定义一个开关,此时的开关条件无最大值,添加信息时直接调用show函数即可实现学生信息的输入。

(5)printf函数

编写显示函数用来输出链表中结点信息, stu型指针r,接着r=*s初值为头指针,用printf方法输出存储学生信息,最while(r!=NULL){……}实现当表中有信息即不为空,就执行while中的内容,打印出学生的各个信息。

(6)delete函数

用来删除记录,先用if(!s->next) {printf("has no student!\nplease add at frist!")验证学生信息是否为空,如果为空则输出“please add first”。如果不为空,先选择按学号删除或按姓名删除,然后调用函数stu* Locate(stu *s,char find[],int k)查找要删除的记录。然后用freep()执行记录清空。

(7)insert函数

用来插入学生记录,定义二个指针为p和l,l为前驱,p为插入数据的位置。如果遇到相同学号的则显示输入有重复并显示原来学号的信息。如不然则用scnf和printf输入输出数据,并在运行结束后把指针置尾。

(8)sort函数

根据不同的要求实现成绩从大到小排列,程序中采用的使选择法进行排序,排序过程中调用swap函数实现数据的排列。这样就能按不同要求把数据排列了。

3.8程序调试与测试(结果分析)

1.函数主界面

2.选择第一项实现添加数据如下

3.选择2进行修改编辑

4.选择3进行删除成绩

5.选择4进行排序显示成绩

6.选择5进行查找成绩

7.选择6提供载入信息条数

8.选择7保存

9.选择0关闭

要保存选Y不想保存先N。

结果分析

程序运用了结构体,链表,转换和选择法排序实现了删除,添加,信息载入,查询等功能。

(1)单链表查找算法的最好的时间复杂度为o(1),最坏时间复杂度o(n),平均时间复杂度o(n);空间复杂度为o(1)。

(2)单链表插入算法时间复杂度o(n);空间复杂度为o(1)。

(3)系统基本上实现了小型学生管理系统的功能。

4.总结

C语言使上学期教的,现在开始做这个课程设计刚开始有点仿偟,不知道何从下手,最后搬出书本有看了一下,网上查点资料,仔细阅读老师给的任务指导书,开始着手做这个学生成绩管理系统,其原因使该算法简便,程序贴近学生生活,该程序的目的使实现学生成绩的粗略管理。设计过程经过了任务定义,逻辑设计、详细设计、程序编码、程序调试与测试、结果分析和撰写实验报告,最终系统地完成整个课程的设计。

该系统是小型管理系统,运行界面为DOS界面,始终存在不足,从这次设计

中我深刻的体会C设计的意义,我觉得编程除了麻烦也是一件有趣的事情。

参考文献

[1]谭浩强.C程序设计[M]北京:清华大学出版社, 2005.292页-310页.

[2] 苏仕华. 数据结构课程设计[M].上海:机械工业出版社,2004.

[3] 谭浩强.C程序设计题解与上机指导[M]北京:清华大学出版社,2005.

附录

#include

#include//提供malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、

srand()、exit()/

#include//字符串调用

typedef int status;

int change = 0; // 信息是否改变

typedef struct student{

int num; // 学号

char name[20]; // 姓名

int mscore; // 数学成绩

int cscore; // c语言成绩

int escore; // 英语成绩

struct student *next;//定义指针

}stu;//定义对象stu

void showmenu(){

printf("\n\t\t***list of student***");

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

printf("\n\t\t* 1:addstudent *");

printf("\n\t\t* 2:editstudent *");

printf("\n\t\t* 3:delstudent *");

printf("\n\t\t* 4:showstudent *");

printf("\n\t\t* 5:findstudent *");

printf("\n\t\t* 6:loadstudent *");

printf("\n\t\t* 7:savestudent *");

printf("\n\t\t* 0:exit *");

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

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

} //给出菜单选择

void show(stu *s,int k){ // 用指向StU对象的指针输出学生信息

switch(k){

case 0:printf("num name mscore cscore escore allscore\n");break;

case 1:

printf("num name mscore cscore escore allscore\n");

printf("%3d%-8s %6d %6d %6d %6d\n",s->num,s->name,s->mscore, s->cscore,s->escore,(s->mscore+s->cscore+s->escore));

break;

default:

printf("%3d%-8s %6d %6d %6d %6d\n",s->num,s->name,s->mscore, s->cscore,s->escore,(s->mscore+s->cscore+s->escore));

break;

}

}

void showid(stu *s){// 显示学生学号对应的姓名

while(s->next){

s = s->next;

printf("%3d:%-8s ",s->num,s->name);

}

}

stu* Locate(stu *s,char find[],int k){ // 该函数用于定位连表中符合要求的接点,

返回该指针

stu *r;

if(strcmp(find,"num") == 0){ // 按学号查询

r = s->next;

while(r != NULL){

if(r->num == k) return r;

r = r->next;

}}

else if(k == 0){ // 按姓名查询

r = s->next;

while(r != NULL){

if(strcmp(r->name,find) == 0) return r;

r = r->next;}

}

return 0;

}

status _swap(stu *s1,stu *s2){//把一个对象的学生数据赋给另一个学生s1->num = s2->num; //学号

strcpy(s1->name,s2->name); //姓名

s1->mscore = s2->mscore; // 数学成绩

s1->cscore = s2->cscore; //c语言成绩

s1->escore = s2->escore; //英语成绩

}

status swap(stu *s1,stu *s2){//实现两个学生信息的转换

stu *p;

if(!(p = (stu *)malloc(sizeof(stu)))) showerror(0);

_swap(p,s1);

_swap(s1,s2);

_swap(s2,p);

free(p);//释放p所占的空间

}

status list(stu *s,int k){//采用选择法排序

stu *p,*p1,*p2;

p1 = s->next;

while(p1){

p2 = p1->next;

while(p2){

if(k == 1)if(p2->num < p1->num)swap(p1,p2); //学号

if(k == 2)if(p2->mscore > p1->mscore)swap(p1,p2);

if(k == 3)if(p2->cscore > p1->cscore)swap(p1,p2); //c成绩

if(k == 4)if(p2->escore > p1->escore)swap(p1,p2); //英语成绩

if(k==5)if((p2->mscore+p2->cscore+p2->escore;> (p1->mscore+p1->cscore+p1->escore))swap(p1,p2); //总分

p2=p2->next;

}

p1=p1->next;

}

;}

status eshow(stu *s){

show(s,0);

while(s->next){

s = s->next;

show(s,2); }}

status addstudent(stu *s){

stu *p,*l;

int k;

while(1){

l = s;

printf("please input num[0:return]:");

scanf("%d",&k);

if(k == 0) break;

while(l){

if((l->num) == k){

printf("the '%d' student is Repeated!\n",k);

show(l,1);

return;

}

l = l->next;

}

if(!(p = (stu *)malloc(sizeof(stu)))) showerror(0);

printf("input %d student:name,mscore,cscore,escore like[lucy 80 80 80]:",k);

scanf("%s%d%d%d",&p->name,&p->mscore,&p->cscore,&p->escore);

p->num = k;

p->next = NULL;

if(s ==NULL) s = p;

else{

while(s->next != NULL) s = s->next;// 将指针置于最末尾

s->next = p;

}

p = NULL;

change=1;

}

}

status editstudent(stu *s){// 修改学生

int k=0;

while(k == 0){

printf("\nplease input edit num[0:show all]:");

scanf("%d",&k);

if(k == 0) showid(s);

}

while(s){

if((s->num) == k){

printf("\ninput [%d %s %d %d %d]

student:name,mscore,cscore,escore:",k,s->name,s->mscore,s->cscore,s->escore); scanf("%s%d%d%d",&s->name,&s->mscore,&s->cscore,&s->escore);

change=1;

printf("\nfinish!\n");

return;

}

s = s->next;

if(!s) printf("=====>the student '%d'is not find!\n",k); }

}

status delstudent(stu *s){// 删除学生

int set,k;

stu *p,*r;

char find[20];

if(!s->next) {

printf("has no student!\nplease add at frist!");

}

printf("\n=====>1del with num\n=====>2del with name\n");

scanf("%d",&set);

if(set == 1){

printf("please input the num :");

scanf("%d",&k);

p = Locate(s,"num",k);

}

else if(set == 2){

printf("input the name:");

scanf("%s",find);

p=Locate(s,find,0);

}

else {

printf("input error!");

//return;123456

}

if(p){

r = s;

while(r->next != p) r = r->next;

r->next = p->next;

free(p);

printf("\n=====>finish!\n");

change = 1;

}

else{

printf("no find!");

//return;123456

}

}

status showstudent(stu *s){// 查看学生信息

int k=0;

while(k<1||k>5){

printf("order by [ 1 num, 2 mscore, 3 cscore, 4 escore, 5 allscore]"); scanf("%d",&k);

list(s,k);

eshow(s);

//return;123456

}

}

status findstudent(stu *s){// 查询学生

int set,k;

stu *p,*r;

char find[20];

if(!s->next) {

printf("has no student!\nplease add at frist!");

return;

}

printf("\n=====>1del with num\n=====>2del with name\n"); scanf("%d",&set);

if(set == 1){

printf("please input the num :");

scanf("%d",&k);

p = Locate(s,"num",k);

}

else if(set == 2){

printf("input the name:");

scanf("%s",find);

p=Locate(s,find,0);

}

else {

printf("input error!");

//return;123456

}

if(p) show(p,1);

else{

printf("no find!");

//return;123456

}

}

status loadstudent(stu *s){// 载入文件信息

stu *r;

FILE *fp; // 文件指针

int count = 0;

char jian;

fp = fopen("student.stu","rb");

if(fp == NULL){

printf("\ndate file is not find,buding?(y/n)\n");

scanf("%c",&jian);

if(jian == 'y'||jian == 'Y') fp = fopen("student.stu","wb"); else showerror(1);

}

printf("\n=====>file is find,opening...\n");

while(!feof(fp)) {

r = (stu *)malloc(sizeof(stu));

if(fread(r,sizeof(stu),1,fp)){ // 将文件的内容放入接点中

r->next = NULL;

s->next = r;

s = r; // 将该接点挂入链中

count++;

}

}

fclose(fp); // 关闭文件

printf("\n=====>filish,%d report is found.\n",count);

}

status savestudent(stu *s){// 保存学生

FILE* fp;

stu *p;

int flag = 1,count = 0;

fp=fopen("student.stu","wb");

if(fp == NULL) showerror(1);

p = s->next;

while(p){

if(fwrite(p,sizeof(stu),1,fp) == 1){

p = p->next;

count++;

}

else{

flag = 0;

break;

}

}

if(flag){

printf("\n=====>finish.(%d report is saved.)\n",count);

change = 0;

}

fclose(fp);

}

status showerror(int k){

switch(k){

case 0:printf("\nMemory Failure!\nplease any key exit!");getch();exit(0);break;

case 1:printf("\nfile error!\nplease any key exit!");getch();exit(0);break;

default:getchar();break;

}

}

void main(){

stu *s;// 链表

int set;

char ch;

s=(stu *)malloc(sizeof(stu));

s->next=NULL;

loadstudent(s);

// while(1){

showmenu();

while(1){printf("\n");

printf("please input the menu:");

scanf("%d",&set);

if(set == 0){

if(change == 1){

getchar();

printf("\n=====>the dat is changed,save?(y/n)?\n"); scanf("%c",&ch);

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

savestudent(s);

}

break;

}

switch(set){

case 1:addstudent(s);break; // 增加学生

case 2:editstudent(s);break;// 修改学生

case 3:delstudent(s);break;// 删除学生

case 4:showstudent(s);break;//查看学生信息

case 5:findstudent(s);break;// 查询学生

case 6:loadstudent(s);break;//载入文件信息

case 7:savestudent(s);break;// 保存学生

default: getchar();break;//直接返回到主菜单的选择界面

}

}

}

管理信息系统实验报告97692

《管理信息系统》实验报告 实验项目:教务处排课系统分析 实验学时:18 学时 姓名: 学号: ________________ 专业班级: 实验时间: _______ 实验成绩: __________________________

东北财经大学 《管理信息系统》实验报告实验项目名称:

沟通能力,养成对问题全面分析、思考和严谨认真的态度,增强创新意识五、教师评语 签名: 日期: 管理系统实验报告

实验小组成员: 实验对象:教务处排课信息系统 实验对象背景介绍:教务管理系统是一个庞大而复杂的系统,它包括:学生学籍管理系统、排课 系统、教师管理系统、学生成绩系统、系统设置、班级信息系统、教学培养计划管理系统、教学资源管理系统、招生系统教务信息发布系统和事务处理系统。随着科学技术的进步与相应的管理信息系统的升级,教务系统管理平台充分利用互联网络B/S 管理信息模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。教务管理系统内部子系统多样庞杂, 今天我们主要讨论的研究对象是排课管理信息系统。 排课管理系统是每个学校必不可少的内容,它的优劣直接学校教学工作质量和学校的正常教学活动秩序。随着现在生源数量的不断增长以及各行业竞争日益激烈,为了满足中国社会主义事业发展对高素质人才的需求,各大高校都在尽自己努力,以本校现状及需求作为基础,以科技发展进步作为依托,发展完善一个功能完整,操作简单快捷,高效率,与本校其他教务管理系统良好适应的排课系统与之配套,使教师等教学资源利用达到最大化,为学生提供优良的教育环境。因此,东北财经大学作为一个知名的财经类高校, 要达到适应教育现状及 提高自身教育层次的目标,完善教务排课管理系统显得尤为重要。 系统功能简述排课管理系统需要合理调配各个班级专业所需的专业课程选修必修课程,相应教师,教师及上课班级,尽可能全面的考虑到教师的身体状况,工作条件,家庭状况甚至与学校距离,教师及学生时间,各种课程按重要程度以及学生兴奋点和接受能力合理排序,教师的容量用途,学校集体活动或教师会议等多方面因素,以计算机安排为主,手工调整为辅的方式做出各个院系各个专业各个班级的课程安排。 排课管理系统的目标不仅是对于原有系统进行改进提高,还使课程管理科学化系统化准确化,减少手工录入的误差可能性,方便操作者的随时添加、查询、修改,是统计表格格式规范化统一化,提高工作效率,降低人工成本,提高处理数据能力与速度,提高教学质量,优化学校教务管理系统,为学校的进一步发展提供技术支持与可能性。 系统分析(1)系统分析任务:根据系统设计任务书所确定的范围,并在充分认识原有系统的基础上进行详细的调查分析,通过问题识别、可行性分析、详细调查、系统化分析,进而确定新系统的基本目标和逻辑功能结构,最后完成新系统的逻辑方案设计。 (2)可行性分析和详细调查概述:由于实验的限制,假定建立排课管理信息系统在管理上、技术上、经 济上都是可行的。而详细调查采用一定的调查方法发现了现行系统有以下优缺点: 现有系统优缺点分析 1. 选课分为预选、正选、补退选,一定程度上完善了选课系统。 2. 在选课中,按年级差异区分次序,一定程度上缓解短时间内系统压力,保证了高年级学生顺利完成课业。 3. 学生面临选课时,具有多重选择性,使学生有机会挑选感兴趣的课程,更加人性化设置。 4. 正选是以随机抽选的形式来的话,会更具有公平性。 5?学生可以自主跨专业选择自己喜欢的课,使选课更具有自主性。 6?在登录选课系统时,需要学生输入个人账号信息,保证了学生信息隐私,具有一定的安全性。

游戏C语言实验报告完整版

游戏C语言实验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。? (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装 vc++或v2008等编译软件 三、程序设计 Y

四、源代码 #include<> #include<> #include<> #include<> #define M 2048 void up(); n"); printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n"); printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n"); printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n"); printf(" 玩家选择的方向行或列前方有空格则出现位移.\n"); printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n"); printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n"); printf(" 棋盘上出现2048,判胜,游戏结束"); printf("\n\n\n"); printf(" \t\t\t按回车开始游戏.\n"); getchar(\n);

管理信息系统实验报告

实验一认识计算机硬件和网络结构 一、实验题目 认识计算机硬件和网络结构。 二、实验课时 2课时。 三、实验目的 认识计算机的主要构成部件、功能、型号、在计算机机箱内的位置、网络结构等。 四、实验内容和要求 1、利用多媒体演示计算机的主要组成部件:机箱、主板、CPU、内存条、硬盘、软驱、光驱、插槽、BUS总线、串行接口、并行接口、USB接口等; 2、打开机箱,实物展示并讲解个部件的功能及其连接; 3、机箱、主板、CPU、CPU风扇、内存条、显卡、网卡等分别如下所示。 机箱主板

内存条显卡网卡无线网卡 CPU CPU风扇硬盘 机箱背面并行接口串行接口USB接口 4、观察每个部件在机箱的位置,并掌握每个部件的功能和基本知识。 5、观察实验室网络结构图。 6、结合某网吧的例子更好地理解网络结构。 Parallel port Serial port USB port Keyboard and mouse ports

7、独立完成上述内容,并提交书面实验报告。 五、实验体会 通过本次实验,我了解了计算机的各种硬件和网络结构。知道了各种硬件的形状、功能、特征等。还知道了网络结构的流程、大体构造。这使我对计算机有了初步的认识,为以后更进一步的学习打下了坚实的基础。也为我以后的学习和生活提供了方便。 1、cpu——中央处理器,是一台计算机的运算核心和控制核心。 2、硬盘——是电脑的主要存储媒介之一。 3、主板——又叫主机板、系统板或母板,安装在机箱内,是微机最基本也是最重要的部件之一。 4、机箱——作为电脑配件的一部分,它起的主要作用是放置和固定各电脑配件,起到一个承托和保护作 用。 5、内存条——是连接CPU和其他设备的通道,起到缓冲和数据交换作用。

学生管理系统 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 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

实验报告管理系统报告

实验报告管理系统报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

软件项目设计报告 实验报告管理系统 所在班级12计卓 小组成员 江灵瞳201印海平201钱晨晨 学院名称信电工程学院 专业名称计算机科学与技术 指导教师胡局新 起止日期 2015年1月15日 目录

1 绪论 开发背景 实验教学是学生技能培养的重要环节之一,学生实验报告的质量在一定程度上反映了实验教学的质量,实验报告管理水平也反映了实验教学管理水平。目前,大部分学校所提交的实验报告大多还停留在以纸为介质的方式上,这将严重制约着实验教学的开展。首先,很多课程的实验结果在纸质实验报告中不能表现或不能完全表现,其次纸质实验报告的批改和分析也是实验授课老师的一个很重负担,如何提高学生实验报告的表象能力,提高教师批改实验报告的效率并及时发现和纠正实验报告中存在的问题是许多课程实验授课教师所面对的一个难题。 本次设计完成的工作 老师登录该系统可以上传、下载实验报告、查看学生做的实验报告并给学生打分、老师可以查看实验验课程、实验课程列表、查看实验提交情况等。 学生登录该系统可以上传、下载实验报告、查看实验课程和实验课程列表。 任务分工 组织结构:为了完成学生信息管理系统的项目开发,班级组成了一个项目团队,人员分工:为了明确项目团队中每个人的任务分工,现制定人员分工,如下表所示: 任务 我们三个人各自分工完成自己的模块内容,首先,江灵瞳构造整个系统的框架,然后印海平设计数据库,在我们一起先设计前台界面,之后我们就各自实现各自模块的功能。

2 系统分析 需求分析 1)实验课程设置,设置课程编号、课程名、时间、次数、老师编号、老师名、实验班级; 2)实验列表设置,设置实验编号、实验名、班级、学生学号、学生名、老师名、实验路径、提交状态、分数; 3)树型类别设置,设置编号、名字、路径、学生名、老师名、树的状态。 可行性分析 编写目的: 背景: 徐州工程学院是一所培养应用型人才的普通高等学院。为了完善管理学校实验报告太多没有地方保存了,经决定开发实验报告管理系统。 要求: 实验报告系统必须提供学生信息和教师信息的基础设置;提供强大的条件搜索功能个实验课程查询、实验列表出现等管理功能;可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。 目标: 实验报告管理系统的目标是实现学生的纸质的实验报告太多没有地方长期保存,这样用一个系统可以将一个课程所有学生的实验报告进行管理方便存放。 条件、假定和限制: 时间的限制,我们必须在两周的时间里完成项目,在这期间系统分析员需要整理好分析结果,分配各组员的任务,每天需要人员跟踪记录整理文档。程序开发人员须在5天的时间里进行系统设计、程序编码、系统测试、程序调试。期间,还包括一个双休日假期。 根据上面的分析,在技术上不会存在什么问题,因此项目延期的可能性很小。只要在分配的时间里都能顺利地完成任务,再加上团队的凝聚力齐心协力,相信在这两周内会获得一个满意的结果。 用例图 图用例图

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

学生信息管理系统软件项目管理实验报告

实验报告 <学生信息管理系统> 实验项目一:可行性分析报告 1.实验目的:根据理论课程所学内容,针对某一项目进行可行性分析训练 2.实验原理:从理论课的学习中掌握规范的可行性分析技术,通过编写报告的形 式得到练习。 3.实验器材:Microsoft Office 4.实验步骤:(1)参照理论学习的内容进行阅读思考;(2)针对某一软件项目, 着手编写;(3)提交。 实验一:学生信息管理系统可行性分析报告 A1、引言 学校的不断发展,学校规模不断扩大,学生数量不断剧增,有关学生的各种信息也成倍增长。面对庞大的数据信息,有一个学生信息管理系统是非常有必要的,不仅可以提高学生管理的工作的效率,还可以通过这个系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。 A1.1 编写目的 学校的不断发展,学校规模不断扩大,学生数量不断剧增,有关学生的各种信息也成倍增长。面对庞大的数据信息,有一个学生信息管理系统是非常有必要的,不仅可以提高学生管理的工作的效率,还可以通过这个系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量. A1.2 项目背景 开发软件名称:学生信息管理系统 项目任务提出者:计算机与信息学院

项目开发者:学生组 用户:管理员、老师和学生 A1.3 定义 学生信息管理系统(SMIS):学生管理系统是帮助教学人员、行政人员和人事人员的管理软件,使用HTML5语言编写,独立完成其功能。 SQL语言:SQL全称是“结构化查询语言”,SQL是一个非过程化的语言。 A1.4参考资料 [1].<软件项目管理> 覃征徐文华翰毅唐晶编著清华大学出版社2009.10 [2].<软件工程> 钱乐秋赵文耘牛军钰编著清华大学出版社2013.08 A2 可行性研究的前提 A2.1 要求 (1)主要功能:本系统应该实现学生信息的管理与查询,具体包括学生信息查询,同时可以对信息进行修改,删除和添加,以及各种信息统计,学籍管理,新生注册等功能。 (2)性能要求:查询效率尽可能做到精准,保持全校数据的一致性、准确性、实时性,信息维护功能做到简单易用。 (3)输入要求:查询效率尽可能做到精准,保持全校数据的一致性、准确性、实时性,信息维护功能做到简单易用。 (4)输出要求:学生基本信息和学籍各种处理的结果表格文档形式 安全与保密要求:对该软件系统设置不同级别的访问权限,通过对不同权限的管理,实现对学生学籍的管理的安全性与保密方面的要求. (5)完成期限:2015年12月11日到 2016年1月10日

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

最新学生信息管理系统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函数)。

学生信息管理系统实验报告

(此文档为word格式,下载后您可任意编辑修改!) 面向对象程序设计大作业 ------学生信息管理系统 学院名称信息科学与工程学院 专业班级数学大类2011级2班 学生姓名魏仿 学号 指导教师孙红梅 1

完成时间: 2013 年 5 月 29 日

学生信息管理系统 1、编程目的 为方便学生信息的管理,特编写这个程序方便操作学生信息管理系统。实现对学生姓名、学号、性别、成绩等信息的管理,可以实现学生的增加、删、查等多种功能的操作。 2、系统简介 本系统实现学生信息的管理,以动态链表、结构体数据类型来实现数据的存储与加工,利用链表来实现学生信息的插入、删除、查找功能。 主要分7个模块: 模块一: 结构体的定义,定义struct student{};struct date{};结构体struct student{};数据成员包括:int studentId; char name[20]; char sex[5]; struct date birthday; int score; struct student *next; 其中 struct date birthday;又借用struct date{};结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。

模块二: ListCreate函数,函数类型为:struct student 形参:struct student *();主函数,测试数据,测试链表各节点(学生基本信息)的输出、插入、删除、查找功能。 3、编程思路 一:数据类型: 1.考虑到学生个人信息包含学号、姓名、性别、出生日期、成绩等信息。因此采用结构体类型,定义学生个人信息结构体,并定义学生学号、姓名、性别、出生日期、成绩等数据成员。 2.考虑到要实现多个学生个人信息的管理,可采用结构体数组与链表。但是由于要对多个学生信息进行信息的插入、删除、查找等操作。显然结构体数组很难实现以上操作,因此选用链表。 二:存储结构: 选用链表之后,考虑其存储结构,由于要实现信息的插入、删除、查找等功能,显然动态链表更适合。相应的以链式存储结构来存储数据。 三:功能的实现 学生信息的插入功能的实现:在动态链表中要实现节点数据的插入,只要灵活的改变头一个节点的next指针使它指向要插入节点的

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

学生信息管理系统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(); /*声明输入函数*/

图书管理系统实验报告

上海电力学院 信息网络技术课程设计报告 题目: 图书馆借阅系统 姓名:白志强 学号:20111946 院系:电子与信息工程学院 专业年级:电子信息工程2011级

2014 年12月 5 日

●摘要 在大学生活中,图书馆是我们常去的一个地方,因而图书馆的管理无疑是我们需要关注的一个问题。 现在很多学校图书馆的借阅工作部分还是手工管理,工作效率很低并且不能及时了解图书的种类和学生们比较需求的图书等,不能更好的适应当前学生的借阅要求。计算机信息化管理有着存储量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此利用计算机提供给我们的信息使学生们的借阅过程形成一整套动态的管理,能够极大提高图书馆理的效率,这也是学校的科学化,正规化管理。 图书借阅管理系统是一种信息管理系统,本系统采用数据库系统和VB平台,以https://www.360docs.net/doc/7912682419.html, 为编程语言开发一个适合学校图书管理所需要的数据库管理软件。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。 ●实验目的 本课程设计的目的是综合应用https://www.360docs.net/doc/7912682419.html,软件以及SQL数据库设计实现图书借阅系统。 ●设计环境 软件:VS2008,SQL Server2008 ●设计内容 基本要求:通过编程软件使系统可以进行管理员模块和用户使用模块。 管理员模块:添加图书,查询图书,查询用户,添加用户。 使用者模块:借阅图书,归还图书。 ●设计流程图 图书管理系统 用户界面管理者界面

设计步骤 建立数据库,新建表如图所示 打开表如图

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

信息管理系统实验报告

信息管理系统实验报告 班级:09财务管理(3、4)班 成员:章雅青2009101238(三班) 温小美2009101253(四班) 高艺佳2009101284(三班) 温丽妮2009101302(四班) 指导老师:胡蓉 2012-4-26

食堂信息系统调查大纲 ?一、引言 ?二、系统需求分析 ?三、可行性分析 ?四、概念结构设计 ?五、逻辑结构设计 ?六、物理结构设计 ?七、数据库结构的实现 ?注:本设计暂只完成到第三步 一、引言 1.1 背景 随着高校办学规模不断扩大,高校的后勤管理工作也日益繁杂,许多大型高校拥有多个校区,这也要求食堂的规模不断扩大,这些食堂地理位置分散,又要实现统一协调管理,就不得不借助现代化的管理模式---网络管理模式。 1.2目的 学生信息量的成倍增长给食堂管理工作提出了巨大的考验。为了提高工作效率,避免以前手工作业的麻烦,使管理者能够准确,有效的管理餐饮,同时也让同学们有序文明的进餐,对学校食堂进行信息化管理是十分有必要的。 二、系统需求分析 信息管理系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下五点内容: ⑴用统一标准处理和提供信息,排除使用前后矛盾的不完整数据。 ⑵完整、及时提供在管理机决策中需要的数据。 ⑶利用指定的数据关系分析数据,客观预测未来。 ⑷向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。 ⑸用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实 施方案,以提高企业的经济效益。

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

相关文档
最新文档