c语言学生信息管理系统课程设计_第1页
c语言学生信息管理系统课程设计_第2页
c语言学生信息管理系统课程设计_第3页
免费预览已结束,剩余8页可下载查看

下载本文档

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

文档简介

1、学生课程设计报告课程设计题目: 学 生 信 息 管 理 系 统课程设计内容通过一个系统窗口,选择要执行的功能:(1) 成绩的录入,依次输入学生的个数,学号,姓名三 门成绩;( 2) 成绩的查询(学号或姓名);( 3) 成绩统计 (平均成绩 );(4) 成绩按平均分排名;( 5) 任意键退出技术路线利用 C 语言编写程序,构造结构体,构造及调用函数实现这些功能。三、设计和实现/*头文件 */#include <stdio.h>#include <string.h>#include <stdlib.h>/*常量 */#define MENU_NUM 7#defi

2、ne N 3#define MAX 100/记录的最大数量/*结构体 */struct studentcharno10 ;/*学号由 10个字符组成 */charname15 ;/*学生姓名 */floatscoreN ;/*各门课成绩 */float sum ;/*总分 */float average ;/*平均分 */;全局变量 *记录学生总人数/ 记录学生信息int count ; / struct student studMAX;/*函数声明 *int cmp(const void * a , const void * b ); /void input();/void output()

3、;/void PrintMenu();/void computer();/void find();void sort();输入学生信息输出学生信息显示菜单计算学生成绩/ 根据学号或姓名查询成绩/ 成绩排名排序规则主函数 *void main()int choose ; count = 0;while(1)PrintMenu();scanf("%d",&choose);switch(choose)case 1 :input(); /break ;case 2 :find(); /break ;case 3 :computer(); /break ;case 4 :/

4、sort(); /输入成绩查询成绩统计成绩按成绩排序,按名次输出成绩调用库函数中的qsort(stud,count,sizeof(struct student),cmp); /排序方法output(); break ;case 5 :exit(0); printf("nn");排序规则 *int cmp(const void * a , const void * b )struct student *aa = (struct student *)a ;struct student *bb = (struct student *)b ;if( aa->sum != bb

5、->sum ) return aa->sum < bb->sum ? 1 : -1;else if(aa->score0 != bb->score0)return aa->score0 < bb->score0 ? 1 : -1; return aa->score2 < bb->score2 ? 1 : -1;return 0 ;/* 函 数 名: PrintMenu* 描述:显示操作菜单* 入口参数:无* 出口参数:无* void PrintMenu()printf("n");printf("

6、;|学生成绩管理系统|n");printf("|1成绩录入 |n");printf("|2成绩查询 ( 学号或姓名 )|n")printf("|3成绩统计 ( 平均成绩 )|n");printf("|4成绩排名 |n");printf("|5任意键退出 |n");printf("-");printf("n");printf("n");printf("请输入您要进行的操作: ");/* 函 数 名: inpu

7、t* 入口参数:无* 出口参数:无*void input()int n,i ;float temp ;printf(" 请输入要录入的学生的人数: ");scanf("%d",&n);for(i=0;i<n;i+)printf(" 输入第 %d 个学生信息 n",i+1);printf(" 学号: ");scanf("%s",studcount+i.no);printf(" 姓名: "); scanf("%s",studcount+i.nam

8、e);printf(" 成绩 1 : ");scanf("%f",&studcount+i.score0);printf(" 成绩 2:");scanf("%f",&studcount+i.score1);printf(" 成绩 3:");scanf("%f",&studcount+i.score2);count += n ;/* 函 数 名: find* 描 述:根据学号或姓名查询成绩* 入口参数:无* 出口参数:无*void find()int i

9、 ;char ch15;printf(" 请输入学号或姓名: ");scanf("%s",ch);printf("n");printf("|学号| 姓名|成绩1|成绩2|成绩引总分|平均分|n");for(i=0;i<count;i+)if( !strcmp(ch,studi.no) | !strcmp(ch,) ) i.score2,studi.sum,studi.average); printf("n");return ;printf(" 没有找到该学生的

10、信息 !n"); printf("n"); /* *函 数 名: computer* 描述:计算学生总成绩和平均成绩* 入口参数:无* 出口参数:无 */ void computer()int i ;for(i = 0 ; i < count ; i + ) studi.sum = studi.score0 +studi.score1 +studi.score2 ; studi.average = (studi.score0 +studi.score1 +studi.score2)/N;output(); /* *函 数 名: output* 描述:输出学生

11、所有信息* 入口参数:无* 出口参数:无*void output()int i ;printf("n");printf("|学号| 姓名|成绩1|成绩2|成绩引总分|平均分|n");studi.no,,studi.score0,studi.score1,studi.score2,studi.sum,studi.average);printf("n");/*函 数 名: sort* 描述:排序* 入口参数:无* 出口参数:无*/void sort()for(i = 0 ; i < count-1 ; i +)s

12、tudi.sum = studi.score0 + studi.score1 + studi.score2 ; studi.average = (studi.score0 + studi.score1 + studi.score2)/3; k = i ;for(j = i + 1 ; j < count ; j +)if(studk.sum < studj.sum) k = j ;if(k != i)temp = studi;studi = studk;studk = temp;printf("学生成绩排名 n");printf("按名次n"

13、);output();四、测试结果(2) I I I I _ - -> 一充名> 一物姓绩 -里 豆尺 _ 一詐I 一绩肾出 一成入询计名退一 一生录查统翟 一学绩绩绩書一 一 成成成成任一* -一 1 2 3 4 5 _ - - - 一 :_11H81PB1h|i11:学号;姓名;成绩1;成绩2喊绩3;总分 呼均分;1201201:lidannins: 90.0: 89.3; 805:0叭6.0:学生威绩菅埋系统 成绩茎入 成绩舍询 成绩统计t2345A= 3氧lai4入入簣-号名绩绩契号名绩绩贾号名绩绩绩H1Q9 w 9 ? 8 3s s sg 3 1g 123= £

14、123说紳辭蹲縣聽取!专业定做其它设计送冃请了的操作:2 生名:lidanning; 学号: 姓名;成绩"成绩2:成绩典总分:平均分:J 231201: lidannin?: 90.0: 89.0: 80.00.0:0.9:成成咸成任一昌 < < 出 一 退 iw麗 一迸霍绩曇2 成成成成任-充 -自. 一慕 一昜 -里 -理 匸弓 一琏 一五贝 -月羔.-学生成绩萱理系统排茗賤退出请埼入您要进行占揀作 3学号: 姓名;成绩空成绩21成绩3:总分;平均分I2B1201IlidannlnBl 9B.0IS9.BI»0.01259.0186.31261202 tdanslan * ?1-0:90.1d9,;27d.0::281203;liujuan:100.0!90.Of93,3:283.S!94.3!(4)ESI请输入您要进疔旳操作:4:学号: 姓名:成绩:成绩2 !成绩3 !总分:平均分!I201203 Iliujuan H00.B!90.0193aB!283.0!94.3II201202 Idonul&n I 91.0:99.0169.01270.0198.09I201201 Ilidannlng: 90.0:B9.0I80.B3 259.B:86.3I(5)统 系 rm -S

温馨提示

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

评论

0/150

提交评论