学生管理系统 c语言源代码

更新时间:2023-08-26 20:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学生管理系统 c语言源代码

#include <stdio.h>

#include <dos.h>

#include <string.h>

#include <stdlib.h>

#include <malloc.h>

#define SIZE 8

struct student

{

char name[20];

char num[15];

int score[5];

float ave;

struct student *next;

}stu[SIZE],temp,s;

void shuru()

{

int i,j,sum,length,flag=1,a;

FILE *fp;

while(flag==1)

{

printf("Define a range>class number:");

scanf("%d",&a);

printf("Input the total number of the class(<a):");

scanf("%d",&length);

if(length<a)

flag=0;

}

for(i=0;i<length;i++)

{

printf("\n请输入学生的信息:");

printf("\n输入姓名:");

scanf("%s",stu[i].name);

printf("\n输入序号.:");

scanf("%s",stu[i].num);

printf("\n输入成绩:\n");

sum=0;

for(j=0;j<3;j++)

{

printf("score %d:",j+1);

scanf("%d",&stu[i].score[j]);

sum+=stu[i].score[j];

}

stu[i].ave=sum/3.0;

}

学生管理系统 c语言源代码

fp=fopen("stu1.txt","w");

for(i=0;i<length;i++)

if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)

printf("File write error\n");

fclose(fp);

fp=fopen("stu1.txt","r");

printf("\name\ NO. score1 score2 score3 sum ave\n");

for(i=0;i<length;i++)

{

fread(&stu[i],sizeof(struct student),1,fp);

printf("%3s%5s%7d%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i].score[0],

stu[i].score[1],stu[i].score[2],sum=stu[i].score[0]+stu[i].score[1]+stu[i].score

[2],stu[i].ave);

}

}

void chaxun()

{ FILE *fp, *fp1;

char n[15],name[20];

int i,j,k,t,m,flag=1;

if((fp=fopen("stu1.txt","r"))==NULL)

{printf("Can not open the file.");

exit(0);

}

printf("\noriginal data:\n");

k=i;

printf("\nPlease select the menu(1.number http://www.77cn.com.cn):");

scanf("%d",&m);

switch(m)

{case 1:printf("\nchaxun number:");

scanf("%s",n);

for(flag=1,i=0;i<k;i++)

{if(strcmp(n,stu[i].num)==0)

{j=i;

flag=0;

break;

}

}

break;

case 2:printf("\nchaxun name:");

scanf("%s",name);

for(flag=1,i=0;i<k;i++)

{if(strcmp(name,stu[i].name)==0)

{j=i;flag=0;break;

学生管理系统 c语言源代码

}

}

}

if(!flag)

{printf("\nYou can find:\n");

fp1=fopen("stu2.txt","w");

printf(" name NO. score1 score2 score3ave\n");

fwrite(&stu[j],sizeof(struct student),1,fp1);

printf("%-15s%11s%7d%7d%7d%10.2f",stu[j].name,stu[j].num,stu[j].score[0],stu[j].score[1],

stu[j].score[2],stu[j].ave);

}

else printf("\nNot found!");

fclose(fp);

fclose(fp1);

}

xiugai()

{ int a;

printf("\nplease select the menu(1.CHARU 2.SHANCHU ):");

scanf("%d",&a);

switch(a)

{

case 1:Insert(); break;

case 2:Delete(); break;

}

}

Insert()

{ FILE *fp;

int i,j,t,n;

printf("\nNO.:");

scanf("%s",s.num);

printf("name:");

scanf("%s",http://www.77cn.com.cn);

printf("score1,score2,score3:");

scanf("%d,%d,%d",&s.score[0],&s.score[1],&s.score[2]);

s.ave=(s.score[0]+s.score[1]+s.score[2])/3.0;

if((fp=fopen("stu1.txt","r"))==NULL)

{printf("Can not open the file.");

exit(0);

}

printf("\noriginal data:\n");

for(i=0;fread(&stu[i],sizeof(struct student),1,fp)!=0;i++)

{printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

学生管理系统 c语言源代码

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fclose(fp);

n=i;

for(t=0;stu[t].ave>s.ave&&t<n;t++);

printf("\nnow:\n");

fp=fopen("stu1.txt","w");

for(i=0;i<t;i++)

{fwrite(&stu[i],sizeof(struct student),1,fp);

printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fwrite(&s,sizeof(struct student),1,fp);

printf("\n%-15s%11s%7d%7d%7d%10.2f",http://www.77cn.com.cn,s.num,s.score[0],s.score[1], s.score[2],s.ave);

for(i=t;i<n;i++)

{fwrite(&stu[i],sizeof(struct student),1,fp);

printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fclose(fp);

}

Delete()

{ FILE *fp;

int i,j,t,n,flag;

char number[15];

if((fp=fopen("stu1.txt","rb"))==NULL)

{printf("Can not open the file.");

exit(0);

}

printf("\noriginal data:");

for(i=0;fread(&stu[i],sizeof(struct student),1,fp)!=0;i++)

{printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fclose(fp);

n=i;

学生管理系统 c语言源代码

printf("\nInput number deleted:");

scanf("%s",number);

for(flag=1,i=0;flag&&i<n;i++)

{if(strcmp(number,stu[i].num)==0)

{for(t=i;t<n-1;t++)

{strcpy(stu[t].num,stu[t+1].num);

strcpy(stu[t].name,stu[t+1].name);

for(j=0;j<3;j++)

stu[t].score[j]=stu[t+1].score[j];

stu[t].ave=stu[t+1].ave;

}

n=n-1;

else

printf("\n Not found!");

printf("\nNow,the content of file:\n");

fp=fopen("stu1.txt","wb");

for(i=0;i<n;i++)

fwrite(&stu[i],sizeof(struct student),1,fp);

fclose(fp);

fp=fopen("stu1.txt","r");

for(i=0;fread(&stu[i],sizeof(struct student),1,fp)!=0;i++)

printf("%-15s%11s%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i].score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);

fclose(fp);

}

paixu()

{

FILE *fp;

int i,j,n;

if((fp=fopen("stu1.txt","r"))==NULL)

{printf("Can not open the file.");

exit(0);

}

printf("\nfile'stu1.txt':");

for(i=0;fread(&stu[i],sizeof(struct student),1,fp)!=0;i++)

{printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fclose(fp);

n=i;

for(i=0;i<n;i++)

for(j=i+1;j<n;j++)

学生管理系统 c语言源代码

if(stu[i].ave<stu[j].ave)

{temp=stu[i];

stu[i]=stu[j];

stu[j]=temp;

}

printf("\nnow:");

fp=fopen("stu1.txt","w");

for(i=0;i<n;i++)

{fwrite(&stu[i],sizeof(struct student),1,fp);

printf("\n%-15s%11s",stu[i].name,stu[i].num);

tongji()

{ FILE *fp;

int i,j,k,labe1,b;int a5=0;int a6=0;int a7=0;int a8=0;int a9=0; int a10=0; float t;

if((fp=fopen("stu1.txt","r"))==NULL)

{printf("Can not open the file.");

exit(0);

}

printf("\nfile'stu1.txt':");

for(i=0;fread(&stu[i],sizeof(struct student),1,fp)!=0;i++)

{printf("\n%-15s%11s",stu[i].name,stu[i].num);

for(j=0;j<3;j++)

printf("%7d",stu[i].score[j]);

printf("%10.2f",stu[i].ave);

}

fclose(fp);

k=i;

for(i=0;i<k;i++)

{labe1=0;

if(stu[i].ave<60)

{labe1++;

t=labe1/(float)k*100;

}

}

printf("\nbujigelv:");

printf("%f%",t);

printf("\n");

for(j=0;j<3;j++)

{

a5=0;a6=0;a7=0;a8=0;a9=0;a10=0;

k=i;

printf("kemu is %d:\n",j);

for(i=0;i<k;i++)

学生管理系统 c语言源代码

{b=stu[i].score[j]/10;

if(b<6)

a5++;

else

if(b>=6&&b<7)

a6++;

else

if(b>=7&&b<8)

a7++;

else

if(b>=8&&b<9)

a8++;

if(b>=9&&b<10)

a9++;

else

if(b==10)

a10++;

}

printf(" 不及格 is %d\n",a5);

printf(" 60--69 is %d\n",a6);

printf(" 70--79 is %d\n",a7);

printf(" 80--89 is %d\n",a8);

printf(" 90--99 is %d\n",a9);

printf(" 100 is %d\n",a10);

}

}

main()

{

int a;

printf(" ****************************************\n"); printf(" 欢迎进入学生成绩管理系统\n");

printf(" ****************************************\n"); while(1)

{printf("\n选择菜单:\n");

printf("\n");

printf(" 1.输入 2.查询 3.排序 4.修改 5.统计 6.退出\n"); scanf("%d",&a);

switch(a)

{case 1: shuru();break;

case 2: chaxun(); break;

case 3: paixu(); break;

case 4: xiugai(); break;

学生管理系统 c语言源代码

case 5: tongji();break; case 6: exit(0); }

}

}

本文来源:https://www.bwwdw.com/article/6b1i.html

Top