C语言程序设计-学生成绩管理系统设计.doc

上传人:飞****9 文档编号:137928258 上传时间:2020-07-12 格式:DOC 页数:25 大小:198.50KB
返回 下载 相关 举报
C语言程序设计-学生成绩管理系统设计.doc_第1页
第1页 / 共25页
C语言程序设计-学生成绩管理系统设计.doc_第2页
第2页 / 共25页
C语言程序设计-学生成绩管理系统设计.doc_第3页
第3页 / 共25页
C语言程序设计-学生成绩管理系统设计.doc_第4页
第4页 / 共25页
C语言程序设计-学生成绩管理系统设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《C语言程序设计-学生成绩管理系统设计.doc》由会员分享,可在线阅读,更多相关《C语言程序设计-学生成绩管理系统设计.doc(25页珍藏版)》请在金锄头文库上搜索。

1、分数:97课 程 设 计 成 果 报 告题 目: 学生成绩管理系统设计课 程: 程序设计基础目录1 设计目的12 设计任务内容13 系统总体设计24 系统详细设计24.1 输入学生信息24.2 输出学生信息34.3 删除学生信息44.4 查询学生信息54.4.1 根据姓名查询54.4.2 根据学号查询64.5 插入学生信息74.6学生信息排序94.7 主函数105 调试与测试116 课程设计心得与体会147 参考文献158 附录151 设计目的本课程设计是信息管理与信息系统专业重要的实践性环节之一,是在学生学习完程序设计基础课程后进行的一次全面的综合练习。本课程设计的目的和任务:1、巩固和加深

2、学生对C语言课程的基本知识的理解和掌握;2、掌握C语言编程和程序调试的基本技能;3、利用C语言进行基本的软件设计;4、掌握书写程序设计说明文档的能力;5、提高运用C语言解决实际问题的能力。2 设计任务内容学生成绩管理系统设计学生成绩相关信息包括:学号、姓名、班级、数学成绩、英语成绩、计算机成绩等(学号唯一),总成绩。系统要求实现如下功能:1)系统功能以菜单方式工作;2)数据的添加:从键盘输入数据存放到结构体数组中;3)数据的插入:从指定位置插入一条记录;4)数据的输出:在屏幕上显示出所添加的数据;5)数据的删除:从指定位置删除一条记录;6)数据的查找,通常以两种方式进行查找,如姓名、记录号(或

3、学号、职工号等);7)数据的排序;8)退出系统。以上每个内容需要通过单独的函数来实现,数据以结构体数组的形式组织。3 系统总体设计学生成绩管理系统输入学生信息输出学生信息查询学生信息根据姓名查询根据学号查询删除学生信息插入学生信息学生信息排序4 系统详细设计本系统用来储存多名学生的信息,并对信息进行相关的处理,使用结构体实现相关功能。结构体代码如下:typedef struct /为结构体起别名stuN,简化程序。char no20; /定义no为char型数据,且长度有20列。char name20;char Class20;int math,english,computer,all; /定

4、义结构体中的所有元素。Student;Student stuN;相关函数:结构体函数、main(主函数)、Input(输入函数)、Output(输出函数)、Findname(按姓名查询函数)、Findno(按学号查询函数)、Delete(删除函数)、Insert(插入函数)、Rank(排序函数)、exit(退出函数)4.1 输入学生信息输入学生信息就是对定义的结构体中的成员进行赋值。其中,用户需要输入的是学号、姓名、班级、数学成绩、英语成绩、计算机成绩,以及是否继续的指令,总成绩由求和函数实现。代码如下:void Input() /用户自定义Input函数,实现数据的输入功能。char k,x

5、20;while(k!=n&k!=N) /当输入的不是N或者n时,执行该循环。printf(输入学生学号:);scanf(%s,stun.no);printf(输入学生姓名:);scanf(%s,stun.name);printf(输入学生班级:);scanf(%s,stun.Class);printf(输入学生的数学成绩:);scanf(%d,&stun.math);printf(输入学生的英语成绩:);scanf(%d,&stun.english);printf(输入学生的计算机成绩:);scanf(%d,&puter);stun.all=stun.math+stun.english+pu

6、ter; /输入学生的各项信息,并赋值到结构体中。gets(x); /清除多余的输入内容。printf(输入下一个?(Y/N)n);scanf(%c,&k);n+;/执行完一次循环后,将全局变量n(成员数)自增1。 4.2 输出学生信息输出学生信息就是将结构体中所有成员的各个元素的值显示在屏幕上,使用%-10d或者%-10s格式(左对齐,每个数据占10列)可将数据用表列形式输出,使用循环语句将i个成员信息全部输出。代码如下:void Output() /用户自定义Output函数,实现数据的输出功能。int i;printf(-n);printf(学号 姓名 班级 数学 英语 计算机 总成绩n

7、);printf(-n);for(i=0;in;i+)printf(%-10s%-10s%-10s%-10d%-10d%-10d%-10dn,stui.no,stui.name,stui.Class,stui.math,stui.english,puter,stui.all);printf(-n); /使用for循环语句,输出结构体中所有成员信息。4.3 删除学生信息删除学生信息就是将第i+1个成员的每个元素赋值到要删除的第i个成员的相应元素的位置上,再输出结构体中的前i个成员信息,使用循环结构依次执行到第n个成员,实现对第i个成员的删除。代码如下:void Delete() /用户自定义Ou

8、tput函数,实现数据的输入功能。char x20; /输入要删除的学生姓名,char型数据占20列。int j,i=0;printf(输入要删除的学生姓名:);scanf(%s,x); while(strcmp(stui.name,x)!=0&in)i+; /比较输入的x数据与结构体中name元素,若不相同,i自增1。if(i=n)printf(未找到相关学生信息!n); /若i与n值相同,说明无此数据,输出“未找到学生信息!”。for(j=i;jn-1;j+)strcpy(stuj.no,stuj+1.no);strcpy(stuj.name,stuj+1.name);strcpy(stu

9、j.Class,stuj+1.Class); /将stuj+1中的内容复制到stuj中。stuj.math=stuj+1.math;stuj.english=stuj+1.english;puter=stuj+puter;stuj.all=stuj+1.all; /将结构体中的元素赋值给前一元素。n-; /数据删除后,全局变量n值(成员数)自减1。printf(该学生信息已删除!n);4.4 查询学生信息4.4.1 根据姓名查询按照学生姓名查找学生信息,要求用户输入学生的姓名,再与结构体中的数据进行一一比对,输出结构体中与该数据相同的成员的所有信息,从而实现查找功能。代码如下:void Fin

10、dname() /用户自定义函数,实现对指定数据的查找功能。char s20; /定义用户输入的学生姓名数据为char型,占20列。int i=0;printf(请输入要查询的学生姓名:);scanf(%s,s);while(strcmp(stui.name,s)!=0&in)i+; /当输入的姓名与当前姓名不相同时,i自增1,比较下一个成员。if(i=n)printf(未找到相关学生信息!n);printf(-n);printf(学号 姓名 班级 数学 英语 计算机 总成绩 n);printf(-n);printf(%-10s%-10s%-10s%-10d%-10d%-10d%-10dn,s

11、tui.no,stui.name,stui.Class,stui.math,stui.english,puter,stui.all);printf(-n); /以表列的形式输出查找到的成员的相关信息。4.4.2 根据学号查询按照学生学号查找学生信息,要求用户输入学生的学号,再与结构体中的数据进行一一比对,输出结构体中与该数据相同的成员的所有信息,从而实现查找功能。代码如下:void Findno() /用户自定义函数,实现对指定数据的查找功能。char s20; /定义用户输入的学生学号数据为char型,占20列。int i=0;printf(请输入要查询的学生学号:); scanf(%s,s);while(strcmp(stui.no,s)!=0&in)i+; /当输入的学号与当前学号不相同时,i自增1,比较下一个成员。if(i=n) printf(未找到相关学生信息!n);printf(-n);printf(学号 姓名 班级 数学 英语 计算机 总成绩 n);printf(-n);printf(%-10s%-10s%-10s%-10d%-10d%-10d%-10dn,stui.no,stui.name,stui.Class,stui.mat

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号