当前位置:文档之家› 学生成绩管理系统C++编程实验报告

学生成绩管理系统C++编程实验报告

学生成绩管理系统C++编程实验报告
学生成绩管理系统C++编程实验报告

《C++程序设计》

课程设计报告设计题目:学生成绩管理系统

专业:计算机科学与技术(网络工程)

班级:

学号:

姓名:

指导老师:

日期:2009.05.31

目录

一、设计任务与要求 (3)

1.设计内容 (3)

2.课程设计的要求 (3)

二、系统分析(需求分析) (3)

1.需求分析 (3)

2.系统性能要求 (3)

3.系统的功能分析 (3)

4.系统功能模块 (3)

5.模块框架图 (3)

三、系统设计与实现 (4)

1.界面设计 (4)

2.功能设计与实现 (4)

四、测试结果 (4)

五、总结 (5)

六、参考资料 (5)

附录:源程序 (5)

一、设计任务与要求

1.设计内容:

a.设计四个类;学生类(描述学生基本信息);成绩类:班级类;课程类(描述课程信息:课程编号,科目名称(如高等数学,大学英语等);学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入;

b.能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。

–设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比

–计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)

–显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件)

–注意,至少一个班,30人三门课

2.课程设计的要求:

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序.对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、视图(如果使用)、索引的结构和定义、触发器、存储过程、课程设计体会。

二、系统分析(需求分析)

1.需求分析:

a.能对学生各科成绩进行录入:。

b.能对学生的成绩进行增加。

c.能对学生的成绩进行删除。

d.能对学生的成绩进行修改。

e.能对学生的成绩按总成绩,姓名,进行查询。

f.能输出学生的所有数据。

g.能进行成绩统计

h能进行总分查询排名。

2.系统性能要求:

a.系统安全、可靠;

b.功能齐全;

c.操作方便、界面友好;

d易于维护和扩充。

3.系统的功能分析:

资料维护:系统维护包括对学生信息的录入操作及数据表中的信息进行浏览。

系统功能:可以对数据表中的信息进行浏览。

系统查询:可以对学生的信息进行查询。

4.系统功能模块

学生成绩查询系统有:成绩录入、增加、删除、修改,数据查询,排序显示构成。

5.模块框架图

三、系统设计与实现

1.界面设计

程序运行后会出现一个简捷的窗口,便于用户查询数据。

2.功能设计与实现

通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括记录编辑和记录查询等功能模块。记录编辑功能完成学生成绩记录编辑和记录查询功能。记录查询功能可以对数据各分类的记录进行查询

四、测试结果

每一个case都能执行,但是有很多的地方都不够完善,例如:在总成绩排序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。

五、总结

此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。

根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。

六、参考资料

C++程序设计谭浩强清华大学出版社

附录:源程序

#include

#include

#include

#include

#include

using namespace std;

class Tstu //通过定义一个类来定义数据录入的函数

{

char name[20];

int number;

float math,cpp,english,average,sum;

public:

Tstu()

{};

Tstu ( char n[20], int num,float ma,float cj,float eng ) ;

float getsum();//得到总分的函数

float getaver(); //得到平均分的函数

friend void main(); //将主函数定义为友元函数,方便访问类中的成员};

Tstu::Tstu ( char n[20], int num,float ma,float cj,float eng )

{

strcpy(name,n); //得到姓名

number=num; //得到学号

math=ma; //得到数学成绩

cpp=cj; //得到c++成绩

english=eng; //得到英语成绩

}

float Tstu::getsum() //得到总分的函数

{

sum=cpp+english+math;

return sum;

}

float Tstu::getaver() //得到平均分的函数

{

average=getsum()/3;

return average;

}

void main()

{

cout<<"*****************欢迎来到学生成绩查询系统*****************"<

cout<<"操作:"<

cout<<"(1)数据录入"<

cout<<"(2)增加学生"<

cout<<"(3)删除学生"<

cout<<"(4)修改数据"<

cout<<"查询:"<

cout<<"(5)按总成绩查询"<

cout<<"(6)按姓名查询"<

cout<<"(7)输出所有学生的数据"<

cout<<"成绩统计:"<

cout<<"(8)每个学生的平均成绩"<

cout<<"(9)各科不及格人数"<

cout<<"排名:"<

cout<<"(10)按总分查询排名"<

cout<<"(11)退出"<

cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!"<

int p=0; //全局变量,用于选择菜单时的输入

char w;//全局变量,用于在大项中选择是否继续操作

Tstu *s[100]; //类定义的指针将所录入的数据按类中的形式分别存储

ofstream *file[100];

int i=0; //全局变量,用于做每个录入数据的下标

int j=0;

int chris1=0; //用于判断do—while语句

do //判断输入是否正确

{

cin>>p;

if((p>=1&&p<=11))

chris1=1;

else

cout<<"指令错误!请重新输入:"<

}while(chris1==0);

do{

switch(p)

{

case 1: //数据的录入

{

char c; //用于在小项中选择是否继续操作

char name[20];

float math,cpp,english;

do{

cout<<"请输入姓名:"<

cin>>name;

cout<<"请输入学号:"<

cin>>number;

cout<<"请输入数学成绩:"<

cin>>math;

cout<<"请输入C++成绩:"<

cin>>cpp;

cout<<"请输入英语成绩:"<

cin>>english;

fstream outfile,infile; //作一个文本文档在文件夹中用于显示所录入的数据

outfile.open("f1.txt",ios::out|ios::app);

if(!file)

{ cout<<"f1.txt can not open.\n";

return;

}

outfile<

outfile.close();

infile.open("f1.txt",ios::in);

if(!file) //判断文件是否打开

{ cout<<"f1.txt can not open.\n";

return;

}

char ch;

while(infile.get(ch))

cout<

cout<

infile.close();

j++;

s[i]=new Tstu(name, number,math, cpp, english);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<

cin>>c;

chris1=0;

do{

if(c!='y'&&c!='n')

{ cout<<"指令错误!请重新输入!"<

cin>>c;

}

else

}while(chris1==0);

}while(c=='y'); //重复输入

break;

}

case 2: //增加学生数据

{

char name[20];

int number;

float math,cpp,english;

char c;

do

{

cout<<"请输入您要增加的学生的姓名:"<

cin>>name;

cout<<"请输入你要增加的学生的学号:"<

cin>>number;

cout<<"请输入数学成绩:"<

cin>>math;

cout<<"请输入C++成绩:"<

cin>>cpp;

cout<<"请输入英语成绩:"<

cin>>english;

fstream outfile,infile;

outfile.open("f1.txt",ios::out|ios::app);

if(!file)

{

cout<<"f1.txt can not open.\n";

return;

}

outfile<

outfile.close();

infile.open("f1.txt",ios::in);

if(!file)

{

cout<<"f1.txt can not open.\n";

return;

}

char h;

while(infile.get(h))

cout<

cout<

infile.close();

s[i]=new Tstu(name,number, math, cpp, english);

i++;

cout<<"数据录入成功,想继续录入吗(y/n)"<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<

cin>>c;

}

}while(c=='y');

break;

}

case 3://删除学生信息

{

char c;

string xingming,line,str,name;

do

{ ifstream fin("f1.txt");

fstream outfile("f2.txt",ios::trunc|ios::out); //作一个文本文档在文件夹中用于显示所录入的数据

cout<<"请输入您要删除的学生的姓名:"<

cin>>xingming;

while(!fin.eof() )

{

getline(fin,line);

istringstream stream(line);

name = line.substr(0,line.find(" ",0));//找到名字,判断是否相等

if(name != xingming)

outfile<

}

outfile.close();

fin.close();

fstream f("f1.txt",ios::trunc|ios::out);

ifstream outf("f2.txt");

f<

outf.close();

f.close();

cout<<"数据删除成功,想继续删除吗(y/n)"<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<

cin>>c;

}

}while(c=='y');

break;

}

case 4://修改数据

{

string sname,line,str,name;

int nu;float eng,ma,com;int flag;char c;

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

do

{

flag=0;

cout<<"请输入您要修改的学生的姓名:";

cin>>name;

fstream fin("f1.txt",ios::in);

ofstream outfile("f.txt",ios::trunc|ios::out);

cout<

while(!fin.eof() ) //在文件中查找

{

getline(fin,line);

istringstream stream(line);

sname = line.substr(0,line.find(" ",0));

if(name!=sname)

{

outfile<

}

else flag=1;

}

fin.close();

if(flag=1)

{

cout<<"请输入修改学生姓名及其新学号,数学,c++和英语成绩:";

cin>>name>>nu>>ma>>com>>eng;

cout<

outfile<

outfile.close();

fstream outf("f1.txt",ios::trunc|ios::out);

fstream inf("f.txt",ios::in);

outf<

outf.close();

inf.close();

}

if(flag=0)cout<<"对不起,您要修改的学生不存在!请查证后输入!"<

cout<<"想继续修改吗(y/n):";

cin>>c;

cout<

if(c!='y'&&c!='n')

{

cout<<" 指令错误!请重新输入!"<

cin>>c;

}

}while(c=='y');

break;

}

case 5://按总分查询

{

int j=0;float SUM;char c;int flag;

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

do

{

flag=0;

cout<<"请输入您要查询的学生的总成绩:"<

cin>>SUM;

for(int j=0;j

{

if(s[j]->getsum()==SUM)

{

flag=1;

cout<<"您要查询的学生是:"<<(*s[j]).name<

cout<<"该生的信息为:"<

cout<<" 学号:"<<(*s[j]).number<<" 数学分数:"<<(*s[j]).math<<" c++分数:"<<(*s[j]).cpp<<" 英语分数"<<(*s[j]).english<

}

}

if(flag==0)cout<<"对不起!您要查询的学生不存在!"<

cout<<"是否继续查?(y/n):";

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入!"<

cin>>c;

};

}while(c=='y');

break;

}

case 6://按姓名查询

{

char n[20];char c;int j=0;int flag;

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

do

{

flag=0;

cout<<"请输入要查询的名字: "<

cin>>n;

for(int j=0;j

{

if(strcmp(n,(*s[j]).name)==0)

{

flag=1;

cout<<"您要查询的学生是:"<<(*s[j]).name<

cout<<"该生的信息是:学号:"<<(*s[j]).number<<" 数学分数:"<<(*s[j]).math<<"c++分数:"<<(*s[j]).cpp<<"英语分数:"<<(*s[j]).english<

}

}

if(flag==0)

cout<<"对不起您要查询的学生不存在,请查证后再输入!"<

cout<<"您想继续查询吗?(y/n):";

cin>>c;

if(c!='y'&&c!='n')

{

cout<<"指令错误!请重新输入:"<

cin>>c;

}

}while(c=='y');

break;

}

case 7://输出所有学生数据

{

cout<<"所有学生数据如下:"<

ifstream file;

file.open("f1.txt",ios::in);

cout<

file.close();

break;

}

case 8://统计每个学生的平均成绩

{

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

for(int m=0;m

{

cout<<(*s[m]).name<<" 学号:"<<(*s[m]).number<<" 总分:"<<(*s[m]).getsum()<<" 均分:"<<(*s[m]).getaver()<

}

break;

}

case 9://统计各学科不及格人数

{

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

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

for(j=0;j

{

if(s[j]->math<60)m++;

if(s[j]->cpp<60)n++;

if(s[j]->english<60)k++;

}

cout<<"数学不及格人数为:"<

cout<<"c++不及格人数为:"<

cout<<"英语不及格人数为:"<

break;

}

case 10://按总分排名

{

if(i==0)

{

cout<<"系统中没有输入数据,请先输入数据!"<

}

int h,g,n;int j=0;float a[100],temp;

for(g=0;g

{

a[j]=(*s[g]).getsum();j++;

}

for(h=0;h

{for(n=0;n

if(a[n]>a[n+1])

{

temp=a[n];a[n]=a[n+1];a[n+1]=temp;

}

}

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

cout<

break;

}

}

cout<<" 您想继续进行其他操作吗?(y/n):";

int flag=0;

do

{

cin>>w;

cout<

if(w!='y'&&w!='n')

cout<<" 指令错误!请重新输入!"<

else

flag=1;

}while(flag==0);

if(w=='y')

{

cout<<"*****************欢迎来到学生成绩查询系统*****************"<

cout<<"请选择您需要的操作!"<

cout<<"操作:"<

cout<<"(1)数据录入"<

cout<<"(2)增加学生"<

cout<<"(3)删除学生"<

cout<<"(4)修改数据"<

cout<<"查询:"<

cout<<"(5)按总成绩查询"<

cout<<"(6)按姓名查询"<

cout<<"(7)输出所有学生的数据"<

cout<<"成绩统计:"<

cout<<"(8)每个学生的平均成绩"<

cout<<"(9)各科不及格人数"<

cout<<"排名:"<

cout<<"(10)按总分查询排名"<

cout<<"(11)退出"<

cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!"<

cin>>p;

}

}while(w=='y');

}

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

c简单学生成绩管理系统 c课程设计 The document was prepared on January 2, 2021

C++学生成绩管理系统 要求用C++语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。 学生成绩管理系统分析: 学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。 各个子函数功能及其流程:

1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数 2.Student();构造函数,用于初始化学生类中的各个变量并记录 3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容 4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩 5.Find();函数:用于查找学生各项信息。

6.modify();函数:用于修改学生各项信息。 7.delete();函数:用于删除学生信息。

();函数:对学生各项信息进行排序操作。 8.save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文 件将其中的学生信息显示出来

9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理函数源代码: 此函数源代码在VisualC++环境下编译通过。具体如下: #include"" #include"" #include"" #include"" #include"" #include"" #include"" class student ame,n1)==0) { temp=stu[j]; f3=1; } } if(f3==0) cout<<"对不起,没有你要查找的学生成绩"<

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

基于Web的学生成绩管理系统的设计和实现

论文评定 指导教师意见: 指导教师:___________(签名) 年月日

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。 论文作者签名:*** 日期:2009 年10 月30 日

基于Web的学生成绩管理系统的设计和实现 摘要 进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。 本毕业设计所描述的学生成绩管理系统是采用https://www.doczj.com/doc/a04657616.html,作为网络编程框架,SQL Server 2005作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。 关键字:成绩管理,成绩录入,成绩查询,.NET , B/S

STUDENTS’ PERFORMANNCE MANAGEMENT SYSTEM ABSTRACT After entering the 21st century, science and technology advance by leaps and bounds, the advent of the information age is not only make the computer is widely used in science and technology, more make the computer in life has been more widely, for now, the school of electronic information office is an inevitable trend, the school of information are mainly embodied in the management of students' grades above, education management system is a indispensable part of the unit. The graduation design of student achievement management system is described using https://www.doczj.com/doc/a04657616.html, is a network programming framework, SQL Server 2005 as a database of writing a B/s-based mode of the system. System is mainly realized: user management, scores query, performance management and management of subject etc. Function. This paper introduces the student performance management system requirements analysis, functional design and system design, system design in database design and the overall design scheme of the system, in the system are introduced in details of each function can realize the situation and the main operation interface with code. Key words:Grade Management,Achievements recorded scores query,.NET ,B/S

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

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程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

学生成绩管理系统的设计与实现

课程设计 学生成绩管理系统的设计与实现 专业: 班级: 学号: 姓名:

学生成绩管理系统的设计与实现1.引言 1.1背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。 管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情, 学生成绩管理系统提供了强大的学生成绩管理管理功能,方便管理员对学生成绩等信息的添加.修改.删除.查询.汇总.统计等操作。更适合大型数据库的管理。 1.2目标 1.管理员能够方便的对信息进行添加.修改.删除.查询.汇总.统计等操作。 2.可以将数据库发布到网上,进行资源共享。 3.学生可以在自己的权限内对信息进行访问,即使查询相关信息。 2.需求分析 2.1系统需求 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.doczj.com/doc/a04657616.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

C语言学生成绩管理系统设计

航空航天大学 课程设计报告 大作业名称:C语言课程设计 大作业题目:学生成绩管理系统设计 院(系):计算机学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2016年12月24日

目录 第1章概要设计 (1) 1.1题目的容与要求 (1) 1.2总体结构 (1) 第2章详细设计 (2) 2.1主模块 (2) 2.2输入模块 (3) 2.3显示模块 (3) 2.4修改模块 (4) 2.5删除模块 (4) 2.6查询模块 (5) 2.7统计模块 (6) 第3章调试分析 (7) 第4章使用说明 (8) 参考文献 (12) 附录(程序清单) (14)

第1章概要设计 1.1题目的容与要求 容: 学生成绩信息包括:姓名、学号、语文、数学、英语。 实现的主要功能有: 1)信息维护。包括学生成绩的输入、按学号删除、按学号修改等。 2) 信息查询。输入学号或姓名,显示出该生三个科目的成绩,计算出三科总分 并显示,按总分将所有学生成绩排序,显示出该生的名次。 3)成绩统计。先输入任意一个科目,接着选择a或b来分别显示平均分或统计分数段学生,若选择a,则直接显示出该科目的平均分;若选择b,则提示用户输入一个分数段,显示所有该科目属于该分数段的学生信息,并给出学生总数。 要求: 1)系统以菜单方式工作。在不同的界面为用户给出具体提示。 2)系统利用C语言实现,源程序要有适当的注释。 3)采用VC环境进行运行调试。 1.2总体结构 本程序主要分为七个模块(功能模块图见图1.1):结构体模块,输入模块,显示模块,修改模块,删除模块,查询模块,统计模块。 结构体模块:建立一个结构体模块,为链表存信息用。输入模块:键盘输入

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

C#与SQL数据库学生成绩管理系统完整代码

数据库技术及应用项目设 计报告 学生成绩管理系统 姓名:Celia Yan 2015-01-07

一.设计目的及意义 在如今的高校日常管理中,学生成绩管理系统是其中非常重要的一环,特别是当前学校规模不断扩大,学生人数日益增加,课程门类多,校区分散等实际情况,学生成绩统计功能越来越繁重,稍有疏忽就会出现差错。因此,学生成绩管理系统更具有非常大的实际应用意义。在互联网快速崛起的今天,改革传统的手工录入方式,公正,准确,及时反映学生的信息和成绩的情况,以适应信息时代的要求,是学生成绩管理系统的一个新的理念。通过成绩管理可以大大提高学校的工作效率。学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理。通过学生成绩管理系统可以做到信息的规范管理,科学统计和快速查询、修改、增加、删除等,减少管理方面的工作量。 二.主要功能 该系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。 本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其主要功能有: (1)学生信息的添加,包括输入学生基本信息和成绩。 (2)学生信息的查询,包括查询学生的基本信息和成绩。 (3)学生信息的修改,包括修改学生基本信息和成绩。 (4)学生信息的删除,包括删除学生基本信息和成绩。 (5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。 (6)管理员用户对用户名的管理,包括添加新用户、删除用户。 学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。对于后者则要求应用程序功能完备,易使用。 该管理系统我使用的是Microsoft Visual Studio 2012 及 Microsoft SQL Server 2008。

北京理工大学汇编语言实验报告实验五 子程序设计实验

实验五子程序设计实验(设计性实验) 一、实验要求和目的 1.熟悉汇编语言程序设计结构; 2.熟悉汇编语言子程序设计方法; 3.熟悉利用汇编语言子程序参数传递方法; 4.熟悉汇编语言字符串处理基本指令的使用方法; 5.掌握利用汇编语言实现字符串的输入输出程序设计方法; 6.掌握数制转换程序实现方法。 二、软硬件环境 1、硬件环境:计算机系统windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 A)子程序知识要点: 1、掌握子程序的定义语句; 过程名 PROC [near/far] 过程体 RET 过程名 ENDP 2.子程序结构形式 一个完整的子程序一般应包含下列内容: 1. )子程序的说明部分 在设计了程序时,要建立子程序的文档说明,使用户能清楚此子程序的功能和调用方法. 说明时,应含如下内容: .子程序名:命名时要名中见意. .子程序的功能:说明子程序完成的任务; .子程序入口参数:说明子程序运行所需参数及存放位置; .子程序出口参数:说明子程序运行结果的参数及存放位置; .子程序所占用的寄存器和工作单元; .子程序调用示例; 2、)掌握子程序的调用与返回 在汇编语言中,子程序的调用用CALL,返回用RET 指令来完成。 .段内调用与返回:调用子程序指令与子程序同在一个段内。因此只修改IP; .段间调用与返回:调用子程序与子程序分别在不同的段,因此在返回时,需同时修改CS:IP。 3.)子程序的现场保护与恢复 保护现场:在子程序设计时,CPU 内部寄存器内容的保护和恢复。 一般利用堆栈实现现场保护和恢复的格式: 过程名PROC [NEAR/FAR]

C学生成绩管理系统

C#课程设计 姓名: 班级: 学号: 指导老师: 简介 该系统是用VisuaStudio2010和Access2007,通过C#语言进行相关代码的编写,生成相关程序。学生成绩管理系统是构建于VisualC#.NET平台上的Windows应用程序。本文描述的是基于Windows环境的学生成绩管理系统,主要工具MicrosoftVisualStudio2010设计窗体,Access2007建立数据库,学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。 本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。 在这次的课程设计中,让我了解到Microsoft Visual Studio 2010,同时学

习了Access数据库的建立和连接与导入。能在Visual C#.NET平台上进行Access数据库的修改与控制,将C#语句与SQL语句混合使用,成功的完成了学生成绩管理系统的整体设计,加深巩固了选择的条件语句,还有曾经学习过的基本运算语句,同时也为以后的进一步学习垫下了了良好的基础。 目录 第一章绪论 (4) 设计目的 (4) 开发工具选择 (4) 开发环境 (4) 第二章需求分析 (5) 系统目标 (5) 功能需求分析 (6) 性能需求分析 (6) 第三章总体设计 (7) 设计概述 (7) 功能模块设计 (7) 第四章数据库设计 (8) 数据库需求分析 (8) 数据库表设计 (9) 第五章详细设计 (10) 系统程序流程图 (11) 系统主要功能模块 (13)

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

基于C#、SQL的学生成绩管理系统项目的设计与实现

基于C#、SQL的学生成绩管理系统项目的设计与实现 摘要 成绩管理是任何一个教育单位不可或缺的重要组成部分之一,它的职责对于学校的教务管理工作人员来说是至关重要的,随着电子信息技术的飞速发展,利用在计算机中实现管理是势在必行。 本文介绍了学生成绩管理系统从分析――>设计――>开发的全过程,在开发过程中,主要用Microsoft Visual Studio 2010设计窗体及代码,MicrosoftSQLServer2005建立数据库,实现了学生信息查询、学生信息修改、学生成绩录入等基本功能。学生成绩管理系统具有查找方便、检索迅速、存储量大、可靠性高、成本低等优点,学生成绩管理系统的使用,提高了学生成绩管理的工作效率与便捷。 本论文叙述了我校学成绩管理的现状。重点介绍了学生成绩管理系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试。本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据更新。包括功能需求描述、数据库设计等内容,介绍了本系统的具体实现,开发过程中的结论及体会。 1.绪论 本毕业论文是以学校学生管理信息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结等 1.1引言 在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越

快。因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。为各高校教务工作人员减轻负,提高工作效率,所以制作了学生成绩管理系统。 学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业做出了巨大的贡献,也为今天的民办教育在未来市场的竞争力有所提高。 学生成绩管理系统使用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户、已创建的成绩数据的录入,修改,浏览,统计等功能操作,基本能够满足各高校教师的需要。随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。 21世纪是飞速发展的信息时代,信息社会的高科技,商品经济化的高效益,企业经营全球化,使计算机的应用已经普及到经济和生活当中的各个领域,这正是计算机被广泛的应用于信息管理的环境。尤其是对于复杂的信息管理,计算机能充分的发挥其优越性,高效方便的进行信息管理。为提高工作效率,同时摆脱成绩管理人员在工作中出现的一些弊端,所以需要开发一个成绩管理系统。为此,本系统就是为更好的管理成绩而设计的。 1.2课题研究内容 此成绩管理系统主要应用C#编程和MicrosoftSQLServer2005数据库连接等相关知识。主要需要熟练掌握C#开发技术,将所学知识用于实际生活中,并且在实际生活中发挥其主要功能并获得效益。本设计内容包括以下功能模块。 (1)学生信息查询模块:主要包括可以通过学号、姓名、专业查询。 (2)学生信息修改模块:主要包括修改学号、姓名、出生日期、专业、总学分删除学生信息,更新学生信息等。 (3)学生成绩录入模块:主要包括录入学生的各科成绩和删除。

汇编语言程序设计实验报告三(子程序设计实验)

汇编语言程序设计实验报告三(子程序设计实验) 一、实验目的 1、掌握主程序与子程序之间的调用关系及其调用方法。 2、掌握子程序调用过程中近程调用与远程调用的区别。 3、熟练掌握码型变换的程序。 二、实验内容 1、从键盘输入二位非压缩BCD数,存入AX寄存器中,编程实现将其转换为二进制 数,并在屏幕上显示。要求码型转换程序用远程子程序编写,字符显示用近程子程序编写。数据可循环输入,遇‘00’结束。 三、实验准备 1、预习子程序设计的基本方法,根据实验内容要求编写出实验用程序。 2、熟悉键盘输入和字符显示的程序段的编制。 四、实验步骤 1、编辑、汇编源程序,生成可执行文件。 2、执行程序,检查输入、输出结果,看是否正确。如不正确,用DEBUG检查,修改 源程序,再汇编、运行,直到程序正确为止。 3、用DEBUG的T命令或P命令跟踪程序的执行,观察在远程和近程调用过程中,堆 栈的变化情况。 五、实验报告要求 1、分析近程调用和远程调用的主要区别。用DEBUG命令观察执行过程有何不同。 2、分析实验结果及所遇到的问题的解决方法。 主程序流程图 转换子程序TRAN流程图

七、程序清单 STA SEGMENT STACK ’STACK’ DB 100 DUP(0) STA ENDS GSAG SEGMENT PARA ‘CODE’ ASSUME CS:CSAG MAIN PROC FAR STRA T: PUSH DS SUB AX,AX PUSH AX REV: MOV AH,1 INT 21H MOV BL,AL INT 21H MOV AH,AL MOV AL,BL CMP AX,3030H JE ENDTRAN CALL NEAR PTR TRAN CALL FAR PTR CON MOV AL,0DH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP MOV AL,0AH CALL FAR PTR DISP JMP REV ENDTRAN: RET MAIN ENDP TRAN PROC NEAR AND AX,0F0FH MOV BL,AL MOV BL,AL MOV CL,3 SHL AL,CL MOV CL,1 SHL BL,CL ADD AL,BL ADD AL,AH RET TRAN ENDP CSAG ENDS CSBG SEGMENT PARA’CODE’ ASSUME CS:CSBG

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