结构体数组实现学生成绩管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北工业大学计算机软件技术基础(VC)2008年课程设计报告

学院:电气自动化学院班级:电气c071 姓名:刘翔学号:073806 成绩: _ _ 一、题目:

你选择的题目名称(编号是17号)

二、设计思路

1、总体设计

1)分析程序的功能

本程序的功能,就是实现对一个班学生的成绩管理。可按课程输入学生成绩,并可按学生或课程进行查询。

2)系统总体结构:设计程序的组成模块,简述各模块功能

本程序是完成一个班学生的成绩管理,为完成程序功能,至少要有两个这样的功能模块:

输入成绩

查询成绩

因为查询模块中又分为:

按学生查询

按课程查询

输入成绩:把学生个人成绩输入并储存。

查询成绩:在储存的成绩中查询所需的成绩。

按学生查询:以学生为列表查询某学生课程成绩。

按课程查询:以课程为列表查询某学生课程成绩。

2、各功能模块的设计:说明各功能模块的实现方法

输入成绩:先选择输入成绩的课程,用if实现课程选择,后输入成绩,储存在定义的二维数组中。

查询成绩:先选择按学生查询还是按课程查询,并选择所查询的课程与学生,输出相应的成绩,运用了结构体数组。

3、设计中的主要困难及解决方案

在这部分论述设计中遇到的主要困难及解决方案。

不会用结构体数组对成绩进行定义与调用,用二维数组代替并调用。对学生信息与课程信息定义中格式有错。

1)困难1

首先要解决信息的存储。要定义两个结构数组,分别存储学生信息和课程信息。学生信息包括学号和姓名,并且直接初始化;课程信息包括课程编号和课程名,也直接初始化。因为主要是成绩管理,程序主要完成成绩的输入和查询,所以学生和课程信息直接在程序中进行初始化就可以了。在数组中存储信息时,不仅要存储信息,还要为每个数组设置一个int变量,记录数组中实际存储了多少条信息。

2)困难2

存储信息的调用。

3)困难3

各个模块中函数的调用,循环。

4、你所设计的程序最终完成的功能

1)说明你编制的程序能完成的功能

输入学生的成绩,查询成绩。可按课程输入学生成绩,并可按学生或课程进行查询。

2)准备的测试数据及运行结果

66 67 68 69

55 56 57 58

三、程序清单

#include

void input();

void inquire();

void accordingtostudent();

void accordingtocourse();

int m[4][7],n[10],p=1;

struct student

{

int num;

char name[20];

}stu[4]={{51001,"Alice"},{51002,"John"},{52001,"Tom"},{52003,"Jim"}};

struct course

{

int num;

char name[16];

}cl[7]={{1,"计算机基础"},{2,"计算机软件"},{3,"单片机"},{4,"大学英语"},{5,"英语阅读"},{6,"高等数学"},{7,"数值分析"}};

void main()

{

int a;

for(int i=0;i<5;i++)

{

cout<<"欢迎使用学生成绩管理程序!"<

cout<<"1.输入学生成绩"<

cout<<"2.查询学生成绩"<

cout<<"0.退出"<

cout<<"请选择要紧进行操作"<

cin>>a;

if(a==1)

input();

if(a==2)

inquire();

if(a==0)

break;

}

cout<<"谢谢使用本系统"<

}

void input()

{

int b,s;

cout<<"课程信息如下"<

for(int i=0;i<7;i++)

cout<

cout<<"请选择课程(输入序号):";

cin>>b;

s=b-1;

n[p++]=b;

cout<<"请输入<<"<>课程成绩"<

for(int j=0;j<4;j++)

{

cout<

cin>>m[j][b];

cout<

}

}

void inquire()

{

int c;

cout<<"可进行查询操作为"<

cout<<"1.按学生查询成绩"<

cout<<"2.按课程查询成绩"<

cout<<"0.退出"<

cout<<"请选择要进行的操作:"<

cin>>c;

if(c==1)

accordingtostudent();

if(c==2)

accordingtocourse();

if(c==0)

cout<<"谢谢使用本系统"<

}

void accordingtostudent()

{

int d;

cout<<"学生信息如下"<

for(int i=0;i<4;i++)

cout<

cout<<"请选择学生(输入序号):";

cin>>d;

cout<<"查询"<

for(int j=1;j

{

cout<

}

}

void accordingtocourse()

{

int e;

cout<<"课程信息如下:"<

for(int i=0;i

cout<

cout<<"请选择课程(输入序号)"<

cin>>e;

cout<<"查询<<"<>课程的成绩如下"<

for(int j=0;j<4;j++)

cout<

}

四、对该设计题目有何更完善的方案

1、对自己完成程序进行自我评价。

能独立思考程序并完成程序编写与调试,不能很好的运用所学的知识解决程序中所

相关文档
最新文档