C语言课程设计-学生成绩管理系统_第1页
C语言课程设计-学生成绩管理系统_第2页
C语言课程设计-学生成绩管理系统_第3页
C语言课程设计-学生成绩管理系统_第4页
C语言课程设计-学生成绩管理系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C 语 言 课程设计报告标题:学生成绩管理系统 学号: 姓名: 年级专业:09电子信息工程指导老师: 完成日期:2010/6/28目 录一、 课题要求 二、 课题分析与设计三、 程序介绍四、 源程序代码与调试五、 设计NS图六、 心得与体会七、 参考书目一、课题要求有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:(1)主菜单学生成绩管理系统1、 成绩录入2、 成绩查询3、 成绩统计4、 成绩排名5、 退 出(2)各菜单项功能 成绩录入:输入学生的学号、姓名及三门课的成绩; 成绩查询: 查询不及格学生的记录。成绩统计:l

2、 计算学生的平均分;2 根据学生的平均分高低,对学生的数据进行排序后输出;(3)设计要求1、 用C语言实现系统;2、 利用结构体数组实现学生成绩统计管理的数据结构设计;3、 系统具有增加,查询,排序等基本功能;4、 系统的各个功能模块要求用函数的形式实现;二、课题分析与设计程序是数值计算型算法设计,设计出了学生成绩管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、计算等。这个学生成绩管理系统也初步实现了学生成绩信息的显示、删除、查找、添加、修改等必要的功能。三、程序介绍学生成绩管理系统

3、由8个函数组成,包括main函数、input函数、display函数、look函数、delete函数,其中change函数又包括一个sumandave子函数,paixu函数。 main函数主要是打印选择界面,选择并调用其他几个函数。input函数是输入学生信息函数(包括姓名、学号、性别、5门学科的成绩)。完成后调用display函数并返回界面选择。 display函数的功能是对输入学生的信息进行界面输出。完成后返回main函数进行下一个功能的选择。并返回界面选择。 look函数的功能是查找。按提示信息输入学号和姓名两种方式可实现查找。完成后调用display函数输出结果。并返回界面选择。 de

4、lete函数的功能是删除学生的信息,根据想删除的学号进行删除功能,删除的结果会显示在屏幕上。然后再调用display函数显示结果。并返回界面选择。 Change函数功能是实现学生成绩的修改,其中对于每个想修改的项目(学号、性别、名字、分数)都有是否修改的提示。选择并完成后再调用display函数输出修改后的结果。 Sumandave函数是计算每个学生成绩的总分、平均分。完成后调用display函数输出所求结果。并返回界面选择。 Paixu函数是将所有学生成绩的总分降序排列,再是调用display函数。并返回界面选择。 四、源程序代码与调试1.程序代码#include#include#inclu

5、destruct student char num10;char name20;char sex5;int grade5;float v;int sum;stu50;int k=0;void input();void display();void look();void change();void delete();void sumandave();void paixu();void main()int a; doprintf(nn *n);printf( *); printf(ttwelcome enter the student management system); printf(t*)

6、;printf(n *n);printf( *); printf(t 1.Access student information); printf(tttt*n);printf( *); printf(t 2.look student information); printf(tttt*n);printf( *); printf(t 3.Change student information); printf(tttt*n);printf( *); printf(t 4.delete student information);printf(tttt*n);printf( *); printf(t

7、5.By sum Sort student information and output); printf(tt*n);printf( *); printf(t 6. exit ); printf(tttttt*n);printf( *n);printf( Enter you choice : );scanf(%d,&a);switch(a)case 1:printf(n);input();break;case 2:printf(n);look();break;case 3:printf(n);change();break;case 4:printf(n);delete();break;cas

8、e 5:printf(n);paixu();break;case 6:printf(n);exit(0);break;default:printf(nThe choice is between 1 to 6.n);while(a!=0);void input() int j;char ch20;printf(nenter student information:n);do printf(nnum: );scanf(%s,stuk.num);printf(nname: );scanf(%s,);printf(nsex: );scanf(%s,stuk.sex);for(j=0;

9、j5;j+) printf(ngrade%d: ,j+1);scanf(%d,&stuk.gradej); k+;printf(nif want continue input student information(y/n): );scanf(%s,ch);while(strcmp(ch,y)=0|strcmp(ch,Y)=0);sumandave();display();void display() int i;printf( the student information is:n);for(i=0;ik;i+) printf(%-10s %-10s %-5s %2d %2d %2d %2

10、d %2d%5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v);printf(n); void sumandave() int i,j;for(i=0;ik;i+) stui.sum=0;for(j=0;j5;j+)stui.sum=stui.sum+stui.gradej ;stui.v=stui.sum/5.0; void look() int i;char a20;printf(nenter you want loo

11、k student num:);scanf(%s,a);for(i=0;ik;i+)if(strcmp(stui.num,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v);printf(nenter you want look student name:);scanf(%s,a);for(i=0;ik;i+)if(str

12、cmp(,a)=0) printf(%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5fn,stui.num,,stui.sex,stui.grade0,stui.grade1,stui.grade2,stui.grade3,stui.grade4,stui.sum,stui.v);display(); void change() int i,j; char a20,ch10; printf(nenter you want change student num:); scanf(%s,a); for(i=0;ik;i+)i

13、f(strcmp(stui.num,a)=0) printf(nyou sure want change student num(y/n): );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nnum:); scanf(%s,stui.num);printf(nyou sure want change student name(y/n): );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nname:); scanf(%s,);printf(nyou s

14、ure want change student sex(y/n): );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nsex:); scanf(%s,stui.sex);printf(nyou sure want change student grade(y/n): );scanf(%s,ch);if(strcmp(ch,y)=0|strcmp(ch,Y)=0) for(j=0;j5;j+) printf(ngrade%d: ,j+1); scanf(%d,&stui.gradej);stui.sum=0;for(j=0;j5;j

15、+)stui.sum=stui.sum+stui.gradej ;stui.v=stui.sum/5.0;display();void delete() int i,j; char ch10,c20; printf(nyou sure want delete student information(y/n): ); scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nenter you want delete num: n); printf(num:); scanf(%s,&c); for(i=0;ik;i+) if(strcmp(c

16、,stui.num)=0) break; for(j=i;j=2;j+)stuj=stuj+1;printf(tttyou had delete %sn,c);k-; display();void paixu() struct student T;int i,j;for(i=0;ik-1;i+)for(j=i+1;jk;j+)if(stui.sumstuj.sum)T=stui;stui=stuj;stuj=T; display();2.程序调试 以下是程序运行时主要部分截屏图 主菜单界面(1-6选项分别对应6个功能) 进行学生信息输入 查找学生信息(两种方式) 修改学生信息(每步都有是否确定

17、修改) 按平均分进行排序删除学生信息(显示删除后结果)五、程序设计NS图1. 学生信息的输入 Main函数调用input函数()For(i=0;i5;i+)依次输入学生5门课成绩输入多个学生信息(学号、姓名、性别)完成后返回display()函数输出结果2.学生信息的输出调用display函数()For(i=0;i5;i+)输出学生信息(学号、姓名、性别、成绩、总分、平均分) 2. 学生成绩的求和与排序调用sumandave()函数For(i=0;ik;i+) for(j=0;j5;j+)累计学生5门课成绩并求平均完成后返回display()函数输出结果4.查找学生信息 调用look()函数按

18、学号查找 按姓名查找 for(i=0;ik;i+)比较字符串if(strcmp(stui.num,a)=0)if(strcmp(,a)=0)输出所查学生信息调用change()函数 输入需要修改的学生学号 For(i=0;ik;i+)if(strcmp(stui.num,a)=0)输入想修改的学号、姓名、性别、分数、并在每步修改之前确认修改,并输入相应信息。完成后调用display()函数输出修改结果5.修改学生信息6.删除学生信息 调用delete()函数 确认修改比较字符串scanf(%s,ch); if(strcmp(ch,y)=0|strcmp(ch,Y)=0) 输入需要删除的学生学号For(i=0;ik;i+)if(strcmp(c,stui.num)=0) break; for(j=i;j=2;j+)stuj=stuj+1; /*以后一个学生信息取代前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论