C语言学生成绩管理系统课程设计报告.doc
《C语言学生成绩管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统课程设计报告.doc(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. .设计一个学生成绩管理系统,对上学期的本班的学习成绩进展管理,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。A、 设计容1、每一条记录包括一个学生的学号、XX、性别、各门课成绩上学期的科目、平均成绩。2、输入功能:可以一次完成假设干条记录的输入。3、显示功能:完成全部学生记录的显示。4、查找功能:完成按XX或学号查找学生记录,并显示。5、排序功能:按学生平均成绩进展排序。6、插入功能:按学号顺序插入一条学生记录。7、将学生记录存在文件student.dat中。8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!B、设计要求一、 有存储本
2、班学生记录包括学号、XX、科目成绩、性别、的文件student.dat,所有学生以学号从小到大排序该文件自行建立。要求编程序实现查询、排序、插入、删除诸功能。具体要求如下:A要求显示如下界面*1-查询2-排序3-插入4-删除*通过选择1-4来确定要做哪一个操作。B假设选1,那么出现如下界面*1.1-按学号查询1.2-按XX查询1.3-按成绩查询*通过选择1.1-1.3来确定要做哪一个操作,其中:按XX查询用顺序法实现;按成绩查询实现查询成绩小于m分的学生;找到该生将学生记录输出到屏幕,假设查无此人,输出相关信息。C假设选2,那么按成绩从大到小排序,XX,学号顺序也随之调整。D假设选3,将一个新
3、学生记录按学号顺序插入,并把结果保存到文件student.dat中。E假设选4,删除指定学生的记录,并把结果保存到文件student.dat中。G不同的模块都要有出错处理,并能给出出错提示。如输入数据错误,文件操作错误等等F以上各个功能均编写成子函数,由主函数调用实现。G利用构造体数组实现学生成绩的数据构造设计;模块:学生成绩管理系统查询模块排序模块显示模块保存模块删除模块插入模块完毕显示返回插入返回选择返回保存返回按学号查询按学号选择删除按XX选择删除返回主菜单按XX查询按成绩查询排序返回数学平均分英语C语言安康教育返回计算机历史程序构造图:main:int flag=1;struct st
4、udent *head=NULL;head=load();Doswitch(menu()case 0:flag=0;break;case 1:search(head);break;case 2:sort(head);break;case 3:head=NULL?head=insert(head):insert(head); save(head); break;case 4:head=delete(head);save(head);break;case 5:save(head);printf(Its saved!);getch();break;case 6:clrscr();formhead()
5、;print(head);break;while(flag)frees(head);int menu();char ch;textmode(C80);textbackground(BLUE);textcolor(YELLOW);clrscr();gotoxy(20,3);cprintf(Students performance management system);gotoxy(20,6);cprintf(*);gotoxy(30,8); cprintf(1-Search;);gotoxy(30,10); cprintf(2-Sort;);gotoxy(30,12); cprintf(3-In
6、sert;);gotoxy(30,14); cprintf(4-Delete;);gotoxy(30,16); cprintf(5-Save in file;);gotoxy(30,18); cprintf(6-Display;);gotoxy(30,20); cprintf(0-Exit;);gotoxy(20,22); cprintf(*);gotoxy(1,25); cprintf(please press the number you choose:);ch=getchar();return ch;int menu2();char ch;textmode(C80);textbackgr
7、ound(BLUE);textcolor(YELLOW);clrscr();gotoxy(34,5); cprintf(Query menu);gotoxy(20,8); cprintf(*);gotoxy(25,10); cprintf(1-search by ID number;);gotoxy(25,12); cprintf(2-search by name;);gotoxy(25,14); cprintf(3-search by score;);gotoxy(25,16); cprintf(0-Return to main menu;);gotoxy(20,20); cprintf(*
8、);gotoxy(1,25); cprintf(please press the number you choose:);ch=getchar();return ch;int menu3();char ch;textmode(C80);textbackground(BLUE);textcolor(YELLOW);clrscr();clrscr();gotoxy(20,3); cprintf(Enter the number of subjects to check);gotoxy(20,6); cprintf(*);gotoxy(25,8);cprintf(1-Math;);gotoxy(25
9、,9); cprintf(2-English;);gotoxy(25,10); cprintf(3-C Program;);gotoxy(25,11);cprintf(4-puter;);gotoxy(25,12);cprintf(5-Health Education;);gotoxy(25,13);cprintf(6-History;);gotoxy(25,14);cprintf(7-average;);gotoxy(25,15);cprintf(0-Return to previous menu;);gotoxy(20,18); cprintf(*);gotoxy(1,25); cprin
10、tf(please press the number you choose:);ch=getchar();return ch;void search(struct student *head);int flag=1; while(flag)switch(menu2()case 49:search1(head);break;case 50:search2(head);break;case 51:search3(head);break;case 48:flag=0;break;void search1(struct student *);struct student *p;int none=1;c
11、har number11;p=head;clrscr();printf(please in put a students number:);scanf(%s,number); 直到确认printf(Search results:n);formhead(); while(p!=0)NY (strcmp(p-num,number)=0?putout(p);none=0;p=p-next;NYNone=0?printf(ncan not find the data!) printf(npress any key to return.);getch();void search2(struct stud
12、ent *);int none=1; char name11;struct student *p;p=head;clrscr();printf(please in put a students name:);scanf(%s,name);直到确认clrscr();printf(Search results:n);formhead();while(p!=NULL)NYstrcmp(p-name,name)=0?putout(p);none=0;p=p-next;YNnone=0?printf(ncan not find the data!);printf(npress any key to re
13、turn.);getch();void search3(struct student *);p1=head;m=menu3() 直到0=mmath-highnext;YNNone=0?printf(ncan not find the data!)printf(npress any key to return.);getch();break;2与1同理3与1同理4与1同理5与1同理6与1同理7与1同理struct student *sort(struct student *);struct student *p1,*p2,*t,*temp;temp=head-next;head-next=NUL
14、L;while(temp!=NULL)t=temp;temp=temp-next;p1=head; p2=head; while(t-averaver&p1!=NULL)p2=p1;p1=p1-next;NYp1=p2?t-next=p1;t-next=p1;p2-next=t;head=t;p1=head;while(p1!=NULL)p1=p1-next;clrscr();formhead();print(head);return(head);struct student *insert(struct student *);struct student *p,*q,*hed;hed=hea
15、d;p=creat(); /*建链表*/q=findw(head); /*找出传进来链表的表尾*/NYq=NULL?q-next=p;return hed=NULL?p:hed;void input(struct student *);float temp;char c;clrscr();printf(input the students number:);scanf(%s,p-num); 直到确认printf(ninput the students name:);scanf(%s,p-name);while(!sure(); 直到确认c=getchar();p-sex=ca?c-32:c;
16、直到(p-sex=M|p-sex=W)printf(input the students Math score:scanf(%f,&temp); 直到确认p-math=temp;下面成绩同理void putout(struct student *);printf(n|%-10s|%-10s| %c |%-6.1f|%-6.1f|%-6.1f|%-6.1f|%-6.1f|%-6.1f|%-6.1f|, p-num,p-name,p-sex,p-math,p-english,p-cp,p-puter,p-hthy,p-history,p-aver);printf(n+-+-+-+-+-+-+-+-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 课程设计 报告
限制150内