学生成绩管理系统C语言源码.docx

上传人:b****5 文档编号:7418456 上传时间:2023-05-11 格式:DOCX 页数:39 大小:22.15KB
下载 相关 举报
学生成绩管理系统C语言源码.docx_第1页
第1页 / 共39页
学生成绩管理系统C语言源码.docx_第2页
第2页 / 共39页
学生成绩管理系统C语言源码.docx_第3页
第3页 / 共39页
学生成绩管理系统C语言源码.docx_第4页
第4页 / 共39页
学生成绩管理系统C语言源码.docx_第5页
第5页 / 共39页
学生成绩管理系统C语言源码.docx_第6页
第6页 / 共39页
学生成绩管理系统C语言源码.docx_第7页
第7页 / 共39页
学生成绩管理系统C语言源码.docx_第8页
第8页 / 共39页
学生成绩管理系统C语言源码.docx_第9页
第9页 / 共39页
学生成绩管理系统C语言源码.docx_第10页
第10页 / 共39页
学生成绩管理系统C语言源码.docx_第11页
第11页 / 共39页
学生成绩管理系统C语言源码.docx_第12页
第12页 / 共39页
学生成绩管理系统C语言源码.docx_第13页
第13页 / 共39页
学生成绩管理系统C语言源码.docx_第14页
第14页 / 共39页
学生成绩管理系统C语言源码.docx_第15页
第15页 / 共39页
学生成绩管理系统C语言源码.docx_第16页
第16页 / 共39页
学生成绩管理系统C语言源码.docx_第17页
第17页 / 共39页
学生成绩管理系统C语言源码.docx_第18页
第18页 / 共39页
学生成绩管理系统C语言源码.docx_第19页
第19页 / 共39页
学生成绩管理系统C语言源码.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统C语言源码.docx

《学生成绩管理系统C语言源码.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统C语言源码.docx(39页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统C语言源码.docx

学生成绩管理系统C语言源码

#include

#include

#include

#include

#defineN1000/*链表导入数组的长度,可以说是记录数*/

#defineLENsizeof(structstudent)/*用LEN代替结构体的长度*/

#defineIFORM"%s%s%d%d%d%d%d"/*输入数据的格式*/

#defineIFORM2p1->number,p1->name,&p1->grade[0],&p1->grade[1],&p1->grade[2],&p1->grade[3],&p1->grade[4]/*输入数据存放到链表的格式*/

#defineOFORM"%s%s%d%d%d%d%d"/*将数据输出到文件的格式*/

#defineOFORM1"%-10s%-6s%-4d%-4d%-4d%-4d%-4d"/*将数据打印到屏幕上的格式*/

#defineOFORM2p1->number,p1->name,p1->grade[0],p1->grade[1],p1->grade[2],p1->grade[3],p1->grade[4]/*输出引用结构体得格式*/

#defineSINFO"请输入学号、姓名、大学英语、高等数学、线性代数、政治、计算机导论\n"/*输入数据的提示符*/

#defineSINFO2"学号\t姓名大学英语高等数学线性代数政治计算机导论\n"/*打印在屏幕上的各数据项的属性*/

structstudent

{

charnumber[12];

charname[10];

intgrade[5];

structstudent*next;

};/*定义存放学生基本信息的结构体*/

FILE*fp;/*定义文件的指针*/

intopen=0;/*用于表示是否有文件处于打开状态*/

structstudent*head;/*定义链表的头*/

structstudent*p1,*p2;/*定义用于链表输入输出的两个变量*/

charname[100],ch;/*name用于存放打开的文件名,ch用于销毁回车符。

*/

structtm*ptr;/*定义时间的结构体变量*/

time_tt;/*定义时间的变量*/

intmain()

{

intsnew(void);

intsquery(void);

intsinsert(void);

intsdelete(void);

intsinput(void);

intsoutput(void);

intsclear(void);

intsalter(void);

intsorder(void);

intchoose;

inti;

printf("\n\n--------------------------------------------------------------------------------\n\n");

printf("欢迎使用学生成绩管理系统!

");

printf("\n\n--------------------------------------------------------------------------------\n\n");

printf("\n\t\t正在加载程序,请稍等……\n");

printf("\t\t--------------------------------------------------\n\t\t");

for(i=0;i<2000000000;i++)

if(i%40000000==0)printf(">");

system("cls");

printf("\n\n--------------------------------------------------------------------------------\n\n");

printf("欢迎使用学生成绩管理系统!

");

printf("\n\n--------------------------------------------------------------------------------\n\n");

printf("\n\t\t程序加载完成!

\n");

printf("\t\t--------------------------------------------------\n");

printf("\t\t>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n");

system("pause");

system("cls");

printf("\n\n\t\t\t学生成绩管理系统\n\n");

if(open==1)printf("当前被打开的文件为:

%s",name);

elseprintf("暂无文件被打开");

t=time(NULL);

ptr=gmtime(&t);

printf(ctime(&t));

printf("--------------------------------------------------------------------------------\n");

printf("1、新建\t2、查询\t3、插入\t4、删除\t5、修改\n\n");

printf("6、导入\t7、导出\t8、清空\t9、排序\t10、退出\n\n");

printf("--------------------------------------------------------------------------------\n");

printf("请选择相应操作:

");

while(scanf("%d",&choose)!

=EOF)

{

switch(choose)

{

case1:

snew();

break;

case2:

squery();

break;

case3:

sinsert();

break;

case4:

sdelete();

break;

case5:

salter();

break;

case6:

sinput();

break;

case7:

soutput();

break;

case8:

sclear();

break;

case9:

sorder();

break;

case10:

system("cls");

printf("\n\n--------------------------------------------------------------------------------\n\n");

printf("谢谢使用!

");

printf("\n\n--------------------------------------------------------------------------------\n\n");

system("pause");

exit(0);

default:

ch=getchar();

}

system("cls");

printf("\n\n\t\t\t学生成绩管理系统\n\n");

if(open==1)printf("当前被打开的文件为:

%-35s",name);

elseprintf("暂无文件被打开");

t=time(NULL);

ptr=gmtime(&t);

printf(ctime(&t));

printf("--------------------------------------------------------------------------------\n");

printf("1、新建\t2、查询\t3、插入\t4、删除\t5、修改\n\n");

printf("6、导入\t7、导出\t8、清空\t9、排序\t10、退出\n\n");

printf("--------------------------------------------------------------------------------\n");

printf("请选择相应操作:

");

choose=12;

}

return0;

}

intsnew()

{

intn=0,exit=1;

chartemp;

system("cls");

printf("\n学生成绩查询系统——新建\n-----------------------------------------------------------------------\n\n");

if(open==1)

{

printf("是否关闭当前文件(%s)?

(Y/N)\n",name);

ch=getchar();

scanf("%c",&temp);

while(temp!

='Y'&&temp!

='N'&&temp!

='y'&&temp!

='n')

{

system("cls");

printf("\n学生成绩查询系统——新建\n-----------------------------------------------------------------------\n\n");

printf("输入错误!

请重新输入……\n");

printf("是否关闭当前文件(%s)?

(Y/N)\n",name);

ch=getchar();

scanf("%c",&temp);

}

if(temp=='Y'||temp=='y'){fclose(fp);open=0;}

if(temp=='N'||temp=='n')return1;

}

if(open==0)

{

system("cls");

while((ch=getchar())!

='\n'&&ch!

=EOF);

printf("\n学生成绩查询系统——新建\n-----------------------------------------------------------------------\n\n");

printf("请输入新建文件的名称及路径(如D:

\\abc.txt):

\n");

while(scanf("%s",name)!

=EOF)

{

fp=fopen(name,"w+");

open=1;

system("cls");

printf("\n学生成绩查询系统——新建——录入数据\n-----------------------------------------------------------------------\n\n");

head=NULL;

printf("是否录入数据?

(1)、否(0)\n");

scanf("%d",&exit);

while(exit==1)

{

n++;

if(n==1){p1=p2=(structstudent*)malloc(LEN);head=p1;}

else{p1=(structstudent*)malloc(LEN);p2->next=p1;p2=p1;}

system("cls");

printf("\n学生成绩查询系统——新建——录入数据\n-----------------------------------------------------------------------\n\n");

printf(SINFO);

while(scanf(IFORM,IFORM2)!

=7)

{

system("cls");

printf("\n学生成绩查询系统——新建——录入数据\n-----------------------------------------------------------------------\n\n");

printf("输入错误!

,请重新输入\n");

printf(SINFO);

}

printf("录入的数据为:

\n");

printf(OFORM,OFORM2);

while((ch=getchar())!

='\n'&&ch!

=EOF);

printf("\n是否继续录入数据?

(1)、否(0)\n");

scanf("%d",&exit);

system("cls");

printf("\n学生成绩查询系统——新建——录入数据\n-----------------------------------------------------------------------\n\n");

}

if(n>0)p2->next=NULL;

n=0;

p1=head;

while(p1!

=NULL)

{

n++;

if(n>1)fprintf(fp,"\n");

fprintf(fp,OFORM,OFORM2);

p1=p1->next;

}

fclose(fp);

fp=fopen(name,"r+");

system("cls");

printf("\n学生成绩查询系统——新建\n-----------------------------------------------------------------------\n\n");

printf("新建文件成功!

\n\n");

printf("文件名为:

%s\n",name);

system("pause");break;

}

}

}

intsquery()

{

intchoose,back=1,exit=0,success=0;

intchoose2,choose3,yes;

charnum[12];

system("cls");

printf("\n学生成绩查询系统——查询\n-----------------------------------------------------------------------\n\n");

if(open==0)

{

printf("没有打开的文件!

请先导入或新建一个文件……\n");

system("pause");

return1;

}

if(open==1)

{

printf("请选择查询条件:

\n");

printf("1、浏览文件\t2、学号查询\t3、姓名查询\n");

printf("4、成绩查询\t5、退出查询\n");

while((ch=getchar())!

='\n'&&ch!

=EOF);

while(scanf("%d",&choose)!

=EOF)

{

switch(choose)

{

case1:

system("cls");

printf("\n学生成绩查询系统——查询——浏览文件\n-----------------------------------------------------------------------\n\n");

fclose(fp);

fp=fopen(name,"r+");

p1=head;

printf(SINFO2);

while(p1!

=NULL)

{

printf(OFORM1,OFORM2);

printf("\n");

p1=p1->next;

}

system("pause");break;

case2:

system("cls");

printf("\n学生成绩查询系统——查询——学号查询\n-----------------------------------------------------------------------\n\n");

printf("请输入需要查询的学号:

\n");

if(scanf("%s",num)==EOF)strcpy(num,"fdsafga");

system("cls");

printf("\n学生成绩查询系统——查询——学号查询——查询结果\n-----------------------------------------------------------------------\n\n");

fclose(fp);

fp=fopen(name,"r+");

p1=head;

printf(SINFO2);

while(p1!

=NULL)

{

if(strcmp(num,p1->number)==0)

{

printf(OFORM1,OFORM2);

printf("\n");

success=1;

}

p1=p1->next;

}

if(success==0)printf("无记录!

\n");

success=0;

system("pause");break;

case3:

system("cls");

printf("\n学生成绩查询系统——查询——姓名查询\n-----------------------------------------------------------------------\n\n");

printf("请输入需要查询的姓名:

\n");

if(scanf("%s",num)==EOF)strcpy(num,"fdsafga");

system("cls");

printf("\n学生成绩查询系统——查询——姓名查询——查询结果\n-----------------------------------------------------------------------\n\n");

fclose(fp);

fp=fopen(name,"r+");

p1=head;

printf(SINFO2);

while(p1!

=NULL)

{

if(strcmp(num,p1->name)==0)

{

printf(OFORM1,OFORM2);

printf("\n");

success=1;

}

p1=p1->next;

}

if(success==0)printf("无记录!

\n");

success=0;

system("pause");break;

case4:

system("cls");

printf("\n学生成绩查询系统——查询——成绩查询——科目选择\n-----------------------------------------------------------------------\n\n");

printf("请选择查询的科目:

\n");

printf("1、大学英语\t2、高等数学\t3、线性代数\n");

printf("4、政治\t5、计算机导论\n");

while((ch=getchar())!

='\n'&&ch!

=EOF);

while(scanf("%d",&choose2)==EOF)

{

system("cls");

printf("\n学生成绩查询系统——查询——成绩查询——科目选择\n-----------------------------------------------------------------------\n\n");

printf("选择错误!

请重新选择……\n");

printf("1、大学英语\t2、高等数学\t3、线性代数\n");

printf("4、政治\t5、计算机导论\n");

}

system("cls");

printf("\n学生成绩查询系统——查询——成绩查询——分数选择\n-----------------------------------------------------------------------\n\n");

printf("请选择查询条件:

\n");

printf("1、<60分\t2、60~70分\t3、70~80分\n");

printf("4、80~90分\t5、90~100分\n");

while(scanf("%d",&choose3)==EOF)

{

system("cls");

printf("\n学生成绩查询系统——查询——成绩查询——分数选择\n-----------------------------------------------------------------------\n\n");

printf("选择错误!

请重新选择……\n");

printf("1、<60分\t2、60~70分\t3、70~80分\n");

printf("4、80~90分\t5、90~100分\n");

}

if(choose2>=1&&choose2<=5&&choose3>=1&&choose3<=5){

system("cls");

printf("\n学生成绩查询系统——查询——成绩查询——查询结果\n-----------------------------------------------------------------------\n\n");

p1=head;

printf(SINFO2);

while(p1!

=NULL)

{

switch(choose3)

{

case1:

yes=(p1->grade[choose2-1]<60);break;

case2:

yes=(p1->grade[choose2-1]>=60&&p1->grade[choose2-1]<70);break;

case3:

yes=(p1->grade[choose2-1]>=70&&p1->grade[choose2-1]<80);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2