《c语言课程设计学生成绩管理系统》由会员分享,可在线阅读,更多相关《c语言课程设计学生成绩管理系统(31页珍藏版)》请在人人文库网上搜索。

1、河南理工大学计算机科学与技术学院课程设计报告2010 2011学年第 一 学期课程名称 C语言课程设计 设计题目 成绩管理系统 学生姓名 学 号 311009030212 专业班级 信息管理与信息系统10-2班 指导教师 2008 年 9 月12日目录题目要求 2设计目的 2总体设计 3详细设计 3调试与测试 12源程序 14总结 30学生成绩管理程序一 题目要求 1. 问题描述:对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放.2. 要求:(1)一个文件按以班为单位存储学生记录.(2)将允许的操作分为四种,以A,B ,C,D。

2、,E,F为标志:A:插入一个学生记录;B:修改学生记录;C:删除一个学生记录;D:查找一个学生记录;E:浏览学生成绩:F:退出3. 计算学生的总成绩.4. 按学号排序输出全班学生成绩表.二 设计目的根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.三 总体设计根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.学生成绩管理系统数据输入数据显示数据修改数据删除数据查找四 详细设计1. 主函数:主函数一般设计得比较简单,只提供输入。

3、,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.流程图:显示一系列功能模块N输入n,判断n是否是A-FY根据n的值调用各功能模块函数程序:/#include head.h int menu_select() char c; printf(nn); printf( | 1. 增加学生记录 5.统计信息 |n); printf( | 2. 查询学生记录 6.打开文件 |n); printf( | 3. 修改学生记录 7.保存文件 |n); printf( | 4. 学生纪录排序 8.显示记录 |n); printf( | 0. 退出系统 |n); printf(nn); printf(请。

4、选择(0-8):); c=getchar(); getchar(); return (c-0); 2. 输入模块:分析:单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.如果要存放若干学生信息就用结构体数组:void addrecord(student stud) int i=0,j,num; char str5; if(numstus!=0) printf(已有记录存在是否覆盖?(y/n)n); gets(str); if(str0=Y|str0=y) i=0; else i=numstus;。

5、 printf(请输入增加的学生信息条目数:); scanf(%d,&num); if(i=0) numstus=num; else numstus+=num; if(numstuslens) lens+=50; pointer=(student *)realloc(pointer,lens*LEN); printf(请输入学生信息:n); for(;i0) i=menu_select(); /*控制菜单*/ switch(i) case 1:addrecord(pointer);break; /*增加学生信息*/ case 2:findrecord(pointer);break; /*查询学。

6、生信息*/ case 3:amendrecord(pointer);break; /*修改学生信息*/ case 4:sort(pointer);break; /*学生信息排序*/ case 5:statistic(pointer);break; /*统计信息*/ case 6:openfile(pointer);break; /*打开文件*/ case 7:writetotext(pointer);break; /*保存文件*/ case 8:display(pointer,0,numstus-1);break; /*显示记录*/ case 0: if(numstus!=0) printf(。

7、是否保存当前记录?(y/n); gets(str); if(str0=y|str0=Y) writetotext(pointer); i=-1;break; /*退出系统*/ default:printf(请输入数字08:n);i=1; /*输入错误*/ printf(tt欢迎再次使用本系统。nn); display1(); 3. 修改模块:分析:用户输入要修改学生的学号,根据学生的学号等信息查找学生记录,并提示用户修改该记录的哪部分信息.根据用户选择修改相应的信息.流程图:输入要修改的学号找到?Y N提示没有找到显示记录,调用修改函数返回主菜单继续?YN程序:void xiugai() if。

8、(fp=fopen(s_score.txt,rb+)=NULL|(fp1=fopen(temp.txt,wb+)=NULL) /*检查是否出错*/ printf(Cannot open this file.n); exit(0); printf(nPLease shuru xiugai xuehao:); scanf(%d,&i); getchar(); while(fread(&data,sizeof(data),1,fp)=1) j=atoi(data.xuehao); if(j=i) printf(xuehao:%snmingzi:%snnianling:%sn,data.xuehao,。

9、data.mingzi,data.nianling); printf(Please shuru mingzi:); gets(data.mingzi); printf(Please shuru shuxue score:); gets(temp);data.score0=atof(temp); printf(Please input yingyu score:); gets(temp);data.score1=atof(temp); printf(Please input wuli score:); gets(temp);data.score2=atof(temp); data.score3=。

10、data.score0+data.score1+data.score2; fwrite(&data,sizeof(data),1,fp1); fseek(fp,0L,0); /*将位置指针移到离头文件0个字节处*/fseek(fp1,0L,0); while(fread(&data,sizeof(data),1,fp1)=1) fwrite(&data,sizeof(data),1,fp); fclose(fp); fclose(fp1); 4. 删除模块:分析:该模块的功能是,用户输入要删除的学生的学号,根据学生学号查找记录并删除.流程图:输入要删除的学号找到?Y N提示没有找到显示记录,调。

11、用删除函数返回主菜单继续?YN程序:void deleterecord(student stu,int i) /*删除信息*/ int j; while(i=0) for(j=i;jstudi.score) studi.index+; 5. 查找模块:需求分析:该模块的功能是根据输入的学生的姓名查找对应的记录,找到以后,显示相应的学生信息.流程图:输入学生学号返回主菜单询问是否继续提示没有找到显示找到的记录是否找到学生记录Y NNY程序:/#include head.h int findrecord(student stud) /*查找信息*/ char str2; int i,num; if。

12、(numstus=0) printf(没有可被查找的记录n); return -1; else printf(以何种方式查找?n1.学号t2.姓名t3.名次n); gets(str); if(str0=1) /*按学号查找*/ printf(请输入学号:); gets(str); for(i=0;inumstus) printf(没有查找所要的信息。n); return -1; return i; 6. 显示模块:需求分析:该模块的功能是显示所有学生记录信息.程序:void welcome() printf(t*n); printf(tttt*学生成绩管理系统*ntttt 倾情奉献 欢迎使用!。

13、n); printf(t*n); void showtable() printf(-n); printf(学号t姓名t性别t语文t数学t英语t历史t政治t总分t平均分t名次n); printf(-n); void display(student stud,int n1,int n2) int i; showtable(); /*显示表头*/ for(i=n1;inumstus) printf(没有查找所要的信息。n); return -1; return i; /#includehead.h int openfile(student stu) int i=0,j; FILE *fp; char。

14、 filename20,str2; if(numstus!=0) printf(已经有记录存在,是否保存?(y/n); gets(str); if(str0=y|str0=Y) writetotext(stu); printf(请输入文件名:); gets(filename); numstus=0; if(fp=fopen(filename,rb+)=NULL) printf(无法打开该文件n); return(-1); fscanf(fp,%d,&numstus); fgetc(fp); while(i0) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=tem。

15、p; void sortnum2(student stud) int i,j; student temp; student *p; p=stud; for(i=0;i0) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; void sortname(student stud) int i,j; student temp; student *p; p=stud; for(i=0;i0) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; void sortname2(student stud) int i,j; stu。

16、dent temp; student *p; p=stud; for(i=0;i0) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; void sortcount(student stud) int i,j; student temp; student *p; p=stud; for(i=0;istudj.index) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; void sortcount2(student stud) int i,j; student temp; student *p; p=stud; 。

17、for(i=0;istudj+1.index) temp=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=temp; /#includehead.h void statistic(student stud) /*新增功能,输出统计信息*/ int i,j=0,k=0; char c1,str2; float averagenumsubs,sum=0; if(numstus=0) printf(没有可被查找的记录n); else while(1) printf(下面将统计考试成绩n); printf(请选择你要统计哪科的成绩 1.At2.Bt3.Ct4.Dt5.En); c1=getchar(); printf(t一共有个%d记录n,numstus); /*总共记录数*/ switch(c1) case 1: for(i=0;istudi.subject0) k=i; if(studj.subject0studi.subject1) k=i; if(studj.subject1studi.subject2) k=i; if(studj.subject2studi.subject3) k=i; if(studj.subject3studi.subject4) k=i; if(studj.subject4 void amendrecord(student s。

c语言课程设计查找分数与删除元素,c语言课程设计学生成绩管理系统相关推荐

  1. Web课程设计之学生成绩管理系统

    Web课设之学生成绩管理系统 一.实验题目 二.实验目的 三.总体设计 3.1 实验要求: 3.2 本系统所运用到的技术栈: 3.3 本系统所运用的编程工具 3.4 核心技术介绍 3.5 模块介绍 3 ...

  2. 学生成绩管理系统(C语言作业,中英文版)

    学生成绩管理系统(C语言作业,中英文版) 这个是我以前写的学生成绩管理系统,因为是外教讲的C语言,所以作业也是用英文写的.不过注释我用中文解释了一下. 当时我反复debug,写了改,改了写,写了好多个 ...

  3. C语言课程设计——学生成绩管理系统(详细报告)

    欢迎来到<IT_WEH_coder>的博客.我是小魏,一名普通的在校大学生.希望大家多多关照,我们一起成长一起进步,也希望大家多多支持我鸭,喜欢我就给我一个关注吧! 本课程设计的编程部分所 ...

  4. c语言利用指针函数等完成学生成绩管理系统,课程设计C语言可视化程序学生成绩管理系统...

    <课程设计C语言可视化程序学生成绩管理系统>由会员分享,可在线阅读,更多相关<课程设计C语言可视化程序学生成绩管理系统(37页珍藏版)>请在人人文库网上搜索. 1.C语言可视化 ...

  5. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  6. c语言可视化学生管理系统,课程的设计C语言可视化程序学生成绩管理系统.doc

    课程的设计C语言可视化程序学生成绩管理系统 C语言可视化程序 设计报告 行政班级 机械0805 姓名 魏永涛 学号 0806080524 指导老师 夏建芳 课题名称 学生成绩管理系统 C可视化程序设计 ...

  7. 成绩管理系统c语言流程图,C语言可视化程序课程的设计:学生成绩管理系统.doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 C语言可视化程序课程的设计:学生成绩管理系统.d ...

  8. 学生成绩统计c语言课程设计,学生成绩管理系统-C语言课程设计

    记一次课程设计作业 学生成绩管理系统#include #include #include #include /* 学生成绩管理系统介绍 2017C语言课程设计  202160936 1.支持将数据保存 ...

  9. c语言学生成绩管理系统课设作业,C语言课程设计——学生成绩管理系统

    摘 要 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式 ...

最新文章

  1. 利用集群技术实现Web服务器的负载均衡
  2. 64 大小_电脑系统32位和64位有什么区别
  3. python制作中秋贺卡_中秋节到了,送你一个Python做的Crossin牌“月饼”
  4. POJ 3723 - Conscription ( 最大权森林 / 最小生成树 )
  5. mysql怎么禁止远程连接_mysql如何设置禁止远程连接
  6. fread 和 read的区别
  7. rman copy相关
  8. 随想录(一种新的读写锁的写法)
  9. node mysql 模块 封装_node.js基于工厂方法的mysql模块封装
  10. 8.26树状数组讲解
  11. 3.2 Zabbix企业级分布式监控系统 --- zabbix-agent, zabbix-get 安装
  12. eplan p8详细安装步骤文库_eplan p8详细安装步骤
  13. javaweb复习题库
  14. 什么是SYN包 以及SYN攻击原理
  15. java 公共方法是什么意思,在java中公共/私有/其他方法的含义是什么意思?
  16. APISpace 号码实时查询API接口 免费好用
  17. akshare sma策略
  18. 内存泄漏,内存溢出总结以及相关解决方案
  19. js 获取url参数的方法
  20. 百度坐标转gps坐标_论文推荐 | 明锋:GPS坐标时间序列分析研究

热门文章

  1. fragment与activity之间的信息传递的两种方式
  2. android编译错误
  3. Python-修改密码功能
  4. 什么是生命?什么是人工智能?
  5. 用迅雷下载的视频,文件夹打开是空的,文件夹有大小,也没有隐藏文件的解决办法
  6. 使用sklearn实现birch聚类分析
  7. 报错AttributeError: ‘NoneType‘ object has no attribute ‘shape‘
  8. git checkout恢复文件
  9. 互联网晚报 | 8月15日 星期日 | 第四范式申请港交所上市;招行私人银行客户突破11万户;特斯拉CEO马斯克去年总薪酬为零...
  10. MATLAB R2019a绘制时序数据小波方差图[新手向/保姆级]