C语言-学生成绩管理(整理)_第1页
C语言-学生成绩管理(整理)_第2页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

5、。char name20。char grade5。float 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 managementsystem)。printf(t*)。printf(n*printf(t 1.Access stud

6、ent information)oprintf(t 2.look student information)oprintf(t 3.Change student information)oprintf(t 4.delete student information)oprintf(t 5.By sum Sort student informationprintf(tt*n)printf(t 6. exit ) printf(tttttt*n) printf(*n)。printf( Enter you choice : ) scanf(%d,&a)。switch(a)case 1:print

7、f(n)。input()。break。case 2:printf(n)。look()。break。case 3:printf(n)。change()。break。case 4:printf(n)。delete()。break。case 5:printf(n)。paixu()。break。case 6:printf(n)。exit(0)。break。*n) printf(*)。printf(tttt*n)printf( *)。printf(tttt*n)printf( *)。printf(tttt*n)printf( *)。printf(tttt*n)printf( *) andoutput)

8、printf(*)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。j5。j+) printf(ngrade%d: ,j+1)。scanf(%d,&stuk.gr

9、adej)。 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 %2d %2d%5d %5fn,stui.num,,stui.sex,stui.

10、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 look student num:)。scanf(%s,a)。for(i=0。ik。i+)if(strcm

11、p(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(strcmp(,a)=0) printf(%-10s %-10s %-5s %2d %2

12、d %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+)if(strcmp(stui.num,a)=0) printf(nyou sure want change st

13、udent num(y/n): ) scanf(%s,ch)。if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nnum:)。scanf(%s,stui.num)。 printf(nyou sure wantchange student name(y/n): ) scanf(%s,ch)。if(strcmp(ch,y)=0|strcmp(ch,Y)=0) printf(nname:)。scanf(%s,)。printf(nyou sure want change student sex(y/n): ) scanf(%s,ch)。if(strcm

14、p(ch,y)=0|strcmp(ch,Y)=0) printf(nsex:)。scanf(%s,stui.sex)。 printf(nyou sure wantchange 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+)stui.sum=stui.sum+stui.gradej。stui.v=stui.sum/5.0。di

15、splay()。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,stui.num)=0) break。for(j=i。j=2。j+)stuj=stuj+1。printf(tttyou

16、 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个功能)进行学生信息输入查找学生信息(两种方式)修改学生信息(每步都有是否确定修改)按平均分进行排序删除学生信息(显示删除后结果)五、程序设计NS图1.学生信息的输入Main 函数调用 input 函数()For

17、 (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 ()函数按学号查找按姓名查找for(i=0。ik。i+)比较字符串if(strcmp(stui.

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

温馨提示

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

评论

0/150

提交评论