管理系统

来源:互联网 发布:淘宝文案好的店铺 编辑:程序博客网 时间:2024/04/28 00:48
生信息管理系统 C/C++ 的 源代码
包括以下内容 
1.建立文件 
2.增加学生记录 
3.新建学生信息文件 
4.显示记录 
5.文件存贮 
6.读取文件 
7.删除纪录 
8.修改信息 
9.查询记录 
10.对记录排序 
11.头文件 
12.测试程序 
至于其其中的数据啦 就是学号,姓名,成绩,电话之类的差不多就行 
我们老师要求说每一次新增或者改变或者删除后都得重新排序,还得提供各种选择让用户选择根据什么排序的,还要储存在同一个文件里。 
#include
<stdio.h> 
#include
<string.h> 
struct student 

int num; 
char name[20]; 
float score[3]; 
float ave; 
}

int i=0;//全局变量 统计个数 
void wo(struct student a[] ); //录入函数 
void shi(struct student a[]); //排序函数 
void shui(struct student a[]); //插入函数 
void del(struct student a[]); //删除函数 
void display(struct student a[]);//显示函数 
void main() 

struct student stu[50]; 
int number; 
do 

printf(
" 学员成绩管理 "); 
printf(
" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ "); 
printf(
" 请选择功能 0.退出 1.录入 2.显示 3.排序 4>插入 5.删除 ------------------ "); 
scanf(
"%d",&number); 
printf(
" ------------------ "); 
switch (number) 

case 0:break
case 1:wo(stu);break
case 2:display(stu);break
case 3:shi(stu);break
case 4:shui(stu);break
case 5:del(stu);break
}
 
}
while(number!=0); 
printf(
"谢谢你已查寻完毕!下次再见!"); 
printf(
" "); 
}
 
void wo(struct student a[]) //录入函数 

int j; 
char b; 
float sum=0
printf(
"请输入学员信息 "); 
do 

printf(
"学号:"); 
scanf(
"%d",&a[i].num); 
printf(
"姓名:"); 
scanf(
"%s",a[i].name); 
printf(
"三门成绩 "); 
for(j=0;j<3;j++

printf(
"成绩%d:",j+1); 
scanf(
"%f",&a[i].score[j]); 

}
 
a[i].ave
=(a[i].score[0]+a[i].score[1]+a[i].score[2])/3
i
++
printf(
"是否继续 (Y/N)"); 
fflush(stdin); 
scanf(
"%c",&b); 
}
while(b=='Y'||b=='y'); 
display(a); 
}
 
void display(struct student a[]) //显示函数 

int k; 
printf(
"学号 姓名 平均值 "); 
for(k=0;k<i;k++

printf(
"%d %s %.2f ",a[k].num,a[k].name,a[k].ave); 
}
 
}
 
void shi(struct student a[]) //排序函数 

int j,k; 
struct student temp; 
for(k=0;k<i;k++

for(j=0;j<i-k;j++

if(a[j].ave<a[j+1].ave) 

temp
=a[j]; 
a[j]
=a[j+1]; 
a[j
+1]=temp; 
}
 
}
 
}
 
printf(
"排序后的学员信息如下 "); 
display(a); 
}
 
void shui(struct student a[]) //插入函数 

int j,k; 
struct student temp; 
printf(
"学号:"); 
scanf(
"%d",&temp.num); 
printf(
"姓名:"); 
scanf(
"%s",temp.name); 
printf(
"三门成绩 "); 
for(j=0;j<3;j++

printf(
"成绩%d:",j+1); 
scanf(
"%f",&temp.score[j]); 

}
 
temp.ave
=(temp.score[0]+temp.score[1]+temp.score[2])/3
for(j=0;j<i;j++

if(temp.ave>a[j].ave) 

break
}
 
}
 
for(k=i;k>j;k--

a[k]
=a[k-1]; 
}
 
i
++
a[j]
=temp; 
display(a); 
}
 
void del(struct student a[]) //删除函数 

int k,j; 
printf(
"请输入要删除的学号:"); 
scanf(
"%d",&k); 
for(j=0;j<i;j++

if(k==a[j].num) 

break
}
 
}
 
if(j<i) 

for(k=j;k<i-1;k++

a[j]
=a[j+1]; 
}
 
i
--
printf(
"删除后的学员信息 "); 
display(a); 
}
 
else 

printf(
"没有您要删除的学员 "); 
display(a); 
}
 
}
 

原创粉丝点击