枣庄学院数学与统计学院
实 训 报 告
实训科目:Visual FoxPro课程设计
实训课题:学生成绩管理系统的设计与实现
班级____________
学号____________
姓名____________
成绩____________
指导教师____________
20 __ 年 __ 月 __ 日
一、设计题目
学生成绩管理系统
二、开发软件
Visual FoxPro 6.0
三、课题要求
1.掌握课堂讲授的基本数据库知识和VFP的基本技巧:
(1) 数据库管理系统和VFP的界面组成与操作
(2) 表的基本操作(表的建立与修改、表达式、维护命令)
(3) 表的查询与统计(排序与索引,SELECT-SQL查询,数据库于视图)
(4) 程序设计初步(程序文件,程序的控制,多模块程序)
(5) 表单设计;
(6) 菜单设计;
(7) 实例:学生成绩管理系统的开发。
2.要求能够独立设计。完成一个简单的学生成绩管理系统,此系统必须有如下基本功能:
(1) 数据的查询;
(2) 记录的增加,删除,修改等功能;
(3) 系统界面良好;
(4) 操作方便,运行稳定。
四、系统开发目标:
本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
1.系统应具有实用性、可靠性和适用性,同时注意到先进性。
2.对数据库进行动态管理,防止混乱。
3.能够按照用户选择的不同的条件进行简单查询和复合查询。
4.能够对查询结果进行分类汇总,实现报表打印。
5.方便用户的操作,尽量减少用户的操作。
五、设计时间
第16周
六、系统设计
1.总体设计:
学生成绩管理系统包含数据编辑、数据查询、数据统计、打印输出、退出系统五个模块。如图:
2.数据库设计
“学生成绩管理系统”中含有三个表,下面是三个表的结构。
表1 学生表的结构
表2 成绩表的结构
表3 课程表的结构
3.界面设计
(1)设计系统说明表单
表单功能:系统说明表单,是关于系统功能或系统使用的说明窗口,设计者通过它可以向用户说明系统相关信息。在系统启动时,程序会弹出一个说明界面,也就是开始界面,该界面显示一段时间后会自动消失,进入主程序。
设计步骤:新建一个表单,向表单上添加两个标签控件Label1、Label2、一个定时器控件Timer1,将该表单的Picture属性设置为一幅图片,就可以在表单背景显示图片如图1所示。
表4 控件属性设置
添加定时器控件Timer1的Timer事件代码:
ThisForm.release
thisform.release
do form 登录界面
说明:将表单的TitleBar属性设置为0,可以去掉表单的标题栏,表单开始执行后,定时器就会工作,3000ms后,触发定时器的Timer事件,在事件代码中会退出表单。表单运行结果见图2。
图2 表单运行图
(2)设计系统登陆表单
表单功能:系统登陆表单,是用户使用系统的第一个工作表单,具有启动系统、验证操作员“口令”、引导用户使用系统等功能。在登陆表单对用户的密码进行验证时,采用一个密码表,用一个数据表存放用户名和对应的密码。在表单中输入用户名和密码确认后,表单查询密码数据表,如果用户名和密码正确,可以进入下一步的主界面,否则出现错误提示。
设计步骤:进入表单设计器,添加两个标签Label1、Label2;两个命令按钮控件Command1、Command2;一个组合框控件Combo1;一个文本框控件Text1,如图3所示。表单及控件属性见表5。
表5 控件属性设置
建立数据表:密码.dbf ,包含两个字段:“用户”,“密码”,均为字符型,10位,将建立的“密码.dbf”存放在系统默认打开目录。
编写Command1的Click事件代码:
use 密码.dbf &&打开数据表 密码.dbf
UseName=AllTrim(ThisForm.combo1.value)
Passwd=AllTrim(ThisForm.Text2.value)
If !Empty(UseName) .AND. !Empty(Passwd)
Locate For 用户=UseName &&定位
If Found() .AND. 密码==Passwd &&如果数据表中的记 录与用户输入的数据匹配
use
Do Form 应用界面.scx &&打开"主界面.scx"
thisform.release
Else
MessageBox("用户名或密码错误",16,"错误") &&出错信息框
EndIf
EndIf
编写Command2的Click事件代码:
ThisForm.release && 退出表单
3)数据编辑界面(仅以学生表为例)
表单功能:利用此表单完成学生表的编辑:
设计步骤如下:根据“学生.dbf”利用表单向导建立“学生基本信息”表单:
(1)单击“文件”菜单,选择“新建”命令,进入“新建”窗口。
(2)选择“表单”,单击“向导”按钮,进入“向导选取”对话框,
(3)选择“表单向导”,为单个表创建操作数据的表单,单击“确定”按钮,进入“表单向导”之步骤1——字段选取对话框。
(4)单击“ ”按钮,弹出“打开”对话框,选取“学生.dbf”文件,并将全部可用字段转入“选定字段”栏中,
(5)单击“下一步”按钮,进入“表单向导”之步骤 2 - 选择表单样式对话框,使用系统默认的“样式”和“按钮类型”。
(6)单击“下一步”,进入“表单向导”之步骤 3-排序次序对话框。该对话框用来按照字段排序记录。添加“学号”字段到选定字段。
(7)单击“下一步”,进入“表单向导”之步骤 4 — 完成对话框。该对话框用来设定表单标题和保存选项。键入表单标题“学生基本信息”,选中“保存并运行表单”,
(8)单击“完成”,表单被保存并运行。
4)其它部分数据表单:
查询表单(以用学号查询为例)表单功能:在组合框中显示学生表中所有学号,选中一个学号后,在表格中显示相应该同学的相关信息。
设计步骤:(1)打开表单设计器,添加一个组合框Combo1,一个表格Grid1,二个命令按钮Command1,一个标签Label1,如图:(各控件的caption属性设置按照图例设置)
(2)、设置标签的:autosize=.t,组合框的:style=2, RecordSource=学生, RecordSourcetype=2,将学生表添加到数据环境中.
(3)编写command1的click事件:
if Empty(ThisForm.combo1.Value) &&如果没有输入查询信息
MessageBox("请输入查询信息",16) &&则提示用户输入信息
Else
Select 姓名,性别,专业,课程名称,成绩,考试日期 from 学生 ,课程,成绩 where 学生.学号==alltrim(thisform.combo1.value) and 成绩.学号=学生.学号 and 课程.课程编号=成绩.课程编号;
into cursor 信息临时表
thisform.grid1.recordsource='信息临时表'
EndIf
编写command2的click事件:
thisform.release
5)部分数据输出报表(以课程信息输出为例)
使用“快速报表”功能为“课程”表创建包含其全部字段的“课程信息报表”。
操作步骤如下:
(1) 打开“报表设计器”窗口,
(2) 在“报表”菜单中选择“快速报表”命令,弹出“打开”对话框,在该对话框中选择报表的数据源“课程”表,弹出“快速报表”对话框, 该对话框用于选择报表的字段并指定字段的布局格式,
(3) 在“字段选择器”对话框中,单击“全部”按钮,将“所有字段”列表框中的全部字段添加到“选定字段”列表框,再单击“确定”按钮返回“快速报表”对话框。
(4) 单击“确定”按钮,返回“报表设计器”窗口,“快速报表”已生成,如 (5) 单击“常用”工具栏上的“预览”按钮,弹出“快速报表”预览窗口单击“常用”工具栏上的“保存”按钮,将报表保存为“课程信息报表.frx”
6)菜单设计
打开“菜单设计器”,按下表所示内容定义下拉式菜单。
(2).从主窗口的“显示”菜单打开“常规选项”对话框,选中“顶层表单”复选框,关闭对话框。
(3).将所定义的菜单保存到“学生管理顶层菜单.mnx”文件,并生成“学生管理顶层菜单.mpr”菜单程序文件。
打开“表单设计器”窗口,添加3个“标签”控件,按下表内容设置各控件的属性。
调整各标签控件的位置,使用“布局”工具栏使各标签控件在表单中居中。
在表单的Load事件代码中添加调用菜单程序的命令:
DO 学生管理顶层菜单.mpr WITH This, “xsglcd”
在表单的Destroy事件代码中添加清除菜单的命令:
RELEASE MENU xsglcd EXTENDED
七、结束语
经过为期一周的课程设计可谓受益匪浅。经过实践才真正的地把文字化为了知识,才真正的为我所用。认识到自己在学习过程中的缺点和不足。为以后的学习生活积累了宝贵的经验和教训。心得体会如下:
再做vfp系统开发时一定要做好信息的收集工作,否则后期工作将坠入云里雾中。信息收集时要求尽可能的考虑周全。这才能为设计阶段打下一个良好的基础。
VFP程序设计有几点值得注意:你可以不像课本上一样建立分类文件夹,但所有文件都要在一个文件夹中;
在写主程序时,不能照书直接抄,必须根据自己程序设计的实际而有所
八、系统需要改善之处,改善方法的构思
1.该系统比较简单,功能较少;
2.可添加用户注册功能、修改密码功能;
实训报告
题 目: 学生成绩管理系统 院 系: 信息科技学院
专 业: 电子信息科学与技术 姓 名: 周谒真
学 号: 1052400101
指导教师: 王小琼
日 期: 20xx年7月5日
桂林电子科技大学信息科技学院
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
目录
1.应用程序的名称 .................................................................................................................... 3
2.应用程序的主题和设计目的 ................................................................................................. 3
3.应用程序简介&应用程序的总体设计图(见需求规格说明书) ......................................... 3
4.需求规格说明书 .................................................................................................................... 3
1. 综合需求 ....................................................................................................................... 3
2.数据要求 ....................................................................................................................... 3
3.界面要求 ...................................................................................................................... 4
4.软件描述 ...................................................................................................................... 4
5.界面介绍 .............................................................................................................................. 4
6.程序源代码 ........................................................................................................................... 5
7.测试结果 ................................................................................................................................ 13
8.课程设计中存在的问题 ...................................................................................................... 15
9.在设计实践过程中的自我感受] ......................................................................................... 15
附录 .......................................................................................................................................... 17
2
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
学生成绩管理系统
实训报告
1. 应用程序的名称
学生成绩管理系统
2. 应用程序的主题和设计目的
主题:用于学生成绩管理和查询
设计目的:方便老师管理和查询学生成绩
3. 应用程序简介&应用程序的总体设计图(见需求规格说明书)
4. 需求规格说明书
1. 综合需求
1) 功能要求
使用的学生成绩管理系统,可以录入学生信息,按学号对学生信息进行
查询,并将学生信息按学号进行排序。
2) 性能要求
能够让前来查询的管理人员和学生能够在2秒钟内查到需要的正确的信
息,并且能够重复查询。
3) 运行要求
能在windows98以上的系统中运行。
4) 升级要求
暂无
2.数据要求
1)数据输入
可根据自己需要定义多个数据供查询,数据输入有学号(char10),姓名
(char20),英语成绩(float4),数学成绩(float4),计算机成绩(float4)。.
2)数据输出
输出到屏幕上。有学号(char10),姓名(char20),英语成绩(float4),数学成绩(float4),计算机成绩(float4),总成绩(float4),平均成绩(float4), 英语班级均分(float4),数学班级均分(float4),计算机班级均分(float4)。
3)数据存储
根据不同的电脑来配备,普通存储数据80G硬盘足够了。
4)数据备份
可以导入/导出到备用硬盘。
数据字典:
3
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
5) 数据筛选
按需筛选
6) 主要算法
For循环,while循环 冒泡法排序
3.界面要求
文本菜单界面
4.软件描述
1)功能描述
使用的学生成绩管理系统,可以录入学生信息,按学号对学生信息进行查询,并将学生信息按学号进行排序。
2)性能描述
相应时间控制在2秒以内,数据文件读取正确。
3)操作步骤
选择查询方式,输入查询要素,点击查询。
5. 界面介绍 系统初始化界面
录入界面
统计界面
4
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
6. 程序源代码
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
typedef struct STUDENT//定义一个名为STUDENT的结构体 {
char studentNumber[10];//学生学号
char studentName[20];//学生姓名
float mark1;//英语成绩
float mark2;//数学成绩
float mark3;//计算机成绩
struct STUDENT *next;//链表指针
}STUDENT;
int choose;//用于接受用户的选择
STUDENT *headLink;//链表HEAD指针
void CreateHeadLink();//声明函数以下雷同
void DesplayMenu();
STUDENT *MallocNode();
void GetInformation(STUDENT *t);
void OutputInformation();
void DesplayInfoBystudentNumber();
void DesplayOneNode(STUDENT *t);
void InsertOneNode(STUDENT *t);
void DeleteNodeBystudentNumber();
void CompositorBystudentNumber();
void CompositorMenu();
void CompositorBystudentClass();
5
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
void Exit();
//主函数
void main()
{
CreateHeadLink();//调用建立表头函数
DesplayMenu();//调用菜单显示函数
}
/*************************************
函数功能:显示菜单,根据用户的输入信息
来完成对应的功能
*************************************/
void DesplayMenu()
{
STUDENT *p;
printf("********************************************************************************");
printf(" 欢 迎 使 用 学 生 成 绩 管 理 系 统\n");
printf(" 1.排序 (按学号)\n");
printf(" 2.插入 (录入)\n");
printf(" 3.查找 (输入一个学生学号,输出其各科成绩)\n");
printf(" 4.删除 (从数组中按输入的学号删除该学生)\n");
printf(" 5.统计\n");
printf(" 6.退出\n");
printf("********************************************************************************");
printf(" 请输入序号进行操作: ");
scanf("%d",&choose);//从终端读入一个值进行菜单选择
getch();
system("cls");
switch(choose)
{
case 1:CompositorBystudentNumber();break;
case 2:
p=MallocNode();//让p指向新节点的首地址
GetInformation(p);//获取学生信息
InsertOneNode(p);break;//插入学生信息
case 3:DesplayInfoBystudentNumber();
break;
case 4:DeleteNodeBystudentNumber();break;
case 5:CompositorMenu();break;
6
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
case 6:Exit();break;
}
getch();
system("cls");
DesplayMenu();//递归调用菜单显示函数
}
/*************************************
函数功能:建立链表表头
*************************************/
void CreateHeadLink()
{
STUDENT *p;
p=(STUDENT*)malloc(sizeof(STUDENT));//在内存中开辟一个大小为sizeof(STUDENT)的空间并使p指向它的首地址
headLink=p;//令链表head指针指向p指针
p->next=NULL;//初始化链表
}
/*************************************
函数功能:申请一个新结点,并将其初始化
*************************************/
STUDENT *MallocNode()
{
STUDENT * p;//定义一个STUDENT变量
int i;
p=(STUDENT*)malloc(sizeof(STUDENT));//在内存中开辟一个大小为sizeof(STUDENT)的空间并使p指向它的首地址
if(p==NULL)//如果p指向的是空地址,那么返回一个空值
{
return NULL;
}
for(i=0;i<10;i++)//下面全是初始化
{
p->studentNumber[i]='\0';
}
for(i=0;i<10;i++)
{
p->studentName[i]='\0';
}
for(i=0;i<10;i++)
{
p->studentNumber[i]='\0';
}
p->mark1=0.0;
p->mark2=0.0;
7
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
p->mark3=0.0;
p->next=NULL;
return p;
}
/*************************************
函数功能:取得用户输入的学生信息
*************************************/
void GetInformation(STUDENT *t)
{
printf("********************************************************************************\n");
printf(" 请输入学生学号: ");
scanf("%s",t->studentNumber);
printf(" 请输入学生姓名: ");
scanf("%s",t->studentName);
printf(" 请输入学生英语成绩: ");
scanf("%f",&t->mark1);
printf(" 请输入学生数学成绩: ");
scanf("%f",&t->mark2);
printf(" 请输入学生计算机成绩: ");
scanf("%f",&t->mark3);
printf("\n 录入成功!按任意键返回上级。。。");
}
/*************************************
函数功能:在链表的结尾处增加一个节点
*************************************/
void InsertOneNode(STUDENT *t)
{
STUDENT *p;
p=headLink;
while(p->next)//当p不指向空地址时,就指向下一个地址
{
p=p->next;
}
p->next=t;//在最后一个空地址中插入学生的信息
}
/*************************************
函数功能:根据用户输入的学生学号显示该
学生信息
*************************************/
void DesplayInfoBystudentNumber()
{
STUDENT *p;
8
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
char studentNumber[10];
char flag=0;//这里作为一个判断变量,意在判断是否存在学号为用户输入值的学生
p=headLink->next;//初始化head指针
printf("请输入学生学号");
scanf("%s",studentNumber);//输入学生学号字符串
while(p)
{
if(strcmp(p->studentNumber,studentNumber)==0)//在链表中查找相同学号的学生,如果找到了则输出他们的信息
{
printf("学号\t姓名\t英语\t数学\t计算机\t总成绩\t平均成绩\n\n");
DesplayOneNode(p);
flag=1;
break;
}
p=p->next;
}
if(!flag)
{
printf("对不起,不存在学号为%s的学生\n",studentNumber); }
}
/*************************************
函数功能:输出一个节点的信息
*************************************/
void DesplayOneNode(STUDENT *t)
{
printf("%s\t",t->studentNumber);//输出该结构体对象的信息
printf("%s\t",t->studentName);
printf("%.0f\t",t->mark1);
printf("%.0f\t",t->mark2);
printf("%.0f\t",t->mark3);
printf("%.0f\t",t->mark1+t->mark2+t->mark3);
printf("%.0f\t\n",(t->mark1+t->mark2+t->mark3)/3.0);
}
/*************************************
函数功能:根据用户输入的学号删除该学生
*************************************/
void DeleteNodeBystudentNumber()
{
char studentNumber[10];
STUDENT *p,*q;
9
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
char flag=0;
printf("请输入要删除的学生学号: ");
scanf("%s",studentNumber);//输入学生学号字符串
p=headLink;
q=headLink->next;
while(q)//当q不指向空地址的时候,查找与用户输入的学号相一致的学生,并删除
{
if(strcmp(q->studentNumber,studentNumber)==0)//strcmp函数比较两个字符串是否相同
{
p->next=q->next;
free(q);//释放q指向地址的空间
flag=1;
break;
}
p=p->next;//把下一个人的地址补空,下同
q=q->next;
}
if(!flag)
{
printf("不存在该学号的学生\n");
return;
}
printf("成功删除\n");
}
/*************************************
函数功能:根据用户输入的学号排序
*************************************/
void CompositorBystudentNumber()
{
STUDENT exchange,*r,*p,*q;
r=headLink->next;
if(r==NULL)//当指针指向空地址时则认为没有学生信息
{
printf("\n\n现在还没有学生信息,请先输入学生信息\n");
return;
}
while(r)//用r,q构成循环,使用冒泡法进行排序,
{
p=r;
q=r->next;
while(q)
{
10
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
if(strcmp(q->studentNumber,p->studentNumber)<0)
{
strcpy(exchange.studentNumber,q->studentNumber); strcpy(exchange.studentName,q->studentName);
strcpy(q->studentNumber,p->studentNumber);
strcpy(q->studentName,p->studentName);
strcpy(p->studentNumber,exchange.studentNumber); strcpy(p->studentName,exchange.studentName);
exchange.mark1=q->mark1;
exchange.mark2=q->mark2;
exchange.mark3=q->mark3;
q->mark1=p->mark1;
q->mark2=p->mark2;
q->mark3=p->mark3;
p->mark1=exchange.mark1;
p->mark2=exchange.mark2;
p->mark3=exchange.mark3;
}
q=q->next;
}
r=r->next;
}
OutputInformation();
}
/*************************************
函数功能:输出信息
*************************************/
void OutputInformation()
{
STUDENT *p;
p=headLink->next;//使p指向headLink->next
if(p==NULL)//如果p指向空地址说明没有学生信息
{
printf("\n\n现在没有学生信息,请先输入学生信息\n\n");
}
printf("\n\n学号\t姓名\t英语\t数学\t计算机\t总成绩\t平均成绩 \n \n");
while(p)//当p指向地址存在则调用DesplayOneNode()函数进行输出操作 {
DesplayOneNode(p);
p=p->next;//指向下一名学生
}
}
/*************************************
11
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
函数功能:计算平均分的菜单
*************************************/
void CompositorMenu()
{
printf("\n\n1.输入学生的学号统计该生的总分及平均分\n\n");
printf("\n\n2.输入课程求该门课程的总平均分\n\n");
int c;
scanf("%d",&c);
if(c==1)
{
CompositorBystudentNumber();//调用CompositorBystudentNumber()函数
}
else if(c==2)
{
CompositorBystudentClass();//调用CompositorBystudentClass()函数
}
}
/*************************************
函数功能:根据用户输入的科目计算平均分
*************************************/
void CompositorBystudentClass()
{
float k=0;
STUDENT *q;
q=headLink->next;
if(q==NULL)//如果p指向空地址说明没有学生信息
{
printf("\n\n现在还没有学生信息,请先输入学生信息\n");
}
int i;
float s=0;
printf("\n\n请输入课程求该门课程的总平均分\n");
printf("\n1.英语\n");
printf("\n2.数学\n");
printf("\n3.计算机\n");
scanf("%d",&i);
if(i==1)
{
while(q)//把第一门课的所有人的成绩相加除以总人数,下面以此类推 {
k=k+q->mark1;
q=q->next;
12
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
s++;
}
printf("英语平均分:%f",k/s);
}
else if(i==2)
{
k=0;
s=0;
while(q)
{
k=k+q->mark2;
q=q->next;
s++;
}
printf("数学平均分:%f",k/s);
}
else if(i==3)
{
k=0;
s=0;
while(q)
{
k=k+q->mark3;
q=q->next;
s++;
}
printf("计算机平均分:%f",k/s);
}
}
void Exit()
{
printf("欢迎使用本系统,按任意键退出。。。"); getch();
exit(0);
}
7.测试结果
报错
先录入三个学生的信息
13
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
按学号排序并输出
按学号查询某学生信息
删除某学生信息
输出删除后的学生信息
调用统计功能,获得班级单科平均分
14
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
完成信息管理,选择6退出系统
测试结果显示程序各部分功能均得以完整实现,输入提示清晰,操作简单出错也有完整的提示(未录入学生信息),程序运行可按需重复使用,程序健壮性强
8. 课程设计中存在的问题
界面设计过于简单,不够美观,人性化。该程序只执行简单的录入,查找,删除,统计功能,并未对操作人员身份进行区分,存在一定安全问题。
9. 在设计实践过程中的自我感受]
这次程序设计加深了我对课堂讲授内容的理解,课堂上讲授的许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,然而程序设计的过程有要求使用c语言这个工具解决实际问题,必须要掌握。通过程序的编写,让我对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但编程中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机编程才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。
通过上机编程来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能
15
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。
这次程序设计还让我懂得程序调试的重要性,认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在,因此只有多多的练习才能提高调试能力。
16
1052400101 周谒真 C语言实训报告 电子信息科学与技术一班
附录 使用说明:
1.键盘输入1并回车,再按任意键进入排序功能,将看到所有学生按学号排序后的信息,确认后按任意键返回初始菜单
2.键盘输入2并回车,再按任意键进入录入功能,录入完成后按任意键返回初始菜单
3.键盘输入3并回车,再按任意键进入查找功能,按提示输入要查找的学生学号,输入后按回车,将看到该学生的各项信息,确认后按任意键返回初始菜单
4.键盘输入4并回车,再按任意键进入删除功能,按提示输入要删除的学生学号,输入后按回车,将看到“删除成功”的提示,确认后按任意键返回初始菜单
5.键盘输入5并回车,再按任意键进入统计功能,按提示可选择按序号输出的学生信息,或选择查看某科目的班级均分,确认后按任意键返回初始菜单
参考资料:
1.《软件工程案例教程》 韩万江 编著 机械工业出版社出版
2.《C语言程序设计教程》第3版 谭浩强 张基温 编著 高等教育出版社出版
17
电子信息科学与技术专业课程设计题单班级_***_学生***课程名称专业课程设计_课题密码锁的设计设计要求利用visualc#作为前…
《软件工程》实训报告专业:软件技术班级:软件081姓名:**学号:***指导老师:**实训时间:20XX-20XX年第二学期第20…
西安郵電學院数据库原理及应用设计报告题目:学生信息管理系统一.设计目的学生管理系统是高校管理工作中一项非常重要的组成部分。用户的需…
郑州大学实训报告实训名称学生成绩管理系统设计姓名院系软件学院专业班级学号指导教师成绩时间年2月日至年月31日目录实训任务书I实训进…
C程序设计课程设计报告设计题目学生成绩管理系统专业计算机科学与技术网络工程班级学号姓名指导老师日期20xx0531目录一设计任务与…
软件测试课程设计报告题目学生成绩管理系统院系计算机科学学院班级软件一班成员田欣1学生成绩管理系统测试报告正文1测试概述11测试目的…
福建师范大学人民武装学院C语言程序设计报告书设计名称学生成绩管理系统专业软件工程指导老师陈琳姓名黄强学号119xx20xx0262…
实训报告题目学生信息管理系统院系信息科技学院专业电子信息工程姓名殷浩学号1152100135指导教师杨呈永日期20xx年6月26日…
郑州大学实训报告实训名称学生成绩管理系统设计姓名院系软件学院专业班级学号指导教师成绩时间年2月日至年月31日目录实训任务书I实训进…
实训报告题目学生成绩管理系统院系信息科技学院专业电子信息科学与技术姓名周谒真学号1052400101指导教师王小琼日期20xx年7…
JAVA课内实验报告学生成绩管理系统一.实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一…