您的位置:程序门 -> c/c++ ->



c程序的一个错误,帮忙找寻一下!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c程序的一个错误,帮忙找寻一下!
发表于:2007-07-13 18:47:48 楼主
#include <stdio.h>
  struct   data
  {long   int   xuehao;
  char   mingzi[20];
  char   xi[10];
  char   banji[10];
  }stu[1000];
  int   n;
  void   fun1()
{   int   i;
  scanf( "%d ",&n);
  for(i=0;i <n;i++)
          {printf( "\n   please   input   xuehao: ");
            scanf( "%d ",stu[i].xuehao);
            printf( "\n   please   input   mingzi: ");
            scanf( "%d ",stu[i].mingzi);
            printf( "\n   please   input   xi: ");
            scanf( "%s ",stu[i].xi);
            printf( "\n   please   input   banji: ");
            scanf( "%s ",stu[i].banji);
          }
  }
  void   fun2()
  {   int   i;
    long   int   k;
    printf( "\n   please   input   id: ");
    scanf( "%ld ",&k);
    for(i=0;i <n;i++)
    if(stu[i].xuehao==k)
{   printf( "%ld ",stu[i].xuehao);
    scanf( "%ld ",stu[i].xuehao);
    printf( "%s ",stu[i].mingzi);
    scanf( "%s ",stu[i].mingzi);
    printf( "%s ",stu[i].xi);
    scanf( "%s ",stu[i].xi);
    printf( "%s ",stu[i].banji);
    scanf( "%s ",stu[i].banji);
}
}
  void   fun3()
  {   int   i;
  long   int   t;
  printf( "\n   please   input   id: ");
  scanf( "%ld ",&t);
  for(i=0;i <n;i++)
  if(stu[i].xuehao==t)

{printf( "%ld\n,%s\n,%s\n,%s\n ",stu[i].xuehao,stu[i].mingzi,stu[i].xi,stu[i].banji)
;
  }
  }
  void   fun4()
    struct   struct   t
{   int   i,j;
    for(i=0;i <n-1;i++)
    for(j=0;j <n-1-i;j++)
    if(stu[i].xuehao> stu[i+].xuehao)
{   t=stu[i];stu[i]=stu[i+1];stu[i+1]=t;}
}
  void   fun5()
{   int   i
  file*fp
  if((fp=fopen( "student.dat ", "w "))==wuu)
{printf( "can 't   open   student.clat!\n ");return;}
  for(i=0;i <n;i++)
{fprintf(fp, "%ld\t ",stu[i].xuehao);
  fprintf(fp, "%s\t ",stu[i].mingzi);
  fprintf(fp, "%s\t ",stu[i].xi);
  fprintf(fp, "5s\t ",stu[i],banji);
  fprintf(fp, "/n ");
}
  fclose(fp);
}
  main()
  {charc;   inti;
    do{   clrscr();
            for(i=0;i <80;i++)   printf( "* ");
            printf( "\t1:录入学生信息\n ");
            printf( "\t2:删除学生信息\n ");
            printf( "\t3:查询学生信息\n ");
            printf( "\t4:学生信息排序\n ");
            printf( "\t5:保存学生信息\n ");
            printf( "\t6:退出系统\n ");
            printf( "\t   请选择输入选项[1\\2\\3\\4\\5\\6\\]:   \n ");
    do{   c=getchar();}while(c!= '1 '&&cc1= '2 '&&c!= '3 '&&c!= '4 '&&c!= '5 '&&c!= '6 ');
        getchar();
        switch(c)
        {         case '1 ':fun1();break;
  case '2 ':fun2();break;
  case '3 ':fun3();break;
  case '4 ':fun4();break;
  case '5 ':fun5();break;
  case '6 ':exit(0);}
          printf( "按任意键返回主菜单:\n ");
          getchar();clrscr();
        }whlie(1);
    }


发表于:2007-07-13 19:22:151楼 得分:0
什么错误呢?看了一下,貌似
do{   c=getchar();}while(c!= '1 '&&cc1= '2 '&&c!= '3 '&&c!= '4 '&&c!= '5 '&&c!= '6 ');
        getchar();
中的getchar();这一句可以不要了吧?试试看,有时候一个很小的错误可以让你头痛好一阵的。
发表于:2007-07-13 19:51:082楼 得分:0
错误不少啊:看了一下func1(),   有两个错,其它的自己仔细点看吧!
scanf( "%d ",stu[i].xuehao);
scanf( "%d ",stu[i].mingzi);
发表于:2007-07-13 20:07:313楼 得分:0
错的太多了,还不如重写一遍。
发表于:2007-07-13 20:08:104楼 得分:0
何止一个错误,n多错误,
分号漏掉的,char   c   写成charc的
还有fun4的{}前面跟着一个结构体变量不知道是什么意思

楼主根据编译错误一个个找出来吧。。。。
发表于:2007-07-13 22:19:295楼 得分:0
#include "stdio.h "
#include   <conio.h>
#include   <process.h>
struct
{   long   int   num;
int   age;
char   name[20];
char   sex;
char   lclass[20];
char   xi[40];
}stu[3];

int   main()
{
void   fun1();
void   fun2();
void   fun3();
void   fun4();
void   fun5();
char   c;
int   i;
do
{
//   clrscr();
for(i=0;i <80;i++)
printf( "* ");
printf( "\t1:添加学生信息\n ");
printf( "\t2:删除学生信息\n ");
printf( "\t3:查询学生信息\n ");
printf( "\t4:学生信息排序\n ");
printf( "\t5:保存学生信息\n ");
printf( "\t6:退出系统\n ");
printf( "\t请选择输入选项[1\\2\\3\\4\\5\\6]:\n ");
do
{
c=getchar();
}
while(c!= '1 '&&c!= '2 '&&c!= '3 '&&c!= '4 '&&c!= '5 '&&c!= '6 ');
getchar();
switch(c)
{   case '1 ':fun1();break;
case '2 ':fun2();break;
case '3 ':fun3();break;
case '4 ':fun4();break;
case '5 ':fun5();break;
case '6 ':exit(0);}
printf( "按任意键返回主菜单:\n ");
getchar();
clrscr();
}while(1);
return   0;
}

void   fun1()
{int   i;
for(i=0;i <=2;i++)
scanf   ( "%ld,%d,%s,%s,%s ",&stu[i].num,&stu[i].age,
&stu[i].name,&stu[i].sex,&stu[i].lclass,stu[i].xi);
getchar();
}

void   fun2()
{long   int   a;
int   i;
printf( "任意输出一个学号: ");
scanf( "%ld ",&a);
for(i=0;i <=2;i++)
if(a==stu[i].num)
printf( "该学生资料: ");
fun2();
getchar();
}

void   fun3()
{long   int   a;
int   j;
printf( "任意输出一个学号: ");
scanf( "%ld ",&a);
for(j=0;j <=2;j++)
if(a==stu[j].num)
printf( "%ld,%d,%s,%s,%s,%s ",stu[j].num,stu[j].age,
stu[j].name,stu[j].sex,stu[j].lclass,stu[j].xi);
getchar();
}

void   fun4()
{int   i,j,t;
long   int   a[10];
for(i=0;i <=2;i++);
scanf( "%ld ",&a[10]);
for(i=0;i <=2;i++)
{   for(j=i+1;j <=2;j++)
if(a[i]> a[j])
{   t=a[i];   a[i]=a[j];a[j]=t;};
}
for(i=0;i <=2;i++)
printf( "%d\n ",a[i]);
getchar();
}

void   fun5()
{int   i;
for(i=0;i <=2;i++)
printf( "%ld,%d,%s,%s,%s,%s ",stu[i].num,stu[i].age,   stu[i].name,stu[i].sex,stu[i].lclass,stu[i].xi);
}

修正了语法错误
发表于:2007-07-13 22:37:036楼 得分:0
程序是从其他地方直接复制过来的吧。
发表于:2007-07-14 08:44:137楼 得分:0
何止一个错误,n多错误,
发表于:2007-07-14 10:28:208楼 得分:0
楼主是要交作业了吧.............
发表于:2007-07-15 00:48:059楼 得分:0
按照瞌睡的写吧,不过以后错误最好自己找出来才有提高
发表于:2007-07-16 12:02:2710楼 得分:0
错误不少啊   并且是程序很乱,搞不清你想完成什么功能。
有些常见的错误比如:printf( "\n   please   input   mingzi: ");
            scanf( "%d ",stu[i].mingzi);
            printf( "\n   please   input   xi: ");
            scanf( "%s ",stu[i].xi);
            printf( "\n   please   input   banji: ");
            scanf( "%s ",stu[i].banji);
字符串根本不能这样赋值要用strcpy
发表于:2007-07-16 13:33:4911楼 得分:0
code的格式   在改一下


快速检索

最新资讯
热门点击