C语言学生成绩管理系统编码.docx
- 文档编号:12131825
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:17
- 大小:210.78KB
C语言学生成绩管理系统编码.docx
《C语言学生成绩管理系统编码.docx》由会员分享,可在线阅读,更多相关《C语言学生成绩管理系统编码.docx(17页珍藏版)》请在冰豆网上搜索。
C语言学生成绩管理系统编码
#include
//最多考试科目
#include
voidmenu();voidquanbu();voidinsert();
voidchange();voiddele();
voidfind();
voidpingjun();//voidquanbu();
//界面
//显示全部数据
//增加数据
//修改学生数据
//删除数据
//查看某位同学记录
//按平均分排序
//
//结构
//我假设一次最
structstudent
char
xue[20];
//学号
char
ming[10];
//姓名
float
chengji[kemu];
//M门成绩
float
zong;
//总分
float
pingjun;
//平均分
}xuesheng[100],xuesheng2[100],x2;
多有100名学生要输入数据
//////////////////////////////voidinsert()//增加数据函数
{
inti;
charyn;
chardaiti[20];
FILE*fp=NULL;/*定义文件指针*/fp=fopen("学生记录.txt","a+");
if((fp)==NULL)/*如果打开文件失败,则结束程序*/{
printf("文件不存在!
\n");
getch();/*待按任意键继续*/
for(i=0;i<100;i++)
{
exit(0);
/*终止程序*/
号!
\n\n\n");
名字!
\n\n\n");
=(xuesheng[i].chengji
[1]+xuesheng[i].chengji
if(i%2==0)
{
printf("要加入学生数据吗?
y/n:
\n");
}
scanf("%c",&yn);
if(yn=='n')
{
break;
}
elseif(yn=='y')
{
printf("请输入5位数以内的学号:
");scanf("%s",xuesheng[i].xue);if(strlen(xuesheng[i].xue)>5)
{
printf("输入错误!
请输入5位数以内的学
zeng();
}
printf("输入4个汉字以内的名字:
");scanf("%s",xuesheng[i].ming);if(strlen(xuesheng[i].ming)>8)
{
printf("输入错误!
请输入4个汉字以内的
zeng();
}
printf("
请输入程序成绩:
");
scanf("%f",&xuesheng[i].chengji
[0]
printf("
请输入英语成绩:
");
scanf("%f",&xuesheng[i].chengji
[1]
printf("请输入网页成绩:
");
scanf("%f",&xuesheng[i].chengji[2]);
xuesheng[i].pingjun
[0]+xuesheng[i].chengji
[2])/3;
g[i].xue,xuesheng[i].ming,
[0],xuesheng[i].chengji
xuesheng[i].chengji
[1],xuesheng[i].chengji
[2],xuesheng[i].pingjun);
}
fclose(fp);
system("cls");
jie();
}
////////////////////////////
voidchange()//修改数据{
inti,j;
chara[20];//要修改学生的学号
charyn;
FILE*fp;
system("cls");
fp=fopen("学生记录.txt","r");
if((fp)==NULL)/*如果打开文件失败,则结束程序*/{
printf("文件不存在!
\n");
getch();/*待按任意键继续*/
exit(0);/*终止程序*/}
printf("请输入要修改学生的学号:
");
scanf("%s",a);
for(i=0;i<100;i++)
{
fscanf(fp,"
\n",xuesheng2[i].xue
%s\t%s%f\t
xuesheng2[i].ming,
%f\t%f\t%f\t
&xuesheng2[i].chengji
[0],&xuesheng2[i].chengji
[2],&xuesheng2[i].pingjun);
[1],&xuesheng2[i].chengji
==NULL)
if(xuesheng2[i].xue
{
break;
}
for(i=0;i<100;i++)
{
if(strcmp(xuesheng2[i].xue,a)==0)
{printf("请输入5位数以内的学号:
");scanf("%s",xuesheng2[i].xue);if(strlen(xuesheng2[i].xue)>5)
号!
\n\n\n");
{printf("输入错误!
请输入5位数以内的学
getch();xiu();
}printf("输入4个汉字以内的名字:
");scanf("%s",xuesheng2[i].ming);
if(strlen(xuesheng2[i].ming)>8){
printf("输入错误!
请输入4个汉字以内的
名字!
\n\n\n");
getch();
xiu();
printf("请输入程序成绩:
");scanf("%f",&xuesheng2[i].chengjiprintf("请输入英语成绩:
");scanf("%f",&xuesheng2[i].chengji
[0]
[1]
printf("请输入网页成绩:
");
scanf("%f",&xuesheng2[i].chengji
[2]
xuesheng2[i].pingjun
=(xuesheng2[i].chengji
[0]+xuesheng2[i].chengji
[1]+xuesheng2[i].chengji
[2])/3;
}}
fprintf(fp,"%s\t\t%s\t\t%f\t\t%f\t\t%f\t\t%f\t\t\n",xuesheng2[i].xue,xuesheng2[i].ming,xuesheng2[i].chengji[0],xuesheng2[i].chengji[1],xuesheng2[i].chengji
[2],xuesheng2[i].pingjun);
}else
break;
{
fclose(fp);printf("\n\t\t\tgetch();jie();
}
////////////////////////////
inti,j;
char
a[20];
//要删除学生的学号
char
yn;
FILE
*fp;
system("cls");
fp=fopen("学生记录.txt","r");
if((fp)==NULL)/*如果打开文件失败,则结束程序*/{
printf("getch();
文件不存在!
\n");
/*待按任意键继续*/
exit(0);/*终止程序*/
}
printf("请输入要删除学生的学号:
");scanf("%s",a);
for(i=0;i<100;i++)
{
xuesheng2[i].xue[0]<='9')
}
else
{
break;
}
for(i=0;i<100;i++)
a)==0)
if(strcmp(xuesheng2[i].xue
{
printf("学号姓名程序成绩英语
成绩网页成绩平均成绩\n");
printf("
");
printf("%s\f\t
%s\f\t%.2f\f\t
%.2f\f\t
%.2f\f\t
%
.2f\f\t\n",xuesheng2[i].xue
xuesheng2[i].ming,
xuesheng2[i].chengji[0],xuesheng2[i].chengji
[1],xuesheng2[i].chengji
[2],xuesheng2[i].pingjun);
break;
}
if(i==100)
{
printf("不存在此学生!
");
}
for(j=i;j<100;j++)
{
xuesheng2[j]
=xuesheng2[j+1]
xuesheng2[i].xue[0]
}
fclose(fp);
getch();
fp=fopen("
<='9')
学生记录.txt","w");
for(i=0;i<100;i++)
{
if(xuesheng2[i].xue[0]
{
xuesheng2[i].chengji
[1],xuesheng2[i].chengji
);
g2[i].xue,xuesheng2[i].ming
[0],xuesheng2[i].chengji
[2],xuesheng2[i].pingjun
}else
break;
{
}
fclose(fp);
printf("\n\t\t\t请按任意键继续。
。
。
\n");getch();
jie();
}
////////////////////////////
voidfind()//查询学生记录
{
inti;
charyn;
chara[20];//要查询的姓名
FILE*fp;system("cls");
fp=fopen("学生记录.txt","r");
if((fp)==NULL)/*如果打开文件失败,则结束程序*/{
printf("文件不存在!
\n");
getch();/*待按任意键继续*/
printf("请输入要查询学生的姓名:
");
scanf("%s",&a);
for(i=0;i<=100;i++)
{
printf("
");
[2],xuesheng[i].pingjun);
}scanf("%c",&yn);printf("请问要继续查看吗?
y/n:
\n");scanf("%c",&yn);if(yn=='y')
{
fclose(fp);
cha();
}
else
fclose(fp);
jie();
}
////////////////////////////
voidpingjun()//按平均分排序
{inti,j;
chara[20];
charyn;
FILE*fp;
system("cls");
fp=fopen("学生记录.txt","r");
if((fp)==NULL)/*如果打开文件失败,则结束程序*/{
printf("文件不存在!
\n");
getch();/*待按任意键继续*/
exit(0);/*终止程序*/}
for(i=0;i<100;i++)
{
[2],&xuesheng2[i].pingjun);
for(i=0;i<100;i++)
for(j=i+1;j<100;j++)
{
if(xuesheng2[i].pingjun
x2=xuesheng2[i]; xuesheng2[j]=x2; xuesheng2[i]=xuesheng2[j]; for(i=0,j=1;i<100;i++,j++) { xuesheng2[i].xue[0] if(xuesheng2[i].xue[0]>='0'&&<='9') { printf(”第%d名 system("cls"); fp=fopen("学生记录.txt","r"); if((fp)==NULL)/*如果打开文件失败,则结束程序*/{printf("文件不存在! \n"); getch();/*待按任意键继续*/exit(0);/*终止程序*/ } 成绩 printf("学号姓名程序成绩英语网页成绩平均成绩\n"); printf(" "); for(i=0;i<100;i++) { //编码中发现用结构体xuesheng打印会出现数据混 乱,为此创建了xuesheng2. xuesheng2[i].chengji[0],xuesheng2[i].chengji [1],xuesheng2[i].chengji[2],xuesheng2[i].pingjun);}else break; }fclose(fp); printf("\n\t\t\t请按任意键继续。 。 。 \n"); getch(); menu(); } ////////////////////////////// voidmenu()//界面. { intxuanze;system("cls"); printf("\n\t\t\t 学生成绩管理系统 \n"); printf("\t\t*\t\t1. 增加学生记录\t *\n"); printf("\t\t*\t\t2. 修改学生记录\t *\n"); printf("\t\t*\t\t3. 删除学生记录\t *\n"); printf("\t\t*\t\t4. 查询学生记录\t *\n"); printf("\t\t*\t\t5. 按学生平均分排序\t *\n"); printf("\t\t*\t\t6. 显示学生全部记录\t *\n"); printf("\t\t*\t\t7. 退出 *\n"); printf("\t\t***********************************************\n"); printf("\t\t** ******************************************* **\n" ); printf("\n\t\t请选择<1—7>: \n"); scanf("%d",&xuanze); switch(xuanze) { case (1): zeng();break; case (2): xiu();break; case(3): shan();break; case(4): cha();break; case(5): pingjun();break; case(6): quanbu();break; case(7): exit(7);break; default: printf("输入错误,请重新输入! ");getch();system("cls");jie(); ////////// main() { printf("\n\t\t\t******************************\n"); printf("\t\t\t* *\n") printf("\t\t\t* 作品: 学生成绩管理系统 *\n"); printf("\t\t\t* 作者: 黄华 *\n"); printf("\t\t\t* 班级: 10计应1班 *\n"); printf("\t\t\t* 学号: 20100201077 *\n"); printf("\t\t\t* *\n") printf("\t\t\t******************************\n"); printf("\n\t\t\t请按任意键继续。 。 。 \n"); getch();/*待按任意键继续*/system("cls"); menu();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 编码