结构体数组实现学生成绩管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、对自己完成程序进行自我评价。 能独立思考程序并完成程序编写与调试,不能很好的运用所学的知识解决程序中所