| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 608 人关注过本帖
标题:新手C语言学生成绩管理系统。求高手改一下。。。
只看楼主 加入收藏
a820325871
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
新手C语言学生成绩管理系统。求高手改一下。。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *fp;
struct student
{
int num;
char name[20];
double score[4];
}stu[20];
void print();
void input();
void search();
void modiffy();
void del();
void paixu();
void xingming();
void xuehao();
void avg();
void main()
{
    int n;
    printf("你已进入学生基本信息管理系统.\n");
    printf("1,学生信息录入\n");
    printf("2,学生信息查询\n");
    printf("3,学生信息删除\n");
    printf("4,学生信息修改\n");
    printf("5,学生信息排序\n");
    printf("0,退出\n");
    printf("请选择(0-5):");
   
    do{
        scanf("%d",&n);
    switch(n)
{
case 1:input();break;
case 2:search();break;
case 3:del();break;
case 4:modiffy();break;
case 5:paixu();break;
}
if(n>5)
printf("选择错误!请重新选择\n");
    }while(n!=0);
}
void input()

{
int i=0;
if((fp=fopen("name.txt","w"))==NULL)
{
    printf("不能打开!");
exit (0);
}
printf("输入学生:学号    姓名    语文    数学   英语:\n");
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].score[3]=(stu[i].score[0]+stu[i].score[1]+stu[0].score[2])/3.0;
do
{
    printf("\n");
    printf("输入学生学号 姓名  语文   数学  英语:(输入0退出)\n");   
       scanf("%d%s%f%f%f",&stu[i].num,stu[0].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
        stu[i].score[3]=(stu[i].score[0]+stu[i].score[1]+stu[0].score[2])/3.0;
}while(stu[i].num!=0);
fclose(fp);
}
void search()
{
   
int num,i=0,k=0;
if((fp=fopen("name.txt","r"))==NULL)
{
    printf("不能打开!");

exit(0);
printf("输入你要查询的学生学号信息:");
}
do{
scanf("%d",&num);
while(!feof(fp));
{
fscanf(fp,"%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
if(num==stu[i].num)
{
    printf("%d  %s  %.1f  %.1f  %.1f  %.1f",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
k=1;
break;
}
}
if(k==0)
{printf("没有该学生信息!");
printf("请重新输入:(输入0退出)");
}
}while(num!=0);
fclose(fp);
}
void modiffy()
{
   
struct student stud;
int i=0;
if((fp=fopen("name.txt","r+"))==NULL)
{
    printf("不能打开!");
exit(0);
}
printf("输入你要修改的学生学号信息:");

scanf("%d",stud.num);
while(!feof(fp))
{
fscanf(fp,"%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
if(stud.num==stu[i].num)
{printf("该学生原来信息:\n学号   姓名  语文  数学  英语  平均成绩 :\n");
printf("%d  %s  %.1f  %.1f  %.1f  ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
break;
}
i++;
}
printf("输入你要修改的学生基本信息:\n姓名,语文,数学:\n");
scanf(" %s%f%1f",stud.name,&stud.score[0],&stud.score[1],&stud.score[2]);
strcpy(stu[i].name,stud.name);
stu[i].score[0]=stud.score[0];
stu[i].score[1]=stud.score[1];
stu[i].score[2]=stud.score[2];
stu[i].score[3]=(stud.score[0]+stud.score[1]+stud.score[2])/3.0;
fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
fclose(fp);
}
void del()
{
int i=0,j=0,num,n=0,k=0;
if((fp=fopen("nmae.txt","r+"))==NULL)
{
    printf("不能打开!");

exit(0);
}
while(!feof(fp))
{
k++;
}
printf("输入你要删除的学生学号:");
do{
scanf("%d",&num);
while(!feof(fp))
{fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
i=0;
while(!feof(fp))
{
if(num==stu[i].num)
{
k=1;
for(j=i;j<n;j++)
{stu[j]=stu[j+1];
fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f ",stu[j].num,stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2],stu[j].score[3]);
}
}
i++;

}

if(k==0)
printf("没有该学生的信息:\n请重新输入:(输0退出)");
}while(num!=0);
fclose(fp);
}

void paixu()
{
    if((fp=fopen("name.txt","r"))==NULL)
{
printf("不能打开!");
exit(0);
}
int n,k=0,i;
while(!feof(fp))
{
k++;
}
for(i=0;i<k;i++)
fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);

printf("1.按学号排序;2.按姓名排序;3按平均成绩排序\n;");
printf("请选择:");
do
{
scanf("%d",&n);
switch(n)
{case 1: void xuehao();  break;
case 2: void xingming(); break;
case 3: void avg(); break;
}if(n>3)
printf("选择错误,请重选!");
}while(n!=0);
fclose(fp);
}
void xuehao()
{
    int i,n,k;
struct student stud;
int j;
if((fp=fopen("name.txt","r"))==NULL)
{
printf("不能打开!");
exit(0);
}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(stu[j].num>stu[j+1].num)
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}

printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void xingming()
{
struct student stud;
int k,n,i=0,j;
if((fp=fopen("name.txt","r"))==NULL)
{
    printf("不能打开!");
exit(0);
}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(strcmp(stu[j].name,stu[j+1].name)>0)
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}

printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void avg()
{
struct student stud;
int j,i,k,n;
if((fp=fopen("name.txt","r"))==NULL)
{printf("不能打开!");
exit(0);}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(stu[j].score[3]>stu[j+1].score[3])
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}
printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void print()
{
int i=0;
if((fp=fopen("name.txt","r"))==NULL)
{printf("不能打开!");
exit(0);}
while(!feof(fp))
{
fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);

fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f \n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
i++;
}
}









#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *fp;
struct student
{
int num;
char name[20];
double score[4];
}stu[20];
void print();
void input();
void search();
void modiffy();
void del();
void paixu();
void xingming();
void xuehao();
void avg();
void main()
{
    int n;
    printf("你已进入学生基本信息管理系统.\n");
    printf("1,学生信息录入\n");
    printf("2,学生信息查询\n");
    printf("3,学生信息删除\n");
    printf("4,学生信息修改\n");
    printf("5,学生信息排序\n");
    printf("0,退出\n");
    printf("请选择(0-5):");
   
    do{
        scanf("%d",&n);
    switch(n)
{
case 1:input();break;
case 2:search();break;
case 3:del();break;
case 4:modiffy();break;
case 5:paixu();break;
}
if(n>5)
printf("选择错误!请重新选择\n");
    }while(n!=0);
}
void input()

{
int i=0;
if((fp=fopen("name.txt","w"))==NULL)
{
    printf("不能打开!");
exit (0);
}
printf("输入学生:学号    姓名    语文    数学   英语:\n");
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].score[3]=(stu[i].score[0]+stu[i].score[1]+stu[0].score[2])/3.0;
do
{
    printf("\n");
    printf("输入学生学号 姓名  语文   数学  英语:(输入0退出)\n");   
       scanf("%d%s%f%f%f",&stu[i].num,stu[0].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
        stu[i].score[3]=(stu[i].score[0]+stu[i].score[1]+stu[0].score[2])/3.0;
}while(stu[i].num!=0);
fclose(fp);
}
void search()
{
   
int num,i=0,k=0;
if((fp=fopen("name.txt","r"))==NULL)
{
    printf("不能打开!");

exit(0);
printf("输入你要查询的学生学号信息:");
}
do{
scanf("%d",&num);
while(!feof(fp));
{
fscanf(fp,"%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
if(num==stu[i].num)
{
    printf("%d  %s  %.1f  %.1f  %.1f  %.1f",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
k=1;
break;
}
}
if(k==0)
{printf("没有该学生信息!");
printf("请重新输入:(输入0退出)");
}
}while(num!=0);
fclose(fp);
}
void modiffy()
{
   
struct student stud;
int i=0;
if((fp=fopen("name.txt","r+"))==NULL)
{
    printf("不能打开!");
exit(0);
}
printf("输入你要修改的学生学号信息:");

scanf("%d",stud.num);
while(!feof(fp))
{
fscanf(fp,"%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
if(stud.num==stu[i].num)
{printf("该学生原来信息:\n学号   姓名  语文  数学  英语  平均成绩 :\n");
printf("%d  %s  %.1f  %.1f  %.1f  ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
break;
}
i++;
}
printf("输入你要修改的学生基本信息:\n姓名,语文,数学:\n");
scanf(" %s%f%1f",stud.name,&stud.score[0],&stud.score[1],&stud.score[2]);
strcpy(stu[i].name,stud.name);
stu[i].score[0]=stud.score[0];
stu[i].score[1]=stud.score[1];
stu[i].score[2]=stud.score[2];
stu[i].score[3]=(stud.score[0]+stud.score[1]+stud.score[2])/3.0;
fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
fclose(fp);
}
void del()
{
int i=0,j=0,num,n=0,k=0;
if((fp=fopen("nmae.txt","r+"))==NULL)
{
    printf("不能打开!");

exit(0);
}
while(!feof(fp))
{
k++;
}
printf("输入你要删除的学生学号:");
do{
scanf("%d",&num);
while(!feof(fp))
{fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
i=0;
while(!feof(fp))
{
if(num==stu[i].num)
{
k=1;
for(j=i;j<n;j++)
{stu[j]=stu[j+1];
fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f ",stu[j].num,stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2],stu[j].score[3]);
}
}
i++;

}

if(k==0)
printf("没有该学生的信息:\n请重新输入:(输0退出)");
}while(num!=0);
fclose(fp);
}

void paixu()
{
    if((fp=fopen("name.txt","r"))==NULL)
{
printf("不能打开!");
exit(0);
}
int n,k=0,i;
while(!feof(fp))
{
k++;
}
for(i=0;i<k;i++)
fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);

printf("1.按学号排序;2.按姓名排序;3按平均成绩排序\n;");
printf("请选择:");
do
{
scanf("%d",&n);
switch(n)
{case 1: void xuehao();  break;
case 2: void xingming(); break;
case 3: void avg(); break;
}if(n>3)
printf("选择错误,请重选!");
}while(n!=0);
fclose(fp);
}
void xuehao()
{
    int i,n,k;
struct student stud;
int j;
if((fp=fopen("name.txt","r"))==NULL)
{
printf("不能打开!");
exit(0);
}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(stu[j].num>stu[j+1].num)
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}

printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void xingming()
{
struct student stud;
int k,n,i=0,j;
if((fp=fopen("name.txt","r"))==NULL)
{
    printf("不能打开!");
exit(0);
}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(strcmp(stu[j].name,stu[j+1].name)>0)
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}

printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void avg()
{
struct student stud;
int j,i,k,n;
if((fp=fopen("name.txt","r"))==NULL)
{printf("不能打开!");
exit(0);}
while(!feof(fp))
{

fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
i++;
}
for(i=1;i<k;i++)
for(j=0;j<n-i;j++)
if(stu[j].score[3]>stu[j+1].score[3])
{
stud=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stud;
}
printf("排序为:\n");
printf("学号  语文  数学 英语  平均\n");
void printf();
fclose(fp);
}
void print()
{
int i=0;
if((fp=fopen("name.txt","r"))==NULL)
{printf("不能打开!");
exit(0);}
while(!feof(fp))
{
fscanf(fp,"%d%s%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);

fprintf(fp,"%d  %s  %.1f  %.1f  %.1f  %.1f \n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
i++;
}
}







































搜索更多相关主题的帖子: C语言 search include 信息 void 
2012-06-06 23:07
a820325871
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-6
收藏
得分:0 
我要大二了,这个课程设计,只能写这么点了,不会修改了。╮(╯▽╰)╭学的很差劲。希望有人拉我进个C语言群。我专业计算机科学与技术。。。。。
2012-06-06 23:14
a820325871
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-6
收藏
得分:0 
回复 楼主 a820325871
qq·820325871、、、
求志同道合之人。。。。。
2012-06-06 23:18
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:20 
有本《C语言范例开发大全》最后的综合例子就是学生管理系统开发

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-06-08 06:16
快速回复:新手C语言学生成绩管理系统。求高手改一下。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020036 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved