C语言设计.docx

上传人:b****8 文档编号:10292923 上传时间:2023-02-09 格式:DOCX 页数:14 大小:16.25KB
下载 相关 举报
C语言设计.docx_第1页
第1页 / 共14页
C语言设计.docx_第2页
第2页 / 共14页
C语言设计.docx_第3页
第3页 / 共14页
C语言设计.docx_第4页
第4页 / 共14页
C语言设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言设计.docx

《C语言设计.docx》由会员分享,可在线阅读,更多相关《C语言设计.docx(14页珍藏版)》请在冰豆网上搜索。

C语言设计.docx

C语言设计

#include

#include

#include

structstudent

{

intnum;

charname[100];

charsex[100];

intqsnum;

intdhnum;

}stu[100];//建立学生基本信息结构体

structStudent

{

intnum;

intkcnum;

charkcmc[100];

intxf;

intpscj;

intsycj;

intjmcj;

intzhcj;

floatsdxf;

}Stu[100];//建立学生课程情况结构体

voidSJLR()

{

inti=0,n=0;

char*s=0;

printf("请输入数据录入的人数\n");//确定录入学生人数,本程序为8人

scanf("%d",&n);

printf("请录入\n");

printf("学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分\n");

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

for(i=0;i

{

scanf("%d",&Stu[i].num);

scanf("%d",&Stu[i].kcnum);

scanf("%s",Stu[i].kcmc);

scanf("%d",&Stu[i].xf);

scanf("%d",&Stu[i].pscj);

scanf("%d",&Stu[i].sycj);

scanf("%d",&Stu[i].jmcj);

if(Stu[i].sycj==-1)//判断是否有实验成绩

Stu[i].zhcj=Stu[i].pscj*0.3+Stu[i].jmcj*0.7;

elseStu[i].zhcj=Stu[i].sycj*0.15+Stu[i].pscj*0.15+Stu[i].jmcj*0.7;//根据录入情况计算综合成绩

if(Stu[i].zhcj<60)

Stu[i].sdxf=Stu[i].xf*0;

elseif(Stu[i].zhcj<70)

Stu[i].sdxf=Stu[i].xf*0.6;

elseif(Stu[i].zhcj<80)

Stu[i].sdxf=Stu[i].xf*0.75;

elseif(Stu[i].zhcj<90)

Stu[i].sdxf=Stu[i].xf*0.8;

elseif(Stu[i].zhcj<=100)

Stu[i].sdxf=Stu[i].xf*1;//根据录入情况计算实得学分

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

}

}

voidCR()

{

inti;

FILE*fp;;

fp=fopen("D:

\\c语言任鹍\\学生基本信息.txt","r");//打开事先录入好的学生基本信息文本文件

if(!

fp)

printf("Openerror\n");

for(i=0;i<50&&!

feof(fp);i++)

fscanf(fp,"%d%s%s%d%d",&stu[i].num,stu[i].name,stu[i].sex,&stu[i].qsnum,&stu[i].dhnum);//将信息倒入学生基本信息结构体

}

voidSearchJB()

{

inti=0;

intk;

printf("请输入要查找的学生学号:

\n");

scanf("%d",&k);

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

if(stu[i].num==k)//查找与录入学号匹配的学生学号

printf("学号%d姓名%s性别%s宿舍号码%d电话号码%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].qsnum,stu[i].dhnum);//输出查询学生基本信息

else;//不执行语句

}

voidSearchJB1()

{

inti=0;

chark[100];

printf("请输入要查找的学生姓名:

\n");

scanf("%s",k);

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

if(strcmp(stu[i].name,k)==0)//查找与录入姓名匹配的学生姓名

printf("学号%d姓名%s性别%s宿舍号码%d电话号码%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].qsnum,stu[i].dhnum);//输出查询学生基本信息

else;//不执行语句

}

voidSearchJB2()

{

inti=0;

intk;

printf("请输入要查找的宿舍号码:

\n");

scanf("%d",&k);

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

if(stu[i].qsnum==k)//查找与录入宿舍号码匹配的宿舍号码

printf("学号%d姓名%s性别%s宿舍号码%d电话号码%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].qsnum,stu[i].dhnum);//输出查询宿舍学生基本信息

else;

}

voidSearchKC()

{

inti=0,p=0;

floatj=0;

intk;

printf("请输入要查找的学生学号:

\n");

scanf("%d",&k);

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

{if(Stu[i].num==k)//查找与录入学号匹配的学生学号

{j+=Stu[i].sdxf;//累加实得学分

p++;//累加所学课程数目

printf("学号%d姓名%s\n",Stu[i].num,stu[i].name);

printf("课程编号%d课程名称%s综合成绩%d实得学分%f\n",Stu[i].kcnum,Stu[i].kcmc,Stu[i].zhcj,Stu[i].sdxf);//输出查询学生课程情况

}

else;

}

printf("共修%d科实得总学分为%f\n",p,j);//输出查询学生课程情况

}

voidDelete()

{inti,k,j;

printf("请输入需要删除学生的学号:

");

scanf("%d",&k);

for(i=0;i<100;i++)//将需要删除的学生基本信息覆盖

{

if(stu[i].num==k)

for(j=i;j<100;j++)

stu[j]=stu[j+1];

}

}

voidsave1()

{FILE*fp;

inti;

freopen("学生基本信息.txt","w",stdout);//将需要的学生基本信息写入目标文本

return;

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

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);//关闭文本

}

voidDelete1()

{inti,k,j;

printf("请输入需要删除学生的学号:

");

scanf("%d",&k);

for(i=0;i<100;i++)//将需要删除的学生课程情况覆盖

{

if(Stu[i].num==k)

for(j=i;j<100;j++)

Stu[j]=Stu[j+1];

}

}

voidsave2()

{FILE*fp;

inti;

freopen("B.txt","w",stdout);//将需要的学生课程情况写入目标文本

return;

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

if(fwrite(&Stu[i],sizeof(structStudent),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);//关闭文本

}

voidOrder()

{inti,j;

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

for(j=0;j<(8-i);j++)

if(Stu[j].zhcj

{Studenttemp=Stu[j];

Stu[j]=Stu[j+1];

Stu[j+1]=temp;//降序排列

}

}

voidOrder1()

{inti,j;

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

for(j=0;j<(8-i);j++)

if(Stu[j].sdxf

{Studenttemp=Stu[j];

Stu[j]=Stu[j+1];

Stu[j+1]=temp;//降序排列

}

}

voidmenu()

{intn,m,i,j;//作为if判断的几个变量

CR();//存入学生基本信息

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

printf("**************************************************\n");

printf("*************欢迎使用学生学籍管理系统*************\n");

printf("*主菜单*\n");

printf("**\n");

printf("*1.数据录入功能*\n");

printf("*2.查询功能*\n");

printf("*3.删除基本信息功能*\n");

printf("*4.删除学习信息功能*\n");

printf("*5.排序功能*\n");

printf("*6.退出系统*\n");

printf("**\n");

printf("*制作:

任鹍05115121*\n");

printf("*张心宇05115122*\n");

printf("**************************************************\n");

printf("**************************************************\n");

printf("请输入选择项(1~5):

");

scanf("%d",&n);

if(n==1)

{SJLR();//手动录入学生课程情况

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

if(n==2)

{printf("*1.学号查基本信息*\n");

printf("*2.姓名查基本信息*\n");

printf("*3.宿舍号码查本室学生*\n");

printf("*4.学号查课程情况*\n");

printf("请输入选择项(1~4):

");

scanf("%d",&m);

if(m==1)

{SearchJB();//学号查询学生基本信息

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

if(m==2)

{SearchJB1();//姓名查询学生基本信息

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

if(m==3)

{SearchJB2();//宿舍号码查询宿舍人员基本信息

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

if(m==4)

{SearchKC();//学号查询学生课程情况

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

}

if(n==3)

{Delete();//删除学生基本信息

save1();//保存学生基本信息至文本文件

printf("学号姓名性别宿舍号码电话号码\n");

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

{printf("%d%s%s%d%d",stu[i].num,stu[i].name,stu[i].sex,stu[i].qsnum,stu[i].dhnum);

printf("\n");

}

}

if(n==4)

{Delete1();//删除学生课程情况

save2();//保存学生课程情况至文本文件

printf("学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分\n");

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

{printf("%d%d%s%d%d%d%d%d%f",Stu[i].num,Stu[i].kcnum,Stu[i].kcmc,Stu[i].xf,Stu[i].pscj,Stu[i].sycj,Stu[i].jmcj,Stu[i].zhcj,Stu[i].sdxf);

printf("\n");

}

}

if(n==5)

{printf("*1.按综合成绩排序*\n");

printf("*2.按实得学分排序*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&m);

if(m==1)

{Order();//按照综合成绩降序排列学生课程情况

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

{printf("%d%d%s%d%d%d%d%d%f",Stu[i].num,Stu[i].kcnum,Stu[i].kcmc,Stu[i].xf,Stu[i].pscj,Stu[i].sycj,Stu[i].jmcj,Stu[i].zhcj,Stu[i].sdxf);

printf("\n");

}

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

if(m==2)

{Order1();//按照实得学分降序排列学生课程情况

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

{printf("%d%d%s%d%d%d%d%d%f",Stu[i].num,Stu[i].kcnum,Stu[i].kcmc,Stu[i].xf,Stu[i].pscj,Stu[i].sycj,Stu[i].jmcj,Stu[i].zhcj,Stu[i].sdxf);

printf("\n");

}

printf("*1.返回*\n");

printf("*2.结束*\n");

printf("请输入选择项(1~2):

");

scanf("%d",&j);

if(j==1)menu();//返回菜单

if(j==2)exit(0);//退出

}

}

if(n==6)

exit(0);//退出

}

intmain()//主函数(任鹍制作)

{voidmenu();//菜单函数(张心宇制作)

voidSJLR();//手动录入学生成绩函数(任鹍制作)

voidCR();//将文本文件中学生基本数据导入结构体(任鹍制作)

voidSearchJB();//学号查询学生基本信息(张心宇制作)

voidSearchJB1();//姓名查询学生基本信息(张心宇制作)

voidSearchJB2();//宿舍号码查询宿舍人员基本信息(张心宇制作)

voidSearchKC();//学号查询学生课程情况(张心宇制作)

voidDelete();//删除学生基本信息(任鹍制作)

voidsave1();//保存学生基本信息至文本文件(张心宇制作)

voidDelete1();//删除学生课程情况(任鹍制作)

voidsave2();//保存学生课程情况至文本文件(张心宇制作)

voidOrder();//按照综合成绩降序排列学生课程情况(任鹍制作)

voidOrder1();//按照实得学分降序排列学生课程情况(任鹍制作)

menu();//运行菜单函数

return0;

}

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1