学生学分管理程序c语言代码学生成绩统计c语言代码.docx

上传人:b****3 文档编号:4803388 上传时间:2023-05-07 格式:DOCX 页数:26 大小:19.12KB
下载 相关 举报
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第1页
第1页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第2页
第2页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第3页
第3页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第4页
第4页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第5页
第5页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第6页
第6页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第7页
第7页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第8页
第8页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第9页
第9页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第10页
第10页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第11页
第11页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第12页
第12页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第13页
第13页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第14页
第14页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第15页
第15页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第16页
第16页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第17页
第17页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第18页
第18页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第19页
第19页 / 共26页
学生学分管理程序c语言代码学生成绩统计c语言代码.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生学分管理程序c语言代码学生成绩统计c语言代码.docx

《学生学分管理程序c语言代码学生成绩统计c语言代码.docx》由会员分享,可在线阅读,更多相关《学生学分管理程序c语言代码学生成绩统计c语言代码.docx(26页珍藏版)》请在冰点文库上搜索。

学生学分管理程序c语言代码学生成绩统计c语言代码.docx

学生学分管理程序c语言代码学生成绩统计c语言代码

程序设计基础实训

 

项目名称:

学生学分管理

 

系别:

计算机工程系

专业:

计算机网络技术

班级:

0922211

学生姓名:

指导教师:

韦立蓉

北京信息职业技术学院

2010年1月日

一、项目背景介绍

(概要介绍此项目设计的意义和要求)

本程序为学生学分管理系统。

本程序根据现实中的问题通过c语言形式编程。

本程序要求能够登记学分,显示学分查询学分,修改学分,删除学分,统计学分。

二、程序功能描述:

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

1、

登记单流程图

开始

输入数据

是否继续输入

退出

2、

显示学分流程图

I=1

输出

I=2

输出

I=3

输出

I=n

输出

3、

查询学分流程图

开始

按学号查询

按姓名查询

按姓名查询

是否继续查询

退出

输出数据

显示对不起没有该信息

是否找到

显示该信息

按学号查询

按姓名查询

按姓名查询

 

4、

修改信息流程图

开始

按学号修改

按姓名修改

按班级修改

是否继续修改

退出

重新输入数据

5、

删除信息流程图

开始

按学号删除

按姓名删除

按班级删除

是否继续删除

退出

6、

统计信息流程图

开始

计算出结果

是否继续统计

退出

需补考

专业课

需补考

选修课的

需补考

基础课的

需补考

人文课的

需补考

实验课的

统计能够

毕业的学生

 

三、设计方案介绍

(基本思想函数调用的思路介绍)

1、主流程图

学生学分管理

查询模块

显示模块

登记模块

修改模块

删除模块

统计模块

按学号查询

按学分查询

按班级查询

按姓名查询

按学号修改

按学分修改

按班级修改

按学号修改

按学分修改

按班级修改

姓名

班级

基础课学分

专业课学分

选修课学分

人文类课程学分

实验性课程学分

按学分统计

按班级统计

按学号统计

显示全部

2、界面设计

(界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题

函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题。

 

3、变量定义

序号

变量名

变量性质(局部/全局)

功能

作用范围

1

typedef

全局

定义结构体类型

整体

2

Int

全局

定义五门课类型

整体

...

Char

全局

定义学号班级姓名类型

整体

 

5、函数调用的类型

 

四、测试与分析

(简要介绍测试的作用及意义)

测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合现实。

通过测试和反复修改可以使程序更加人性化。

(一)测试列表

(以表格的形式给出,不少于10个)

测试数据或执行操作

执行结果

是否正确

测试人签名

调用主菜单

显示了主菜单

正确

选择主菜单里的1

请输入学生学生信息….

正确

输出

有重复有乱码

查询

修改

按学号修改…….

按学号查询

显示了该信息

按班级查询

只显示里一名同学的信息

按学好删除

删除成功

须补考基础课的

所有学生信息都显示

可升学学生

显示了该显示的信息

 

(二)测试结果分析

(根据以下表格,如实填写并签名)

bug个数

错误类型

错误原因分析

是否修改

设计者签名

1

与count声名中的类型不匹配

少了voidcount()

2

错误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();break;

case2:

print();break;

case3:

query();break;

case4:

modi();break;

case5:

del();break;

case6:

count();break;

default:

printf("选择无效!

");

}

}while(s!

=0);

getch();

}

voidmenu()

{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");

}

voidinput()

{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');

}

voidprint()

{inti;

printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i

printf("%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);

getch();

}

voidmenu1()

{clrscr();

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***0-退出***\n");

printf("\t\t\t*****************************\n");

}

voidquery1()

{charsn[11];

inti;

printf("请输入要查询的学号:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].num)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\按任意键继续");

break;

}

elseprintf("\n对不起!

没有该学号,任意键继续");

getch();

}

voidquery2()

{charsn[7];

inti;

printf("请输入要查询的姓名:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].name)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\按任意键继续");

break;

}elseprintf("\n对不起!

没有该姓名,任意键继续");

getch();

}

voidquery3()

{charsn[10];

inti;

printf("请输入要查询的班级:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].class)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\按任意键继续");

break;

}

elseprintf("\n对不起!

没有该班,任意键继续");

getch();

}

voidquery()

{ints;

do{

menu1();

printf("\n\t\t\t\t请选择:

");

scanf("%d",&s);

switch(s)

{case0:

break;

case1:

query1();break;

case2:

query2();break;

case3:

query3();break;

default:

printf("选择无效!

");

}

}while(s!

=0);

getch();

}

voidmenu2()

{clrscr();

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***0-退出***\n");

printf("\t\t\t*****************************\n");

}

voidmodi1()

{charsn[11];

inti;

printf("请输入要修改学分学生的学号:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].num)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

{printf("请输入学生学分信息:

学号姓名班级基础课专业课选修课人文课实验课\n");

scanf("%s%s%s%d%d%d%d%d",st[i].num,st[i].name,st[i].class,&st[i].jichu,&st[i].zhuanye,&st[i].xuanxiu,&st[i].renwen,&st[i].shiyan);

printf("是否继续输入?

(n-退出,任意键继续):

");

}while(getche()!

='n');

break;

}

getch();

}

voidmodi2()

{charsn[7];

inti;

printf("请输入要修改学分学生的姓名:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].name)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

{printf("请输入学生学分信息:

学号姓名班级基础课专业课选修课人文课实验课\n");

scanf("%s%s%s%d%d%d%d%d",st[i].num,st[i].name,st[i].class,&st[i].jichu,&st[i].zhuanye,&st[i].xuanxiu,&st[i].renwen,&st[i].shiyan);

printf("是否继续输入?

(n-退出,任意键继续):

");

}while(getche()!

='n');

break;

}

getch();

}

voidmodi3()

{charsn[10];

inti;

printf("请输入要修改学分学生的班级:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].class)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

{printf("请输入学生学分信息:

学号姓名班级基础课专业课选修课人文课实验课\n");

scanf("%s%s%s%d%d%d%d%d",st[i].num,st[i].name,st[i].class,&st[i].jichu,&st[i].zhuanye,&st[i].xuanxiu,&st[i].renwen,&st[i].shiyan);

printf("是否继续输入?

(n-退出,任意键继续):

");

}while(getche()!

='n');

break;

}

getch();

}

voidmodi()

{ints;

do{

menu2();

printf("\n\t\t\t\t请选择:

");

scanf("%d",&s);

switch(s)

{case0:

break;

case1:

modi1();break;

case2:

modi2();break;

case3:

modi3();break;

default:

printf("选择无效!

");

}

}while(s!

=0);

getch();

}

voidmenu3()

{clrscr();

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***0-退出***\n");

printf("\t\t\t*****************************\n");

}

voiddel1()

{charsn[11];

inti,j;

printf("请输入要删除学分学生的学号:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].num)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\n是否删除(任意键确认,n\取消)");

if(getche()!

='n');

{if(i!

=n-1);

for(j=i;j

st[j]=st[j+1];

n--;

printf("\n该记录已删除");

getch();

break;

}

}

elseprintf("\n对不起!

没有该学号,任意键继续");

}

voiddel2()

{charsn[7];

inti,j;

printf("请输入要删除学分学生的姓名:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].name)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\n是否删除(任意键确认,n\取消)");

if(getche()!

='n');

{if(i!

=n-1);

for(j=i;j

st[j]=st[j+1];

n--;

printf("\n该记录已删除");

getch();

break;

}

}

elseprintf("\n对不起!

没有该学号,任意键继续");

}

voiddel3()

{charsn[10];

inti,j;

printf("请输入要删除学分学生的班级:

");

scanf("%s",sn);

for(i=0;i

if(strcmp(sn,st[i].class)==0)

{printf("\n序号\t学号\t姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

printf("%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);

printf("\n是否删除(任意键确认,n\取消)");

if(getche()!

='n');

{if(i!

=n-1);

fo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2