学生成绩管理系统vs汇编.docx
《学生成绩管理系统vs汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统vs汇编.docx(15页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统vs汇编
#include
#include
#include
#include
#include
#defineLENsizeof(structstudent)
#defineFORMAT"%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"
#defineDATAstu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
floatIelec,Iexpe,Irequ;
floatFelec,Fexpe,Frequ;
structstudent/*定义学生成绩结构体*/
{
intnum;/*学号*/
charname[15];/*姓名*/
doubleelec;/*选修课*/
doubleexpe;/*实验课*/
doublerequ;/*必修课*/
doublesum;/*总分*/
};
structstudentstu[50];/*定义结构体数组*/
voidinput();/*录入学生成绩信息*/
voidshow();/*显示学生信息*/
voidsort();/*按总分排序*/
voiddel();/*删除学生成绩信息*/
voidmodify();/*修改学生成绩信息*/
voidmenu();/*主菜单*/
voidinsert();/*插入学生信息*/
voidtotal();/*计算总人数*/
voidsearch();/*查找学生信息*/
main()
{
intn;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case1:
input();break;
case2:
search();break;
case3:
del();break;
case4:
modify();break;
case5:
insert();break;
case6:
sort();break;
case7:
total();break;
default:
break;
}
menu();
scanf("%d",&n);
}
}
voidshow()
{
FILE*fp;
inti,m=0;
fp=fopen("d:
\\data.txt","ab+");
while(!
feof(fp))
{
if(fread(&stu[m],LEN,1,fp)==1)
m++;
}
fclose(fp);
printf("numbernameelectiveexperimentrequiredsum\t\n");
for(i=0;i{
printf(FORMAT,DATA);/*将信息按指定格式打印*/
}
}
voidmenu()
{
system("cls");
printf("\n");
printf("\n");
printf("\t|--------------------Studentmanagementsystem--------------------|\n");
printf("\t||\n");
printf("\t|0.exit|\n");
printf("\t||\n");
printf("\t|1.inputrecord|\n");
printf("\t||\n");
printf("\t|2.searchrecord|\n");
printf("\t||\n");
printf("\t|3.deleterecord|\n");
printf("\t||\n");
printf("\t|4.modifyrecord|\n");
printf("\t||\n");
printf("\t|5.insertrecord|\n");
printf("\t||\n");
printf("\t|6.order|\n");
printf("\t||\n");
printf("\t|7.number|\n");
printf("\t||\n");
printf("\t|-----------------------------------------------------------------|\n");
printf("\n");
printf("\n");
printf("choose(0~7):
");
}
voidinput()
{
inti,m=0;
charch[2];
FILE*fp;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)/*打开指定文件*/
{
printf("cannotopen\n");
return;/*返回主函数*/
}
while(!
feof(fp))/*feof()函数是用来判断指针是否已经到达文件尾部的,
若指针指向文件末尾,则返回值为“真”,返回。
*/
{
if(fread(&stu[m],LEN,1,fp)==1)
m++;/*统计当前记录条数*/
}
fclose(fp);
if(m==0)
printf("Norecord!
\n");
else
{
system("cls");
show();/*调用show函数,显示原有信息*/
}
if((fp=fopen("d:
\\data.txt","wb"))==NULL)
{
printf("cannotopen\n");
return;
}
for(i=0;ifwrite(&stu[m],LEN,1,fp);/*向指定磁盘文件写入信息*/
printf("pleaseinput(y/n):
/n");
scanf("%s",&ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("pleaseinputpercentum:
");
printf("\nelective:
");
scanf("%f",&Ielec);
printf("/nexperiment:
");
scanf("%f",&Iexpe);
printf("/nrequiredcourse:
");
scanf("%f",&Irequ);
}
while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("number:
");
scanf("%d",&stu[m].num);/*输入学生学号*/
for(i=0;iif(stu[i].num==stu[m].num)
{
printf("thenumberisexisting,pressanytocontinue!
");
getch();
fclose(fp);
return;
}
printf("name:
");
scanf("%s",&stu[m].name);/*输入学生姓名*/
printf("elective:
");
scanf("%lf",&stu[m].elec);/*输入选修课成绩*/
printf("experiment:
");
scanf("%lf",&stu[m].expe);/*输入实验课成绩*/
printf("requiredcourse:
");
scanf("%lf",&stu[m].requ);/*输入必修课成绩*/
stu[m].sum=stu[m].elec*Ielec+stu[m].expe*Iexpe+stu[m].requ*Irequ;/*计算出总成绩*/
if(fwrite(&stu[m],LEN,1,fp)!
=1)/*将新录入的信息写入指定的磁盘文件*/
{
printf("cannotsave!
");
getch();
}
else
{
printf("%ssaved!
\n",stu[m].name);
m++;
}
printf("continue?
(y/n):
");/*询问是否继续*/
scanf("%s",ch);
}
fclose(fp);
printf("OK!
\n");
}
voidsearch()/*自定义查找函数*/
{
FILE*fp;
intsnum,i,m=0;
charch[2];
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;
if(m==0)
{
printf("norecord!
\n");
return;
}
printf("pleaseinputthenumber:
");
scanf("%d",&snum);/*输入需要查找学生的学号*/
for(i=0;iif(snum==stu[i].num)/**查找出入的学号是否在记录中*/
{
printf("findthestudent,show?
(y/n)");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
{
printf("numbernameelectiveexperimentrequiredsum\t\n");
printf(FORMAT,DATA);/*将查找出得结果按指定格式输出*/
break;
}
}
if(i==m)
printf("cannotfindthestudent!
\n");/*没有找到要查额信息*/
system("pause");
}
voidmodify()/*自定义修改函数*/
{
inti,j,snum,m=0;
FILE*fp;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;
if(m==0)
{
printf("norecord!
\n");
fclose(fp);
return;
}
printf("pleaseinputthenumberofthestudentwhichdoyouwanttomodify!
\n");
scanf("%d",&snum);
for(i=0;iif(snum==stu[i].num)/*检索记录中是否有要修改的信息*/
break;
if(i{
printf("findthestudent!
youcanmodifynow!
\n");
printf("pleaseinputpercentnm:
");
printf("\nelective:
");
scanf("%f",&Ielec);
printf("\nexperiment:
");
scanf("%f",&Iexpe);
printf("\nrequiredcourse:
");
scanf("%f",&Irequ);
printf("name:
\n");
scanf("%s",&stu[i].name);
printf("\nelective:
");
scanf("%lf",&stu[i].elec);
printf("\nexperiment:
");
scanf("%lf",&stu[i].expe);
printf("\nrequiredcourse:
");
scanf("%lf",&stu[i].requ);
stu[i].sum=stu[i].elec*Ielec+stu[i].expe*Iexpe+stu[i].requ*Irequ;
}
else
{
printf("cannotfind!
");
getch();
return;
}
if((fp=fopen("d:
\\data.txt","wb"))==NULL)
{
printf("cannotopen\n");
return;
}
for(j=0;jif(fwrite(&stu[j],LEN,1,fp)!
=1)
{
printf("cannotsave!
");
getch();
}
fclose(fp);
}
voiddel()/*自定义删除函数*/
{
intsnum,i,j,m=0;
charch[2];
FILE*fp;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;
fclose(fp);
if(m==0)
{
printf("norecord!
\n");
return;
}
printf("pleaseinputthenumber:
");
scanf("%d",&snum);
for(i=0;iif(snum=stu[i].num)
break;
printf("findthestudent,delete?
(y/n)");
scanf("%s",ch);
if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
for(j=i;jstu[j]=stu[j+1];
m--;
if((fp=fopen("d:
\\data.txt","wb"))==NULL)
{
printf("cannotopen\n");
return;
}
for(j=0;jif(fwrite(&stu[j],LEN,1,fp)!
=1)/*将更改后的记录重新写入指定的磁盘文件中*/
{
printf("cannotsave!
\n");
getch();
}
fclose(fp);
printf("deletesuccessfully!
\n");
}
voidinsert()/*自定义插入函数*/
{
inti,j,k,snum,m=0;
FILE*fp;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;
if(m==0)
{
printf("norecord!
\n");
fclose(fp);
return;
}
printf("pleaseinputthepositionwhereyouwanttoinsert!
\n");
scanf("%d",&snum);/*输入要插入的位置*/
for(i=0;iif(snum==stu[i].num)
break;
for(j=m-1;j>i;j--)
stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/
printf("pleaseinputthenewinformation:
\n");
printf("number:
");
scanf("%d",&stu[i+1].num);
for(k=0;kif(stu[k].num==stu[i+1].num&&k!
=i+1)
{
printf("thenumberisexisting,pressanytocontinue!
");
getch();
fclose(fp);
return;
}
printf("pleaseinputpercentum:
");
printf("\nelective:
");
scanf("%f",&Felec);
printf("\nexperiment:
");
scanf("%f",&Fexpe);
printf("\nrequiredcourse:
");
scanf("%f",&Frequ);
printf("name:
\n");
scanf("%s",&stu[i+1].name);
printf("\nelective:
");
scanf("%lf",&stu[i+1].elec);
printf("\nexperiment:
");
scanf("%lf",&stu[i+1].expe);
printf("\nrequiredcourse:
");
scanf("%lf",&stu[i+1].requ);
stu[i+1].sum=stu[i+1].elec*Felec+stu[i+1].expe*Fexpe+stu[i+1].requ*Frequ;/*计算总成绩*/
if((fp=fopen("d:
\\data.txt","wb"))==NULL)
{
printf("cannotopen\n");
return;
}
for(k=0;k<=m;k++)
if(fwrite(&stu[k],LEN,1,fp)!
=1)/*将修改后的记录写入磁盘中*/
{
printf("cannotsave!
");
getch();
}
fclose(fp);
}
voidsort()/*自定义排名函数*/
{
structstudenttemp;
FILE*fp;
inti,j,m=0;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)/*判断文件是否打开成功*/
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
if(fread(&stu[m],LEN,1,fp)==1)
m++;/*统计学生个数*/
if(m==0)
{
printf("norecord!
\n");
fclose(fp);
return;
}
for(i=0;ifor(j=i+1;jif(stu[j].sum>stu[i].sum)
{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
for(i=0;iif(fwrite(&stu[i],LEN,1,fp)!
=1)
{
printf("cannotsave!
");
getch();
return;
}
fclose(fp);
}
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□
voidtotal()/*自定义统计学生人数函数*/
{
上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。
FILE*fp;
大学生对手工艺制作兴趣的调研intm=0;
if((fp=fopen("d:
\\data.txt","ab+"))==NULL)/*判断文件是否打开成功*/
{
printf("cannotopen\n");
成功秘诀:
好市口+个性经营return;
}
while(!
feof(fp))
(一)上海的经济环境对饰品消费的影响if(fread(&stu[m],LEN,1,fp)==1)
(一)上海的经济环境对饰品消费的影响m++;/*统计学生个数*/
if(m==0)
{
printf("norecord!
\n");
附件
(二):
调查问卷设计fclose(fp);
return;
(2)缺乏经营经验}
还有一点就是beadwork公司在“碧芝自制饰品店”内设立了一个完全的弹性价格空间:
选择饰珠的种类和多少是由顾客自己掌握,所以消费者可以根据自己的消费能力进行取舍;此外由于是顾客自己制作,所以从原料到成品的附加值就可以自己享用。
printf("theclassare%dstudents!
\n");/*将统计的个数输出*/
fclose(fp);
1996年“碧芝自制饰品店”在迪美购物中心开张,这里地理位置十分优越,交通四通八达,由于位于市中心,汇集了来自各地的游客和时尚人群,不用担心客流量的问题。
迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼梯阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进去看一下。
}