学生学分管理程序c语言代码Word格式.docx
- 文档编号:20093984
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:22
- 大小:167.53KB
学生学分管理程序c语言代码Word格式.docx
《学生学分管理程序c语言代码Word格式.docx》由会员分享,可在线阅读,更多相关《学生学分管理程序c语言代码Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
6、
统计信息流程图
三、设计方案介绍
(基本思想函数调用的思路介绍)
1、主流程图
2、界面设计
(界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题
函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题。
3、变量定义
序号
变量名
变量性质(局部/全局)
功能
作用范围
1
typedef
全局
定义结构体类型
整体
2
Int
定义五门课类型
...
Char
定义学号班级姓名类型
5、函数调用的类型
四、测试与分析
(简要介绍测试的作用及意义)
测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合现实。
通过测试和反复修改可以使程序更加人性化。
(一)测试列表
(以表格的形式给出,不少于10个)
测试数据或执行操作
执行结果
是否正确
测试人签名
调用主菜单
显示了主菜单
正确
选择主菜单里的1
请输入学生学生信息….
输出
有重复有乱码
否
查询
无
修改
按学号修改…….
是
按学号查询
显示了该信息
按班级查询
只显示里一名同学的信息
按学好删除
删除成功
须补考基础课的
所有学生信息都显示
可升学学生
显示了该显示的信息
(二)测试结果分析
(根据以下表格,如实填写并签名)
bug个数
错误类型
错误原因分析
是否修改
设计者签名
与count声名中的类型不匹配
少了voidcount()
错误jia.c19:
表达式语法错在main函数中
Scanf中少了&
s
4
错误jia.c31:
do语句中必须有while关键字在main函数中
没写while
5
错误jia.c30:
未定义的符号'
s'
在main函数中
上面没intI;
6
错误1.c335:
表达式语法错在count函数中
Switch()括号里没有变量
7
五、实训总结
(总结实训过程中的所使用的知识和已实现的功能,总结自己掌握理论知识和动手能力的程度,提出自己的不足之处及改进措施)
通过这一周的实训。
我们充分运用了所学的东西编出了解决实际问题的程序。
我们运用了函数的调用,循环,定义,比较,查找,删除等知识。
通过实际动手,我更加深入的了解了课本上的知识。
同时提高了我的动手能力。
实训中我找到了我许多的不足,以前我遇到不董的就会直接去问别人,不独自思考。
试训中我学会了独自思考和团队合作。
虽然我在编程当中遇到许多问题,但经过独自思考和学习解决了问题。
最后编出了管理程序。
C语言学生学分管理程序代码
typedefstructstudent
{charnum[11],name[7],class[10];
intjichu,renwen,xuanxiu,zhuanye,shiyan;
}STU;
STUst[37];
staticintn;
voidmenu();
voidinput();
voidprint();
voidquery();
voidmodi();
voiddel();
voidcount();
main()
{ints;
do{
menu();
printf("
\n\t\t\t\t请选择:
"
);
scanf("
%d"
&
s);
switch(s)
{case0:
break;
case1:
input();
case2:
print();
case3:
query();
case4:
modi();
case5:
del();
case6:
count();
default:
printf("
选择无效!
}
}while(s!
=0);
getch();
}
voidmenu()
{clrscr();
\t\t\t****************************\n"
\t\t\t********欢迎您的使用********\n"
\t\t\t******学生学分管理程序******\n"
\t\t\t***1-登记学生学分***\n"
\t\t\t***2-显示学生学分***\n"
\t\t\t***3-查询学生学分***\n"
\t\t\t***4-修改学生学分***\n"
\t\t\t***5-删除学生学分***\n"
\t\t\t***6-统计学生学分***\n"
\t\t\t***0-退出***\n"
voidinput()
{do
{printf("
请输入学生信息:
学号姓名班级基础课专业课选修课人文课实验课\n"
%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++;
是否继续输入?
(n-退出,任意键继续):
}while(getche()!
='
n'
voidprint()
{inti;
\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n"
for(i=0;
i<
n;
i++)
%2d%7s%7s%5s%4d\t%4d\t%4d\t%4d\t%4d\n"
i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);
voidmenu1()
\t\t\t*****************************\n"
\t\t\t***********查询模块**********\n"
\t\t\t***1-按学号查询***\n"
\t\t\t***2-按姓名查询***\n"
\t\t\t***3-按班级查询***\n"
voidquery1()
{charsn[11];
inti;
请输入要查询的学号:
%s"
sn);
if(strcmp(sn,st[i].num)==0)
{printf("
\按任意键继续"
break;
elseprintf("
\n对不起!
没有该学号,任意键继续"
voidquery2()
{charsn[7];
请输入要查询的姓名:
if(strcmp(sn,st[i].name)==0)
}elseprintf("
没有该姓名,任意键继续"
voidquery3()
{charsn[10];
请输入要查询的班级:
if(strcmp(sn,st[i].class)==0)
没有该班,任意键继续"
voidquery()
menu1();
query1();
query2();
query3();
voidmenu2()
\t\t\t***********修改模块**********\n"
\t\t\t***1-按学号修改***\n"
\t\t\t***2-按姓名修改***\n"
\t\t\t***3-按班级修改***\n"
voidmodi1()
请输入要修改学分学生的学号:
请输入学生学分信息:
st[i].num,st[i].name,st[i].class,&
st[i].jichu,&
st[i].zhuanye,&
st[i].xuanxiu,&
st[i].renwen,&
st[i].shiyan);
voidmodi2()
请输入要修改学分学生的姓名:
voidmodi3()
请输入要修改学分学生的班级:
}while(getche()!
voidmodi()
menu2();
modi1();
modi2();
modi3();
voidmenu3()
\t\t\t***********删除模块**********\n"
\t\t\t***1-按学号删除***\n"
\t\t\t***2-按姓名删除***\n"
\t\t\t***3-按班级删除***\n"
voiddel1()
inti,j;
请输入要删除学分学生的学号:
\n是否删除(任意键确认,n\取消)"
if(getche()!
{if(i!
=n-1);
for(j=i;
j<
n-1;
j++)
st[j]=st[j+1];
n--;
\n该记录已删除"
break;
voiddel2()
请输入要删除学分学生的姓名:
voiddel3()
请输入要删除学分学生的班级:
voiddel()
menu3();
del1();
del2();
del3();
voidmenu4()
\t\t\t***********统计模块**********\n"
\t\t\t***1-可升学的学生***\n"
\t\t\t***2-需补考基础课的***\n"
\t\t\t***3-需补考专业课的***\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学分 管理程序 语言 代码