




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XIAN TECHNOLOGICAL UNIVERSITY课程设计报告课程名称: C语言程序设计专 业: 班 级: 姓 名: 学 号: 指导教师: 成 绩: 2017 年 1月5日题目:学生成绩管理系统思路:先建立一个链表然后以链表为基础进行各种操作,设计学生成绩管理系统,通过主页显示,根据自己需求按主页中所显示步骤输入,删除,查找,插入,修改,统计学生信息。算法:核心算法为链表的生成,插入,查找,排序算法。函数模块介绍:void xuanze();/选择功能void shuchu(struct student*h);/输出void tianjia(struct student*h);/添加v
2、oid shanchu(struct student*h);/删除void chaxun(struct student*h);/查询void genggai(struct student*h); /更改主void gxuehao(struct student*p);/改学号void gname(struct student*p);/改姓名void ggaoshu(struct student*p);/改高数成绩void gyingyu(struct student*p);/改英语成绩void gc(struct student*p);/改c语言成绩void tongji(); /统计主void
3、 max_average(struct student*h);/统计平均分最高void max_gaoshu(struct student*h);/统计高数最高void max_yingyu(struct student*h);/统计英语最高void max_c(struct student*h);/统计c语言最高void bujige_average(struct student*h);/统计平均分不及格学生信息void bujige_gaoshu(struct student*h);/统计高数不及格学生信息void bujige_yingyu(struct student*h);/统计英语
4、不及格学生信息void bujige_c(struct student*h);/同意c语言不及格学生信息struct student*creat(int n);/创建链表void order_two(struct student*p,struct student*q);/调换位置void order(struct student*h);/排序源程序#include"stdio.h"#include"string.h"#include"conio.h"#include <stdlib.h>#define N 30#defin
5、e M 3typedef struct student char number10; char name20; float scoreM; float aver; float total;STU;STU stuN;int n;void inputscore(void);void savescore(void);void avergescore(void);void total(void);void lookscore(void);void searchscore(void);void statistic(void);void add(void);void modify(void);void d
6、elscore(void);void savescore(void);void menu(void);int main() short int flag=0; menu(); do flag=1; switch(getch() case'1':inputscore();break; /* 输入成绩*/ case'2':lookscore();break; /*查看成绩*/ case'3':searchscore();break; /*查找成绩*/ case'4':statistic();break; /*成绩统计*/ case
7、39;5':modify();break; /*修改成绩*/ case'6':add();break; /*添加成绩*/ case'7':delscore();break; /*删除成绩*/ case'8':savescore();break; /*保存成绩*/ case'9':exit(0); /*退出成绩*/ default:printf("输入有误n"); printf("按任意键继续n"); getch(); menu(); while (flag=1);void menu(
8、void) system("cls"); printf("tt n");printf("tt 学生信息管理系统 n"); printf("tt n");printf("tt n");printf("tt 1. 输入成绩 2. 查看成绩并排序 n");printf("tt n");printf("tt 3. 查询学生成绩 4. 成绩统计 n");printf("tt n");printf("tt 5. 修改成
9、绩 6. 添加成绩 n");printf("tt n");printf("tt 7. 删除成绩 8. 保存成绩 n");printf("tt n");printf("tt 9. 退出系统 n");printf("tt n"); printf("tt请您选择(0-9)n");/*输入各个同学的学生信息*/void inputscore(void) int i,j ; system("cls"); printf("请输入学生总数:n&quo
10、t;); scanf("%d",&n); for(i=0;i<n;i+) printf("请输入第%d个学生的学号 姓名:n",i+1); scanf("%s",stui.number);scanf("%s",); printf("请输入学生成绩:n"); printf("高数tC语言t大英n"); for(j=0;j<M;j+) scanf("%f",&stui.scorej); printf("成
11、功输入n");/*计算各个同学的总分*/void total(void) int i,j; for(i=0;i<n;i+) stui.total=0; for(j=0;j<M;j+) stui.total+=stui.scorej; /*计算各个同学的平均分*/void avergescore(void) int i,j; for(i=0;i<n;i+) stui.aver=0; for(j=0;j<M;j+) stui.aver+=stui.scorej; stui.aver=stui.aver/M; /*查看学生成绩及根据平均分对学生排序*/void lo
12、okscore(void) int i,j,k; STU t; total(); avergescore(); system("cls"); for(i=0;i<n-1;i+) for(k=i,j=i+1;j<n;j+) if(stuj.aver>stuk.aver) k=j; if(k!=j) t=stuk; stuk=stui; stui=t; printf("名次t学号tt姓名t高数tC语言t大英t总分t平均分n");for(i=0;i<n;i+) printf("%dt%stt%st",i+1,stui
13、.number,); for(j=0;j<M;j+) printf("%4.2ft",stui.scorej); /输出成绩 printf("%4.2ft",stui.total); printf("%4.2ft",stui.aver); printf("n");/*通过输入学号查找学生成绩*/void searchscore(void) char a10;int i,j;system("cls");printf("请输入需查询的学生学号n");sca
14、nf("%s",a);for(i=0;i<n;i+) if(strcmp(a,stui.number)=0) /比较两个字符串 printf("名次t学号tt姓名t高数tC语言t大英t总分t平均分n"); printf("%dt%stt%st",i+1,stui.number,); for(j=0;j<M;j+) printf("%4.2ft",stui.scorej); printf("%4.2ft",stui.total); printf("%4.2f
15、t",stui.aver); printf("n"); break; /*找到该学生成绩信息后跳出for循环*/ else printf("未找到该学生信息n");/*统计学生成绩信息,平均分及格率,优秀率*/void statistic(void)STU*p=stu;int i,j;float count=0.0,sum=0.0;system("cls"); for(i=0;i<n;i+) sum+=(p+i)->aver ; printf("该班级平均分为%4.2fn",sum/n); /
16、*平均分计算*/ for(i=0;i<n;i+) if(p+i)->aver>=60) count+;printf("该班级及格率为%4.2f%n",count/n*100);/*及格率计算*/count=0.0;for(i=0;i<n;i+) if(p+i)->aver>=90) count+;printf("该班级的优秀率为%4.2f%n",count/n*100);/*优秀率计算*/printf("平均分低于60的学生名单n");for(i=0;i<n;i+)if(stui.aver&l
17、t;60)printf("%sn",); /*统计不及格学生名单*/ /*修改学生成绩*/ void modify(void) char a10; int i,j; system("cls"); printf("请输入需要修改成绩的学生学号n"); scanf("%s",a); for(i=0;i<n;i+) if(strcmp(a,stui.number)=0) printf("名次t学号tt姓名t高数tC语言t大英t总分t平均分n"); printf("%d
18、t%st%st",i+1,stui.number,); for(j=0;j<M;j+) printf("%4.2ft",stui.scorej); printf("%4.2ft",stui.total); printf("%4.2ft",stui.aver); printf("n"); printf("请重新输入该学生的学号 姓名:n"); scanf("%s",stui.number); scanf("%s",stui.
19、name); printf("请重新输入学生成绩:n"); printf("高数tC语言t大英n"); for(j=0;j<M;j+) scanf("%f",&stui.scorej);/*找到该学生成绩后进行后进行修改,跳出for循环*/printf("修改成功n");break;else printf("请确认该学生是否为本班学生!n"); /*添加学生成绩*/ void add(void) int a,i,j; system("cls"); printf(
20、"请输入新增加的学生人数:n");scanf("%d",&a);n=n+a;for(i=n-a;i<n;i+) printf("请输入学生%d的学号 姓名:n",i+1); scanf("%s",stui.number); scanf("%s",); printf("请输入学生成绩:n"); printf("高数tC语言t大英n"); for(j=0;j<M;j+) scanf("%f",&
21、stui.scorej);printf("添加成功n"); /*删除学生成绩*/ void delscore(void) int i,j,c; char m,a10; system("cls"); printf("请输入学生学号n"); scanf("%s",a); for(i=0;i<n;i+) if(strcmp(a,stui.number)=0) printf("名次t学号tt姓名t高数tC语言t大英t总分t平均分n"); printf("%dt%st%st",i+1,stui.number,);for(j=0;j<M;j+)printf("%4.2ft",stui.scorej);printf("%4.2ft",stui.total);printf("%4.2f",stui.aver);printf("n");c=i;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浇灌新质生产力
- 《呼吸困难解析》课件
- 山东省地理高考试卷及答案
- 2025共同担保借款合同
- 2025年中国滑触线市场调查研究报告
- 林业火灾扑救设备制造考核试卷
- 畜产品加工工艺改进与优化考核试卷
- 2025年中国高频振筛市场调查研究报告
- 2025年中国铣床专用电磁离合器市场调查研究报告
- 电子专用设备的生产效率优化考核试卷
- GB/T 25742.4-2022机器状态监测与诊断数据处理、通信与表示第4部分:表示
- 特殊感染手术的配合与术后处理
- 萧红《呼兰河传》课件
- 脑血管病介入诊疗并发症及其处理课件
- 机动车驾驶人考试场地及其设施设置规范
- 大学生三生教育主题班会
- 2023年宜昌市中医医院医护人员招聘笔试题库及答案解析
- 内部控制建设课件
- 水塘排水、清淤质量检验记录表
- 上海龙之梦丽晶大酒店客房预订单
- 水污染控制工程课程设计说明书
评论
0/150
提交评论