| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:学生学籍管理系统 不知道错在哪里,求解
只看楼主 加入收藏
chenzhibin07
Rank: 2
等 级:论坛游民
帖 子:57
专家分:64
注 册:2013-4-10
结帖率:91.67%
收藏
已结贴  问题点数:30 回复次数:2 
学生学籍管理系统 不知道错在哪里,求解
#include <stdio.h>
#include <stdlib.h>
#define M 3
void jiemian()
{printf("\t\t*************************************\n");
 printf("\t\t*          欢迎使用学籍管理系统           *\n");
 printf("\t\t1.输入学生的基本信息     2.输出学生的信息  *\n");
 printf("\t\t3.查找学生的基本的信息   4.排序       *\n");
 printf("\t\t5.统计                   0.退出       *\n");
 printf("\t\t***********************************\n");
 printf("\t\t 请输入0~5");
}
void chioce(long sno[],char sname[][20],int sage[],float cs[],int N)
{int m;
 while (1)
 { scanf("%d",&m);
  switch(m)
  { case 1:
         input(sno,sname,sage,cs,N);
         jiemian();break;
    case 2:
         output(sno,sname,sage,cs,N);
         jiemian();break;
    case 3:
         chazhao();
         chazhaoC(sno,sname,sage,cs,N);
         break;
    case 4:
         paixu(sno,sname,sage,cs,N);
         break;
    case 5:
         total(sno,sname,sage,cs,N);
         jiemian();
         break;
    case 0:
         exit(1);
         }
  }
}   

void chazhao()
{  printf("\t\t******************************************************\n");
   printf("\t\t*            欢迎使用查找系统                 *\n");
   printf("\t\t*1.按学号查找             *\n");
   printf("\t\t*2.按姓名查找        *\n");
   printf("\t\t*3.返回上一级             *\n");
   printf("\t\t****************************************************\n");
   printf("\t\t请输入0~2");
}
void chazhaoC(long sno[],char sname[][20],int sage[],float cs[],int N)
{int m;
 while(1)
 {scanf("%d",&m);
 switch(m)
 { case 1:
        anxuehao(sno,sname,sage,cs,N);
        jiemian();
        break;
   case 2:
        anxingming(sno,sname,sage,cs,N);
        jiemian();
        break;
   case 3:
         break;
   }
   if(m==0)
      break;
 }jiemian();
}

void input(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
 printf("请输入%d个学生的信息.\n",N);
 for(i=0;i<N;i++)
 {printf("输入第%d个学生的\n",i+1);
  printf("学号:");
  scanf("%ld",&sno[i]);
  getchar();
  printf("姓名:");
  gets(sname[i]);
  printf("年龄:");
  scanf("%d",&stage[i]);
  getchar();
  printf("成绩");
  scanf("%f",&cs);
  getchar();
}
}
void output(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
 printf("\n%d个学生的基本信息为\n",N);
for(i=0;i<N;i++)  
{ printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");
 }
}
void anxuehao(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
 long snol;
 printf("请输入您要查找的学号:\n");
 scanf("%ld",&snol);
 for(i=0;i<N;i++)
 {if(sno[i]==snol)
     break;}      
 if(i<N)
 {printf("学号为%ld的学生的基本信息为:\n");
  printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");}
 else
  printf("您输入的学号不存在!\n");  

}
void anxingming(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
 char snamel[20];
 printf("请输入要查找学生的姓名:\n");
 gets(sname1);
 for(i=0;i<N;i++)
 { if(sname1==sname[i])
      break;
}
if(i<N)
{ printf("姓名为%s的学生的基本信息:\n");
  printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");}
 else
  printf("您输入的姓名不存在!\n");  
  }   


void paixu(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i,j,k;int tsage;float tcs;char tsname[20];long tsno;
 for(i=0;i<N;i++)
  {for(j=i+1;j<N;j++)
     {if(cs[i]<cs[j])
         tsc=cs[i];
         cs[i]=cs[j];
         cs[j]=tsc;  }
   if(j<N)
    {   tsno=sno[i];
        sno[i]=sno[j];
        sno[j]=tsno;
        
        tsname=sname[i];
        sname[i]=sname[j];
        sname[j]=tname;
        
        tsage=sage[i];
        sage[i]=sage[j];
        sage[j]=tsage;  
        }  
     }
}   
        
void total(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i,j=0;
  printf("成绩为优秀的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=85)
      printf("%s  ",sname[i]);
     
  printf("\n成绩为良好的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=70)
      printf("%s  ",sname[i]);
        
  printf("\n成绩为合格的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=60)
      printf("%s  ",sname[i]);
   
  printf("成绩为不及格的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=0)
      printf("%s  ",sname[i]);
         
     
     
     
     }                                                
int main(int argc, char *argv[])
{
 long sno[M];
char sname[M][20];
int sage[M];
float cs[M];
int  i,j;
jiemian();
choice(sno,sname,sage,cs,M);

  system("PAUSE");   
  return 0;
}
搜索更多相关主题的帖子: 信息 学籍管理 include 
2013-04-18 20:54
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
收藏
得分:2 
运行了下好多错误啊
2013-04-18 21:05
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:28 
有些地方我给你改了,但是还好;
#include <stdio.h>
#include <stdlib.h>
#include <string>
using   namespace   std;
#define M 3
void input(long sno[],char sname[][20],int stage[],float cs[],int N)
{int i;
printf("请输入%d个学生的信息.\n",N);
for(i=0;i<N;i++)
{printf("输入第%d个学生的\n",i+1);
  printf("学号:");
  scanf("%ld",&sno[i]);
  getchar();
  printf("姓名:");
  gets(sname[i]);
  printf("年龄:");
  scanf("%d",&stage[i]);
  getchar();
  printf("成绩");
  scanf("%f",&cs);
  getchar();
}
}
void output(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
printf("\n%d个学生的基本信息为\n",N);
for(i=0;i<N;i++)  
{ printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");
}
}
void anxuehao(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
long snol;
printf("请输入您要查找的学号:\n");
scanf("%ld",&snol);
for(i=0;i<N;i++)
{if(sno[i]==snol)
     break;}      
if(i<N)
{printf("学号为%ld的学生的基本信息为:\n");
  printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");}
else
  printf("您输入的学号不存在!\n");  

}
void anxingming(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i;
char snamel[20];
printf("请输入要查找学生的姓名:\n");
gets(snamel);
for(i=0;i<N;i++)
{ if(snamel==sname[i])
      break;
}
if(i<N)
{ printf("姓名为%s的学生的基本信息:\n");
  printf("%-10d",sno[i]);
  printf("%-16s",sname[i]);
  printf("%-4d",sage[i]);
  printf("%-6.0f",cs[i]);
  printf("\n");}
else
  printf("您输入的姓名不存在!\n");  
  }  
void swap(char p1[],char p2[])  //无返回值时为:void.
{                               //参数有问题。*p1[]、*p2[]是指针数组。注意指针的用法。
    char p[20];
    strcpy(p,p1);
    strcpy(p1,p2);
    strcpy(p2,p);
}
void paixu(long sno[],char sname[][20],int sage[],float cs[],int N)
{
    int i,j;
   int tsage;
  float tcs;
  long tsno;
 for(i=0;i<N-1;i++)
  {
     for(j=i+1;j<N;j++)
     if(cs[i]<cs[j])
     {   
         tcs=cs[i];
         cs[i]=cs[j];
         cs[j]=tcs;  
         tsno=sno[i];
        sno[i]=sno[j];
        sno[j]=tsno;
       swap(sname[i],sname[j]);
        tsage=sage[i];
        sage[i]=sage[j];
        sage[j]=tsage;  
        }  
     }
}   
        
void total(long sno[],char sname[][20],int sage[],float cs[],int N)
{int i,j=0;
  printf("成绩为优秀的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=85)
      printf("%s  ",sname[i]);
     
  printf("\n成绩为良好的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=70)
      printf("%s  ",sname[i]);
        
  printf("\n成绩为合格的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=60)
      printf("%s  ",sname[i]);
   
  printf("成绩为不及格的学生:\n");
  for(i=0;i<N;i++)
   if(cs[i]>=0)
      printf("%s  ",sname[i]);
 }   
void chazhao()
{  printf("\t\t******************************************************\n");
   printf("\t\t*            欢迎使用查找系统                 *\n");
   printf("\t\t*1.按学号查找             *\n");
   printf("\t\t*2.按姓名查找        *\n");
   printf("\t\t*3.返回上一级             *\n");
   printf("\t\t****************************************************\n");
   printf("\t\t请输入0~2");
}                                               
void jiemian()
{printf("\t\t*************************************\n");
printf("\t\t*          欢迎使用学籍管理系统           *\n");
printf("\t\t1.输入学生的基本信息     2.输出学生的信息  *\n");
printf("\t\t3.查找学生的基本的信息   4.排序       *\n");
printf("\t\t5.统计                   0.退出       *\n");
printf("\t\t***********************************\n");
printf("\t\t 请输入0~5");
}
void chazhaoC(long sno[],char sname[][20],int sage[],float cs[],int N)
{int m;
while(1)
{scanf("%d",&m);
switch(m)
{ case 1:
        anxuehao(sno,sname,sage,cs,N);
        jiemian();
        break;
   case 2:
        anxingming(sno,sname,sage,cs,N);
        jiemian();
        break;
   case 3:
         break;
   }
   if(m==0)
      break;
}jiemian();
}
void choice(long sno[],char sname[][20],int sage[],float cs[],int N)
{int m;
while (1)
{ scanf("%d",&m);
  switch(m)
  { case 1:
         input(sno,sname,sage,cs,N);
         jiemian();break;
    case 2:
         output(sno,sname,sage,cs,N);
         jiemian();break;
    case 3:
         chazhao();
         chazhaoC(sno,sname,sage,cs,N);
         break;
    case 4:
         paixu(sno,sname,sage,cs,N);
         break;
    case 5:
         total(sno,sname,sage,cs,N);
         jiemian();
         break;
    case 0:
         exit(1);
         }
  }
}   
int main(int argc, char *argv[])
{
long sno[M];
char sname[M][20];
int sage[M];
float cs[M];
jiemian();
choice(sno,sname,sage,cs,M);

  system("PAUSE");   
  return 0;
}

Maybe
2013-04-18 21:57
快速回复:学生学籍管理系统 不知道错在哪里,求解
数据加载中...
 
   



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

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