C语言——学生成绩数据库管理系统_第1页
C语言——学生成绩数据库管理系统_第2页
C语言——学生成绩数据库管理系统_第3页
C语言——学生成绩数据库管理系统_第4页
C语言——学生成绩数据库管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、本模板是课程设计报告模板,请各位同学认真阅读以下要求:1,本页为设计报告要求页,I不必打印。I (制作好报告后输出时将本页删除)2 .本模板的各种字体及页面设置请同学们不要收动。一3 .本设计报告左侧装订。在虚线处装订。4 .在课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。5 .在课程设计评定表一页上用宋体小四填写班级、学号、姓名、项目组、项目 组长、项目组组员、本人工作简介。组长评语一栏应由组长来给出。6 .在课程设计任务书一页的开头应按照给定的设置(黑体三号)填写好你的班级,在第五项时间安排里面应用宋体五号加粗来填写好日期范围。7 .从程序基本框架结构图开始到设计报告的最后一页都

2、要求有页眉,内容为你 的课程设计题目,宋体小五居中。页脚中的页码已经设置好, 同学们不必改动。8 .在程序基本框架结构图采用 WORD中的自选图形绘制程序基本框架结构图, 也就是程序流程图。9 .在程序设计说明书中应该描述程序的设计思想,重点描述自己做的那部分的 设计思想。字体用宋体小四。10 .在代码清单中打印程序已经调试好的可运行的程序代码。要求字体为宋体五号。(页数可增加)11 .报告的最后一部分是设计总结,应在程序代码之后另起一页,主要写通过一 周课程设计你自己的体会,包括你学到了什么,哪里遇到了困难解决的办法 以及今后的目标。字体用宋体小四。12 .报告的各个部分都可以不为规定的一页

3、,自己可增加页数,但要保证开始另外一项要另起一页。13 .服务课程名称:本科添写: C语言;/专科添写:计算机语言(c)课程设计服务课程名称:C语言系:专业:班级:学号:姓名指导教师:课程设计周次:起始日期:至目录1 .C语言课程设计成绩评定表 .xx页2 .C语言课程设计任务书 .xx页3 .程序基本框架结构图.xx页4 .程序设计说明书.xx页5 .源代码清单.xx页6 .课程设计总结.xx页课程设计成绩评定表班级学号姓名项目组项目组长项目组组员本人工作简介:组长评语:成绩评定标准ABCDE报告完成情况很好r好比较好不好纪律表现很好好比较好不好程序功能性强较强F较弱弱界囿美观性很好好F较差

4、不好程序可操作性很好好F较差不好答辩表现很好好F较差不好所起作用程度80%以上60%以上60%以下最后成绩修A>=5C<=0良好A>=3C<=0中等B>=2C>=4及格A=0B=0C>=3不及格A=0B=0C<=2E>=1负责指导教师:(签名)指导教师:(签名)班C语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对 c语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握c语言的编程方法和技巧,提高学生用 c语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料3、按时上机,认真调试程序三、课设报告装

5、订内容及顺序1、课程设计封皮3、课程设计成绩评定表5、程序基本框架图67、源代码清单四、设计题目学生成绩数据库管理系统五、时间安排(一周:从6月291、查阅资料及程序设计(1天)3、成绩评定(大)2、遵守课程设计时间安排4、认真完成课程设计报告2、目录4、课程设计任务书、程序设计说明书8、课设总结与心得日到7月3日 )2、程序编制及调试(3天)3、打印报告(天)六、参考文献1、C语言程序设计李淑华/李贞编 大连理工大学出版社2、C语言程序设计孙连科/姚大鹏编 辽海出版社3、C+寸尚编程百例网冠科技编.机械工业出版社4、TURBO以用大全徐金梧等编.机械工业出版社程序基本框架结构图程序设计说明书

6、源代码清单#include ""#include ""#include ""typedef struct student /* 定义结构体类型 */ long num;char name9; char sex3;int math ; int english;int cjia; int sum;double aver;STU;void input() /*输入,将学生数据写入磁盘*/ int i,n;STU a;/*用来存放一个学生数据*/FILE *fp;system("cls"); /* 清屏*/if(fp=fo

7、pen("e:file1","wb")=NULL)/* 打开文件 */ printf("打开失败!n");exit(0);printf("nt请输入要输入的学生人数:");scanf("%d",&n);/* 输入学生人数 */for(i=0;i<n;i+)/*循环输入每个学生数据*/printf("t请输入学号:");scanf("%ld”,&printf("t请输入学生姓名:");scanf("%s",

8、;printf("t请输入学生性别:");scanf("%s",;printf("t请输入学生数学成绩:");scanf("%d",&while<0|>100)/*检查数据合理性*/printf("请输入正确的数学成绩:");scanf("%d",&printf("t请输入学生英语成绩:");scanf("%d",&while<0|>100)printf("请输入正确的英语成绩:

9、");scanf("%d",&printf("t请输入学生C语言成绩:");scanf("%d",&while<0|>100)printf("请输入正确的C语言成绩:");scanf("%d",&=+;=;fwrite(&a,sizeof(STU),1,fp);fclose(fp);printf("按任意键继续");getchar(); getchar();/* 程序暂停,保留屏幕 */void list() /* 显示函

10、数 */ STU a; /*结构体a存放一个学生数据*/FILE *fp;system("cls");if(fp=fopen("e:file1","rb")=NULL)printf("打开文彳失败!n");exit(0);printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");while(fread(&a,sizeof(STU),1,fp)!=0)printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",;fclose(fp)

11、;printf("nt按任意键继续");getchar(); getchar();void chose1() /*按学号排序,子函数 */ int i,j,n=0;STU a100,t; /*结构体数组a存放100个学生,t与a为同类型结构体*/ FILE *fp;system("cls");if(fp=fopen("e:file1","rb")=NULL) printf("打开文件失败 n");exit(0);while(fread(&an,sizeof(STU),1,fp)!=0)/

12、* 从文件中读取数据 */n+;for(i=0;i<n-1;i+)/* 冒泡排序法 */for(j=n-1;j>i;j-)if(aj.num<aj-1.num)t=aj;aj=aj-1;aj-1=t; printf("nnnt 按学号排序为:n"); printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n"); for(i=0;i<n;i+)printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",ai.num,,ai.sex,ai.math,a i.engl

13、ish,ai.cjia,ai.sum,ai.aver);fclose(fp);printf("nnt请按任意键继续");getchar(); getchar();void chose2() /*按姓名排序,子函数 */ int i,j,k,n=0;STU a100,t;FILE *fp;system("cls");if(fp=fopen("e:file1","rb")=NULL)printf("打开文彳失败!n");exit(0);while(fread(&an,sizeof(STU),

14、1,fp)!=0)n+;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if(strcmp(,)>0) /* 比较字符大小 */k=j;if(k!=i)t=ai;ai=ak;ak=t; printf("nnnt 按姓名排序为:");printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");for(i=0;i<n;i+)printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",ai.num,,ai.sex

15、,ai.math,ai.english,ai.cjia,ai.sum,ai.aver);fclose(fp);printf("nn按任意键继续");getchar(); getchar();void chose3() /*按平均分排序,子函数 */ int i,j,n=0;STU a100,t;FILE *fp;system("cls");if(fp=fopen("e:file1","rb")=NULL) printf("打开文件失败 n");exit(0);while(fread (&

16、an,sizeof(STU),1,fp)!=0)n+;for(i=0;i<n-1;i+)/* 冒泡法 */for(j=n-1;j>i;j-)if(aj.aver<aj-1.aver)t=aj;aj=aj-1;aj-1=t;printf("nnt按平均成名排序为:n");printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");for(i=0;i<n;i+)printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",ai.num,,ai.sex,ai.math,

17、a i.english,ai.cjia,ai.sum,ai.aver);fclose(fp);printf("nnt请按任意键继续");getchar();getchar();void sort() /*排序,主函数*/ int a;do system("cls");printf("nnnntt 请选择排序方式 n");printf("tt*n");printf("ttt1按学号排序n");printf("ttt2 按姓名排序n");printf("ttt3按平均成

18、绩排序n");printf("ttt0退出 n");printf("tt 请选择:");scanf("%d",&a);switch (a) case 1: chose1();break;case 2: chose2();break;case 3: chose3();break;case 0: return;)while(a!=0);void sc2()/*按姓名删除*/FILE *fp;STU a500;char MC20;int i=0,k,j=1,m=0;system("cls");if(fp

19、=fopen("e:file1","r")=NULL) printf("打开失败!n");exit(0);printf("请输入您所要删除的学生姓名:");scanf("%s",MC);while(fread(&ai,sizeof(STU),1,fp)!=0)i+;j+;for(i=0;i<j;i+)if(strcmp(,MC)=0) k=i;m=1;break;if(m=0)printf("您所要删除的学生不存在!");for(i=k;i<

20、j-2;i+)ai=ai+1;fclose(fp);if(fp=fopen("e:file1","w")=NULL) printf("打开失败!n");exit(0);for(i=0;i<j-2;i+)fwrite(&ai,sizeof(STU),1,fp);printf("删除成功!");fclose(fp);getchar(); getchar();)void sc1()/*按学号删除*/ FILE *fp;STU a500; /*定义结构体变量*/long number;int i=0,k,j=

21、1,m=0;system("cls");if(fp=fopen("e:file1","r")=NULL) printf("打开失败!n");exit(0);printf("请输入您所要删除的学生学号:”);scanf("%ld",&number);while(fread(&ai,sizeof(STU),1,fp)!=0)i+;j+;for(i=0;i<j;i+) if(ai.num=number) k=i;m=1; break;if(m=0)printf(&quo

22、t;您所要删除的学生不存在!"); for(i=k;i<j-2;i+)ai=ai+1;fclose(fp);if(fp=fopen("e:file1","w")=NULL) printf("打开失败!n");exit(0);for(i=0;i<j-2;i+)fwrite(&ai,sizeof(STU),1,fp);printf("删除成功!");fclose(fp);getchar();getchar();void SC()int a;do(printf("ttt print

23、f("ttt printf("tttsystem("cls");printf("nnnntt 请选择删除方式 n");printf("tt*n");按学号删除n");按姓名删除n");退出n");printf("tt*n");scanf("%d",&a);switch(a) case 1 :sc1();break;case 2 :sc2();break;case 0 :return;)while(a!=0);void append() /

24、* 追力口*/ int i,n;STU a;FILE *fp;system("cls");if(fp=fopen("e:file1","ab")=NULL)printf("打开文彳失败!n");exit(0);) printf("nt请输入要输入的学生人数:"); scanf("%d",&n);for(i=0;i<n;i+)printf("t请输入学号:");scanf("%ld",&printf("t请

25、输入学生姓名:");scanf("%s",;printf("t请输入学生性别:");scanf("%s",;printf("t请输入学生数学成绩:");scanf("%d",&while<0|>100)printf("请输入正确的数学成绩:");scanf("%d",&printf("t请输入学生英语成绩:"); scanf("%d",&while<0|>10

26、0)printf("请输入正确的英语成绩:");scanf("%d",&printf("t请输入学生C语言成绩:");scanf("%d",&while<0|>100)printf("请输入正确的C语言成绩:"); scanf("%d",&=+;=;fwrite(&a,sizeof(STU),1,fp);fclose(fp);printf("按任意键继续");getchar();getchar();void CX

27、1()/* 查询姓名 */ char MC9;STU a;int k=0;FILE *fp;system("cls");if(fp=fopen("e:file1","rbde")=NULL)printf("打开文件失败!n");exit(0); printf("n tt请输入要查询的姓名 :"); scanf("%s",MC);system("cls");while(fread(&a,sizeof(STU),1,fp)!=0) if (strcmp

28、,MC)=0)if(k=0)printf("n您所要查询的姓名为:n");printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",;k=1;)if(fp!=NULL)fwrite(&a,sizeof(STU),1,fp);if(k=0)printf("您所要查询的女4名不存在:n");fclose(fp);getchar();getchar();)void CX2()/* 查询性别 */ char MC3;S

29、TU a;int k=0;FILE *fp;system("cls");if(fp=fopen("e:file1","rb")=NULL)printf("打开文件失败!n");exit(0);printf("n tt请输入要查询的性别:");scanf("%s",MC);system("cls");while(fread(&a,sizeof(STU),1,fp)!=0) if (strcmp,MC)=0)if(k=0)printf("n您

30、所要查询的信息为:n");printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",;k=1;if(fp!=NULL)fwrite(&a,sizeof(STU),1,fp);if(k=0)printf("您所要查询的信息不存在:n");fclose(fp);getchar();getchar();)void CX3()/* 查询学号 */ int number;STU a;int k=0;FILE *fp;system(

31、"cls");if(fp=fopen("e:file1","rb")=NULL)printf("打开文件失败!n");exit(0);printf("n tt请输入要查询的学号:");scanf("%d",&number);system("cls");while(fread(&a,sizeof(STU),1,fp)!=0) if =number)if(k=0)printf("n您所要查询的信息为:n");printf(&

32、quot;nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n");printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",;k=1;if(fp!=NULL)fwrite(&a,sizeof(STU),1,fp);if(k=0)printf("您所要查询的信息不存在:n");fclose(fp);getchar();getchar();void CX4() /*查询平均分*/ int ave;STU a;int k=0;FILE *fp;system("cls");if(fp=fopen(&

33、quot;e:file1","rb")=NULL)printf("打开文件失败!n");exit(0);printf("n tt请输入要查询的平均分:");scanf("%d",&ave);system("cls");while(fread(&a,sizeof(STU),1,fp)!=0) if =ave)if(k=0)printf("n您所要查询的信息为:n");printf("nnt学号t姓名t性别t数学t英语tC语言t总分t平均分n&

34、quot;);printf("t%ldt%st%st%dt%dt%dt%dt%.2fn",;k=1;if(fp!=NULL)fwrite(&a,sizeof(STU),1,fp);if(k=0)printf("您所要查询的信息不存在:n");fclose(fp);getchar();getchar(); void find()/* 查询 */ int a;do system("cls");printf("nnnntt 请选择查询方式 n");printf("tt*n");printf(&

35、quot;ttt printf("ttt printf("ttt printf("ttt printf("ttt按姓名查询n");按性别查询n");按学号查询n");按平均分查询n");printf("tt*n");退出n");scanf("%d",&a);switch(a)case 1 :CX1();break;case 2 :CX2();break;case 3 :CX3();break;case 4 :CX4();break; case 0 :retu

36、rn;) while(a!=0);)void xg()/* 修改 */ FILE *fp;long num;int k=0;char name10,sex3;STU a;/*结构体变量用来存放一个学生的数据*/system("cls");if(fp=fopen("e:file1","r+")=NULL)printf("error!n");exit(1);printf("nnntt*修改学生的信息 *nnnn");printf("请输入要修改学生的学号:");scanf("%ld",&num);whil

温馨提示

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

评论

0/150

提交评论