c语言大作业.docx
《c语言大作业.docx》由会员分享,可在线阅读,更多相关《c语言大作业.docx(10页珍藏版)》请在冰豆网上搜索。
c语言大作业
#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
intlook();/*声明查看函数*/
intsave();/*声明保存函数*/
intsearch_name();/*声明按姓名查看函数*/
intsearch_number();/*声明按学号查看函数*/
intorder();/*声明排序函数*/
intdel();/*声明删除函数*/
intopenl();/*声明打开函数*/
intwelcome();/*声明我的个人信息函数*/
inttype();/*声明输入函数*/
intsee();/*声明打开并查看文件函数*/
structstudent/*定义学生信息的结构体类型*/
{
charnum[15];/*学号*/
charname[20];/*姓名*/
charsex[4];/*性别*/
intchinese;/*语文成绩*/
intenglish;/*英语成绩*/
intmath;/*数学成绩*/
intscience;/*科学成绩*/
intphy;/*体育成绩*/
floataver;/*平均成绩*/
floatsum;/*总成绩*/
}stu[100];
intn;/*声明一个全局变量*/
intmain()/*主函数即用户的操作界面*/
{
system("color1E");/*设计文本颜色*/
intb,flag=0;/*声明局部变量*/
while
(1)/*循环输出以下信息*/
{
printf("\n\t\t\t欢迎来到学生成绩管理系统!
\n");
printf("\n\t\t\t\t赵仓龙、刘铄制作\n");
printf("\t\t\t-------------------------------\n");
printf("\t\t\t1.键入学生的信息\n\n");/*键入学生的信息*/
printf("\t\t\t2.查看录入的学生信息\n\n");/*查看录入的学生信息*/
printf("\t\t\t3.按姓名查看学生的信息\n\n");/*按姓名查看学生的信息*/
printf("\t\t\t4.按学号查看学生的信息\n\n");/*按学号查看学生的信息*/
printf("\t\t\t5.按平均成绩排序\n\n");/*排序*/
printf("\t\t\t6.删除学生信息\n\n");/*删除学生信息*/
printf("\t\t\t7.保存学生信息\n\n");/*保存*/
printf("\t\t\t8.打开文件\n\n");/*打开文件*/
printf("\t\t\t9.我的个人信息\n\n");/*我的个人信息*/
printf("\t\t\t0.退出\n\n");/*退出*/
printf("\t\t\t请输入你的选择:
");
scanf("%d",&b);
switch(b)
{
case1:
type();break;/*调用键入学生信息函数*/
case2:
look();break;/*调用查看函数*/
case3:
search_name();break;/*调用姓名查看函数*/
case4:
search_number();break;/*调用学号查看函数*/
case5:
order();break;/*调用排序函数*/
case6:
del();break;/*调用删除函数*/
case7:
save();break;/*调用保存函数*/
case8:
see();break;/*调用打开文件函数*/
case9:
welcome();break;/*调用我的个人信息函数*/
case0:
flag=1;break;/*退出SWITCH语句*/
default:
printf("错误!
");
}
if(flag)break;/*如果选择0就退出循环*/
}
}
intwelcome()/*我的个人信息函数*/
{
system("CLS");
printf("\n\n\t\t------------个人信息------------");/*在屏幕上输出一下信息*/
printf("\n\n\n\n\t\t姓名:
");
printf("\t\t\tSex:
m\n");
printf("\t\t年龄:
20\n");
printf("\n\n\n\n\t\t姓名:
");
printf("\t\t\tSex:
m\n");
printf("\t\t年龄:
20\n");
printf("\n\n\t\t按任意键返回欢迎屏幕!
");
getch();/*按任意键返回主函数*/
}
inttype()/*定义键入学生信息函数*/
{
system("CLS");
inti;/*定义局部变量*/
printf("\t\t输出你想输入的学生信息个数:
");
scanf("%d",&n);
for(i=0;i{
printf("\n\t\t\t----------------\n");
printf("\t\t\t学号:
");
scanf("%s",&stu[i].num);/*输入学号*/
printf("\t\t\t姓名:
");
scanf("%s",&stu[i].name);/*输入姓名*/
printf("\t\t\t性别:
");
scanf("%S",&stu[i].sex);/*输入性别*/
printf("\t\t\t语文:
");
scanf("%d",&stu[i].chinese);/*输入英语成绩*/
printf("\t\t\t数学:
");
scanf("%d",&stu[i].math);/*输入数学成绩*/
printf("\t\t\t英语:
");
scanf("%d",&stu[i].english);/*输入语文成绩*/
printf("\t\t\t科学:
");
scanf("%d",&stu[i].science);
printf("\t\t\t体育:
");
scanf("%d",&stu[i].phy);
}
printf("\n\n\t\t\t按任意键返回菜单!
!
");
getch();
save();
}
intsave()/*建立保存文件函数*/
{
system("CLS");
FILE*fp;/*定义文件型指针*/
inti;
if((fp=fopen("C语言大作业测试数据.txt","wb"))==NULL)/*打开输出文件*/
{
printf("不能打开文件!
\n");
return0;/*终止程序*/
}
for(i=0;iif(fwrite(&stu[i],sizeof(structstudent),1,fp)!
=1)
printf("文件写入错误\n");
fclose(fp);/*关闭文件*/
printf("\n\n\n\n\t\t\t学生信息保存成功!
\n");
printf("\n\n\n\n\t\t\t按任意键返回菜单!
!
");
getch();
}
intlook()/*定义查看函数*/
{
system("CLS");
inti;
//n=openl();/*调用openl函数*/
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;i{
printf("%12s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
}
printf("\n\n\n\t\t\t按任意键返回菜单");
getch();
}
intsearch_name()/*按姓名查看函数*/
{
system("CLS");
inti;
charname[20];/*声明字符数组*/
printf("\t\t\t请输入学生姓名:
\n");
scanf("%s",name);
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;iif(strcmp(stu[i].name,name)==0)/*将输入的姓名与结构体中的姓名进行比较*/
{
printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
printf("\n\n\n\t\t\t按任意键返回菜单");
}
getch();
}
intsearch_number()/*定义按学号查看函数*/
{
system("CLS");
inti;
charnumber[15];/*声明字符数组*/
printf("\t\t\t请输入学号:
\n");
scanf("%s",number);
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;iif(strcmp(stu[i].num,number)==0)/*将输入的学号与结构体中的学号进行比较*/
printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
printf("\n\n\n\t\t\t按任意键返回菜单");
getch();
}
intorder()/*定义排序函数*/
{
system("CLS");
inti,j;
chara;
structstudenttemp;/*声明结构体变量*/
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;i{
for(j=i+1;jif(stu[i].sum{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
}
getch();
printf("是否保存?
(yorn)");
getchar();
scanf("%c",&a);
if(a=='y')/*是否保存排序后的文件*/
save();
else
printf("退出");
getch();
}
intdel()/*定义删除学生信息函数*/
{
inti;
chara;
charname[20];
system("CLS");
printf("\t\t\t输入学生名字:
\n");
scanf("%s",name);
system("CLS");
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;iif(strcmp(stu[i].name,name)==0)
{
printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
getch();
printf("真的删除?
(yorn)");
getchar();
scanf("%c",&a);
if(a=='y')/*是否删除该信息*/
{
for(;istu[i]=stu[i+1];
n=n-1;
printf("你已经删除信息");
}
else
printf("退出");
getch();
}
save();
}
intopenl()/*定义打开文件函数*/
{
system("CLS");
inti;
FILE*fp;
if((fp=fopen("C语言大作业测试数据.txt","rb"))==NULL)
{
printf("Cannotopenfile.\n");
exit(0);
}
for(i=0;!
feof(fp);i++)
fread(&stu[i],sizeof(structstudent),1,fp);
fclose(fp);
return(i-1);
}
intsee()/*打开并查看文件*/
{
system("CLS");
inti;
n=openl();
printf("文件打开成功!
\n");
printf("按任意键查看!
\n");
getch();
printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");
for(i=0;i{
printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].chinese,stu[i].math,stu[i].english,stu[i].science,stu[i].phy);
}
printf("\n\n\n\t\t\t按任意键返回菜单");
getch();}