三九宝宝网宝宝教育写作范文

c语言课程设计学分管理程序

01月07日 编辑 39baobao.com

程序设计基础实训项目名称:学生学分管理系 别: 计算机工程系 专 业: 计算机网络技术 班 级: 0922211 学生姓名: 指导教师: 韦立蓉北 京 信 息 职 业 技 术 学 院 2010年 1 月 日

一、项目背景介绍(概要介绍此项目设计的意义和要求) 本程序为学生学分管理系统。本程序根据现实中的问题通过c语言形式编程。本程序要求能够登记学分,显示学分查询学分,修改学分,删除学分,统计学分。

二、程序功能描述:(描述基本程序中每个函数的功能,给处各函数流程图)

1、登记单流程图

2、显示学分流程图

3、查询学分流程图

4、修改信息流程图

5、删除信息流程图

6、统计信息流程图

三、设计方案介绍 (基本思想函数调用的思路介绍)

1、主流程图

2、界面设计 (界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题 函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题。

3、变量定义序号 变量名 变量性质(局部/全局) 功能 作用范围1 typedef 全局 定义结构体类型 整体2 Int 全局 定义五门课类型 整体... Char 全局 定义学号班级姓名类型 整体

5、函数调用的类型

四、测试与分析 (简要介绍测试的作用及意义)测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合现实。通过测试和反复修改可以使程序更加人性化。

(一)测试列表 (以表格的形式给出,不少于10个)测试数据或执行操作 执行结果 是否正确 测试人签名调用主菜单 显示了主菜单 正确 选择主菜单里的1 请输入学生学生信息…. 正确 输出 有重复有乱码 否 查询 无 否 修改 按学号修改……. 是 按学号查询 显示了该信息 是 按班级查询 只显示里一名同学的信息 否 按学好删除 删除成功 是 须补考基础课的 所有学生信息都显示 否 可升学学生 显示了该显示的信息 是

(二)测试结果分析(根据以下表格,如实填写并签名)bug个数 错误类型 错误原因分析 是否修改 设计者签名1 与count声名中的类型不匹配 少了void count() 是 2 错误 jia.c 19: 表达式语法错在 main 函数中 Scanf中少了&s 是 4 错误 jia.c 31: do语句中必须有while关键字在 main 函数中 没写while 是 5 错误 jia.c 30: 未定义的符号's'在 main 函数中 上面没int I; 是 6 错误 1.c 335: 表达式语法错在 count 函数中 Switch() 括号里没有变量 是 7

五、实训总结 (总结实训过程中的所使用的知识和已实现的功能,总结自己掌握理论知识和动手能力的程度,提出自己的不足之处及改进措施)通过这一周的实训。我们充分运用了所学的东西编出了解决实际问题的程序。我们运用了函数的调用,循环,定义,比较,查找,删除等知识。通过实际动手,我更加深入的了解了课本上的知识。同时提高了我的动手能力。 实训中我找到了我许多的不足,以前我遇到不董的就会直接去问别人,不独自思考。试训中我学会了独自思考和团队合作。虽然我在编程当中遇到许多问题,但经过独自思考和学习解决了问题。最后编出了管理程序。 C语言学生学分管理程序代码typedef struct student { char num[11],name[7],class[10]; int jichu,renwen,xuanxiu,zhuanye,shiyan; }STU; STU st[37]; static int n; void menu(); void input(); void print(); void query(); void modi(); void del(); void count(); main() { int s; do{ menu(); printf("\n\t\t\t\t 请选择:"); scanf("%d",&s); switch(s) { case 0:break; case 1:input();break; case 2:print();break; case 3:query();break; case 4:modi();break; case 5:del();break; case 6:count();break; default:printf("选择无效!"); } }while(s!=0); getch(); } void menu() { clrscr(); printf("\t\t\t****************************\n"); printf("\t\t\t********欢迎您的使用********\n"); printf("\t\t\t******学生学分管理程序******\n"); printf("\t\t\t*** 1-登记学生学分 ***\n"); printf("\t\t\t*** 2-显示学生学分 ***\n"); printf("\t\t\t*** 3-查询学生学分 ***\n"); printf("\t\t\t*** 4-修改学生学分 ***\n"); printf("\t\t\t*** 5-删除学生学分 ***\n"); printf("\t\t\t*** 6-统计学生学分 ***\n"); printf("\t\t\t*** 0-退出 ***\n"); printf("\t\t\t****************************\n"); } void input() { do { printf("请输入学生信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n"); scanf("%s%s%s%d%d%d%d%d",st[n].num,st[n].name,st[n].class,&st[n].jichu,&st[n].zhuanye,&st[n].xuanxiu,&st[n].renwen,&st[n].shiyan); n++; printf("是否继续输入?(n-退出,任意键继续):"); }while(getche()!='n'); } void print() { int i; printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n"); for(i=0;i

推荐阅读
图文推荐