c语言成绩统计系统
来源:互联网 发布:apache hadoop怎么用 编辑:程序博客网 时间:2024/04/19 19:07
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 10
#define X 60 //及格线
#define MIMA 1225
struct Student
{
char name[15];
int number;
float chinese;
float math;
float english;
float comput;
float daolun;
double average;
};
void zhu_meun();
void jiaoshi_meun();
void xuesheng_meun();
void exit_meun();
void make(struct Student stud[SIZE]);
void chakan(struct Student stud[SIZE]);
void xiugai(struct Student stud[SIZE]);
void aver(struct Student stud[SIZE]);
void zhong(struct Student stud[SIZE]);
void you(struct Student stud[SIZE]);
void zhu_meun()
{
printf("\n");
printf("\t\t\t-= 欢迎使用 =-\n\n");
printf("==============================================================\n");
printf(" * * \n");
printf(" * 【1】教师登陆 【2】学生登陆 【0】 退出 * \n");
printf(" * * \n");
printf("==============================================================\n");
}
void jiaoshi_meun()
{
printf("\n");
printf("\t\t\t-= 欢迎进入教师界面 =-\n\n");
printf(" ======================================================== \n");
printf("| [1] 信息录入 |\n");
printf("| |\n");
printf("| [2] 查看信息 |\n");
printf("| |\n");
printf("| [3] 修改信息 [0] 退出系统 |\n");
printf("| |\n");
printf("| [4] 每门课程平均分 |\n");
printf("| |\n");
printf("| [5] 两门以上课程不及格学生信息 |\n");
printf("| |\n");
printf("| [6] 平均成绩在90分以上或全部成绩在85分以上学生信息 |\n");
printf(" -------------------------------------------------------- \n");
}
void xuesheng_meun()
{
printf("\n\n");
printf("\t\t-= 欢迎进入学生界面 =-\n\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" [1] 成绩查询 [0] 退出系统 \n");
printf(" ^-^ ^-^ \n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
}
void exit_meun()
{
printf("\n\n");
printf("===============================================================\n");
printf(" -= 感谢使用 再见 -= \n");
printf(">>>>>>>>>>>>>>>>>>~~~~~~~~~~~~~~~~~~~~~~~~~<<<<<<<<<<<<<<<<<<<<\n");
}
void make(struct Student stud[SIZE])
{
int n;
printf("Please enter data of students: \n");
printf("=============================================\n");
printf(" 学号 姓名 语文 数学 英语 c语言 导论 \n");
printf("---------------------------------------------\n");
for(n=0;n<SIZE;n++)
scanf("%d%s%f%f%f%f%f",&stud[n].number,stud[n].name,&stud[n].chinese,&stud[n].math,&stud[n].english,
&stud[n].comput,&stud[n].daolun);
}
void chakan(struct Student stud[SIZE])
{
int i;
printf("The data of the students: \n");
printf("=============================================================== \n");
printf(" 学号 姓名 语文 数学 英语 c语言 导论 平均成绩 \n");
printf("--------------------------------------------------------------- \n");
for(i=0;i<SIZE;i++)
{
printf("%-6d%-15s%-7.1f%-7.1f%-7.1f%-7.1f%-7.1f",stud[i].number,stud[i].name,stud[i].chinese,
stud[i].math,stud[i].english,stud[i].comput,stud[i].daolun);
stud[i].average=(stud[i].chinese+stud[i].math+stud[i].english+stud[i].comput+stud[i].daolun)/5.0;
printf("%-7.1f\n",stud[i].average);
}
}
void xiugai(struct Student stud[SIZE])
{
int i,nu,z=0;
printf("Enter the number you want to collect: ");
scanf("%d",&nu);
for(i=0;i<SIZE;i++)
{
if(nu==stud[i].number)
{
z=1;
printf("Enter the right data again:\n");
scanf("%d%s%f%f%f%f%f",&stud[i].number,stud[i].name,&stud[i].chinese,&stud[i].math,&stud[i].english,
&stud[i].comput,&stud[i].daolun);
stud[i].average=(stud[i].chinese+stud[i].math+stud[i].english+stud[i].comput+stud[i].daolun)/5.0;
}
}
if(z==0) printf("Not find!\n");
else printf("Success!\n");
}
void aver(struct Student stud[SIZE])
{
int i;
float a1=0,a2=0,a3=0,a4=0,a5=0;
for(i=0;i<SIZE;i++)
{
a1+=stud[i].chinese;
a2+=stud[i].math;
a3+=stud[i].english;
a4+=stud[i].comput;
a5+=stud[i].daolun;
}
a1/=SIZE;
a2/=SIZE;
a3/=SIZE;
a4/=SIZE;
a5/=SIZE;
printf("语文平均分: %7.1f\n",a1);
printf("数学平均分: %7.1f\n",a2);
printf("英语平均分: %7.1f\n",a3);
printf("c语言平均分:%7.1f\n",a4);
printf("导论平均分: %7.1f\n",a5);
}
void zhong(struct Student stud[SIZE])
{
int i,y=0,t=0;
printf("=============================================================== \n");
printf(" 学号 姓名 语文 数学 英语 c语言 导论 平均成绩 \n");
printf("--------------------------------------------------------------- \n");
for(i=0;i<SIZE;i++)
{
if(stud[i].chinese<X) y++;
if(stud[i].math<X) y++;
if(stud[i].english<X) y++;
if(stud[i].comput<X) y++;
if(stud[i].daolun<X) y++;
if(y>2)
{
printf("%-6d%-15s%-7.1f%-7.1f%-7.1f%-7.1f%-7.1f",stud[i].number,stud[i].name,stud[i].chinese,
stud[i].math,stud[i].english,stud[i].comput,stud[i].daolun);
printf("%-7.1f\n",stud[i].average);
t=1;
}
y=0;
}
if(t==0) printf("Not find!\n");
}
void you(struct Student stud[SIZE])
{
int i,t=0;
printf("=============================================================== \n");
printf(" 学号 姓名 语文 数学 英语 c语言 导论 平均成绩 \n");
printf("--------------------------------------------------------------- \n");
for(i=0;i<SIZE;i++)
{
if(stud[i].average>90||stud[i].chinese>85&&stud[i].math>85&&stud[i].english&&stud[i].comput>85&&stud[i].daolun>85)
{
printf("%-6d%-15s%-7.1f%-7.1f%-7.1f%-7.1f%-7.1f",stud[i].number,stud[i].name,stud[i].chinese,
stud[i].math,stud[i].english,stud[i].comput,stud[i].daolun);
printf("%-7.1f\n",stud[i].average);
t=1;
}
}
if(t==0) printf("Not find!\n");
}
void chaxun(struct Student stud[SIZE])
{
int i,num,t=0;
printf("Please enter your number to know your score: ");
scanf("%d",&num);
for(i=0;i<SIZE;i++)
{
if(num==stud[i].number)
{
t=1;
printf("=============================================================== \n");
printf(" 学号 姓名 语文 数学 英语 c语言 导论 平均成绩 \n");
printf("--------------------------------------------------------------- \n");
printf("%-6d%-15s%-7.1f%-7.1f%-7.1f%-7.1f%-7.1f",stud[i].number,stud[i].name,stud[i].chinese,
stud[i].math,stud[i].english,stud[i].comput,stud[i].daolun);
printf("%-7.1f\n",stud[i].average);
}
}
if(t==0) printf("Enter number error!\n");
}
void save(struct Student stud[SIZE])
{
FILE *fp;
int i ;
if((fp=fopen("stu.dat","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],sizeof(struct Student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void load(struct Student stud[SIZE])
{
FILE *fp;
int i;
if((fp=fopen("stu.dat","rb"))==NULL)
{
printf("cannot open infile\n");
return;
}
for(i=0;i<SIZE;i++)
if(fread(&stud[i],sizeof(struct Student),1,fp)!=1)
{
if(feof(fp))
{
fclose(fp);
return;
}
printf("file read error\n");
}
fclose(fp);
}
int main()
{
struct Student stud[SIZE],*p=stud;
load(p);
system("cls");
zhu_meun();
int i,z=0,j=3,s,k;
while(1)
{
printf("Enter your choice: ");
scanf("%d",&i);
if(i<0||i>2)
{
printf("Please enter the number from 0 to 2 !\n");
continue;
}
switch(i)
{
case 1:
printf("Enter the pass_key: ");
do
{
scanf("%d",&s);
if(s==MIMA)
{
z=1;
break;
}
j--;
printf("Error!Enter again:");
}
while(j>0);
if(z==0)
{
printf("You have enter 3 times!\n");
exit(0);
}
else
{
system("cls");
jiaoshi_meun();
while(1)
{
printf("Enter your choice: ");
scanf("%d",&k);
if(k<0||k>6)
{
printf("Please enter the number from 0 to 6 !\n");
continue;
}
switch(k)
{
case 1:make(p);save(p);break;
case 2:chakan(p);break;
case 3:xiugai(p);save(p);break;
case 4:aver(p);break;
case 5:zhong(p);break;
case 6:you(p);break;
case 0:exit_meun();exit(0);
}
}
}break;
case 2:
int m;
system("cls");
xuesheng_meun();
while(1)
{
printf("Enter your choice:");
scanf("%d",&m);
if(m==1)
{
chaxun(p);
continue;
}
else exit_meun();exit(0);
}break;
case 0:exit_meun();exit(0);
}
}
return 0;
}
- c语言成绩统计系统
- C语言:学生成绩统计系统
- C语言排序(10)___ACM成绩统计
- 第十六周:C语言:学生成绩系统
- Problem C: 统计成绩
- C语言历年考题(某大学学生成绩统计程序)
- c语言杭电1235统计同成绩学生人数
- 《C语言及程序设计》实践参考——成绩统计
- 【C语言经典实例】-数组-使用数组统计学生成绩
- 1038. 统计同成绩学生(20)——C语言
- 学生成绩统计管理系统
- C语言学生成绩信息管理系统课程设计报告
- 用c语言制作简单的成绩判断系统
- c语言成绩管理
- 菜鸟修炼C语言小设计之——成绩统计
- 《C语言及程序设计》实践参考——学生成绩统计
- PAT Basic 1038. 统计同成绩学生(20)(C语言实现)
- C语言初步-第43讲: 从文本文件中读入数据(成绩统计)
- if 条件语句的 “黄金大道法则”
- sublime快捷键一览表
- 3.1mysql索引和查询优化---课程笔记
- 深入理解maven及应用--要学的还很多
- P21 (*) Insert an element at a given position into a list.
- c语言成绩统计系统
- 解决Ora-28056问题
- Picture(HDOJ-2052)
- Spring4.0学习笔记007——AOP基础:动态代理、概念解析
- 2540--第一天--程序的流程分析(per)
- 【Android】intent action 跳转到系统使用,调用系统功能
- 数据结构学习笔记——数组与矩阵压缩
- 使用谷歌Volley和gson序列化,反序列
- BP神经网络算法