#include”stdio.h”
#include”conio.h”
#include”string.h”
#include”stdlib.h”
void look(); /*声明查看函数*/
void save(); /*声明保存函数*/
void search_name(); /*声明按姓名查看函数*/
void search_number(); /*声明按学号查看函数*/
void order(); /*声明排序函数*/
void del(); /*声明删除函数*/
int openl(); /*声明打开函数*/
void welcome(); /*声明我的个人信息函数*/
void type(); /*声明输入函数*/
void see(); /*声明打开并查看文件函数*/
struct student /*定义学生信息的结构体类型*/
{
char num[15]; /*学号*/
char name[20]; /*姓名*/
char sex[4]; /*性别*/
int english; /*英语成绩*/
int math; /*数学成绩*/
int chinese; /*语文成绩*/
float aver; /*平均成绩*/
float sum; /*总成绩*/
}stu[100];
int n; /*声明一个全局变量*/
void main() /*主函数即用户的操作界面*/
{
system(“color 1E”); /*设计文本颜色*/
int b,flag=0; /*声明局部变量*/
while(1) /*循环输出以下信息*/
{
printf(“nttt欢迎来到学生成绩管理系统!n”);
printf(“ntttt ###制作n”);
printf(“ttt——————————-n”);
printf(“ttt1.键入学生的信息nn”); /*键入学生的信息*/
printf(“ttt2.查看录入的学生信息nn”); /*查看录入的学生信息*/
printf(“ttt3.按姓名查看学生的信息nn”); /*按姓名查看学生的信息*/
printf(“ttt4.按学号查看学生的信息nn”); /*按学号查看学生的信息*/
printf(“ttt5.按平均成绩排序nn”); /*排序*/
printf(“ttt6.删除学生信息nn”); /*删除学生信息*/
printf(“ttt7.保存学生信息nn”); /*保存*/
printf(“ttt8.打开文件nn”); /*打开文件*/
printf(“ttt9.我的个人信息nn”); /*我的个人信息*/
printf(“ttt0.退出nn”); /*退出*/
printf(“ttt请输入你的选择:”);
scanf(“%d”,&b);
switch(b)
{
case 1:type();break; /*调用键入学生信息函数*/
case 2:look();break; /*调用查看函数*/
case 3:search_name();break; /*调用姓名查看函数*/
case 4:search_number();break; /*调用学号查看函数*/
case 5:order();break; /*调用排序函数*/
case 6:del();break;/*调用删除函数*/
case 7:save();break;/*调用保存函数*/
case 8:see();break;/*调用打开文件函数*/
case 9:welcome();break;/*调用我的个人信息函数*/
case 0:flag=1;break;/*退出SWITCH语句*/
default :printf(“错误!”);
}
if(flag) break; /*如果选择0就退出循环*/
}
}
void welcome() /*我的个人信息函数*/
{
system(“CLS”);
printf(“nntt————个人信息————“); /*在屏幕上输出一下信息*/
printf(“nnnntt姓名:###”);
printf(“tttSex:#n”);
printf(“tt年龄:#n”);
printf(“nttt——–学习经历——–nnn”);
printf(“tt小学:######nn”);
printf(“tt初中:#####nn”);
printf(“ttS高中:######nn”);
printf(“tt大学:######nn”);
printf(“nntt按任意键返回欢迎屏幕!”);
getch(); /*按任意键返回主函数*/
}
void type() /*定义键入学生信息函数*/
{
system(“CLS”);
int i; /*定义局部变量*/
printf(“tt输出你想输入的学生信息个数:”);
scanf(“%d”,&n);
for(i=0;i<n;i++) /*输入每个学生的信息*/
{
printf(“nttt—————-n”);
printf(“ttt学号:”);
scanf(“%s”,&stu[i].num); /*输入学号*/
printf(“ttt姓名:”);
scanf(“%s”,&stu[i].name); /*输入姓名*/
printf(“ttt性别:”);
scanf(“%S”,&stu[i].sex); /*输入性别*/
printf(“ttt英语:”);
scanf(“%d”,&stu[i].english); /*输入英语成绩*/
printf(“ttt数学:”);
scanf(“%d”,&stu[i].math); /*输入数学成绩*/
printf(“ttt语文:”);
scanf(“%d”,&stu[i].chinese); /*输入语文成绩*/
stu[i].aver=((float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese)/3;/*计算平均成绩*/
stu[i].sum=(float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese;/*计算总成绩*/
printf(“ttt平均成绩=%4.1fn”,stu[i].aver); /*输出平均成绩*/
printf(“ttt总成绩=%4.1fn”,stu[i].sum); /*输出总成绩*/
}
printf(“nnttt按任意键返回菜单!!”);
getch();
save();
}
void save() /*建立保存文件函数*/
{
system(“CLS”);
FILE *fp; /*定义文件型指针*/
int i;
if((fp=fopen(“student.txt”,”wb”))==NULL) /*打开输出文件*/
{
printf(“不能打开文件!n”);
return; /*终止程序*/
}
for(i=0;i<n;i++) /*向student文件中写入信息*/
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf(“文件写入错误n”);
fclose(fp); /*关闭文件*/
printf(“nnnnttt学生信息保存成功!n”);
printf(“nnnnttt按任意键返回菜单!!”);
getch();
}
void look() /*定义查看函数*/
{
system(“CLS”);
int i;
//n=openl(); /*调用openl函数*/
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++) /*输出所有的学生信息*/
{
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
}
printf(“nnnttt按任意键返回菜单”);
getch();
}
void search_name() /*按姓名查看函数*/
{
system(“CLS”);
int i;
char name[20]; /*声明字符数组*/
printf(“ttt请输入学生姓名:n”);
scanf(“%s”,name);
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++)
if(strcmp(stu[i].name,name)==0) /*将输入的姓名与结构体中的姓名进行比较*/
{
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
printf(“nnnttt按任意键返回菜单”);
}
getch();
}
void search_number() /*定义按学号查看函数*/
{
system(“CLS”);
int i;
char number[15]; /*声明字符数组*/
printf(“ttt请输入学号:n”);
scanf(“%s”,number);
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++)
if(strcmp(stu[i].num,number)==0) /*将输入的学号与结构体中的学号进行比较*/
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
printf(“nnnttt按任意键返回菜单”);
getch();
}
void order() /*定义排序函数*/
{
system(“CLS”);
int i,j;
char a;
struct student temp; /*声明结构体变量*/
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++) /*对数据进行排序*/
{
for(j=i+1;j<n;j++)
if(stu[i].sum<stu[j].sum)
{
temp=stu[i];
stu[i]= stu[j];
stu[j]=temp;
}
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
}
getch();
printf(“是否保存?(y or n)”);
getchar();
scanf(“%c”,&a);
if(a==’y’) /*是否保存排序后的文件*/
save();
else
printf(“退出”);
getch();
}
void del() /*定义删除学生信息函数*/
{
int i;
char a;
char name[20];
system(“CLS”);
printf(“ttt输入学生名字:n”);
scanf(“%s”,name);
system(“CLS”);
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++)
if(strcmp(stu[i].name,name)==0)
{
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
getch();
printf(“真的删除?(y or n)”);
getchar();
scanf(“%c”,&a);
if(a==’y’) /*是否删除该信息*/
{
for(;i<n;i++)
stu[i]=stu[i+1];
n=n-1;
printf(“你已经删除信息”);
}
else
printf(“退出”);
getch();
}
save();
}
int openl() /*定义打开文件函数*/
{
system(“CLS”);
int i;
FILE *fp;
if((fp=fopen(“student.txt”,”rb”))==NULL)
{
printf(“Cannot open file.n”);
exit(0);
}
for(i=0;!feof(fp);i++)
fread(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
return(i-1);
}
void see() /*打开并查看文件*/
{
system(“CLS”);
int i;
n=openl();
printf(“文件打开成功!n”);
printf(“按任意键查看!n”);
getch();
printf(“t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n”);
for(i=0;i<n;i++) /*输出所有的学生信息*/
{
printf(“%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn”,stu[i].num,stu[i].name,
stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);
}
printf(“nnnttt按任意键返回菜单”);
getch();
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/baike/33932.html