| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1429 人关注过本帖
标题:求各位老师看看小弟的错误,学生C语言成绩管理系统。无限感谢~!
只看楼主 加入收藏
kkk7823949
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-3-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
求各位老师看看小弟的错误,学生C语言成绩管理系统。无限感谢~!
我的作业,语法检测没有错误,但是不能建立和运行,显示为:--------------------Configuration: 465 - Win32 Debug--------------------
Linking...
789987.obj : error LNK2001: unresolved external symbol "void __cdecl display(void)" (?display@@YAXXZ)
Debug/465.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

465.exe - 1 error(s), 0 warning(s)



程序源代码:
void menu();
void input();
void save(int);
void display();
void search_num();
void modify();  /*定义各函数*/

void menu()   /*菜单函数*/
{
 printf("              ☆☆☆机电与信息工程学部☆☆☆\n");
    printf("\n");
    printf("                                   ∮12网络一班 黎跃∮\n");
    printf("\n");
 printf("        ******************学生成绩管理****************\n");
 printf("           1.输入学生成绩");
 printf("           2.浏览学生成绩\n");
 printf("           3.查询学生成绩");

 printf("           4.修改学生成绩\n");
 printf("           5.退出\n");
 printf("        ********************谢谢使用******************\n");
    printf("\n");
    printf("\n");
   
}
void main()
{   
 menu();  /*调用菜单函数*/
 int n,flag;
 char a;
 do
 {
    printf("请选择你需要操作的步骤(1--5):\n");
    scanf("%d",&n);
    if(n>=1&&n<=7)
    {
    flag=1;
    break;
    }
    else
    {
   flag=0;
   printf("您输入有误,请重新选择!");
    }
 }
    while(flag==0);
    while(flag==1)
  {
  switch(n)
  {
          case 1:printf("               ◆◆◆输入学生成绩◆◆◆\n");printf("\n");input();break;
       case 2:printf("              ◆◆◆浏览学生成绩◆◆◆\n");printf("\n");display();break;
       case 3:printf("              ◆◆◆按学号查询学生成绩◆◆◆\n");printf("\n");search_num();break;

       case 4:printf("               ◆◆◆修改学生成绩◆◆◆\n");printf("\n");modify();break;
       case 5:exit(0);break;
    default :break;
  }
  getchar();
  printf("\n");
     printf("是否继续进行(y or n):\n");
     scanf("%c",&a);
  if(a=='y')
  {
     flag=1;
           system("cls");  /*清屏*/
           menu(); /*调用菜单函数*/
     printf("请再次选择你需要操作的步骤(1--6):\n");
        scanf("%d",&n);
     printf("\n");
  }
  
  else
  exit(0);
 }
 
}
void input()   /*录入函数*/
{
   int i,m;
      printf("请输入需要创建信息的学生人数(1--100):\n");
   scanf("%d",&m);
   for (i=0;i<m;i++)
   {
  printf("学号: ");
scanf("%d",&boy[i].num);
  printf("\n");
     printf("请输入姓名:  ");
  scanf("%s",&boy[i].name);
  getchar();
  printf("请输入C语言成绩:  ");
  scanf("%d",&boy[i].score);
 
     printf("\n");
   
   }
   printf("\n创建完毕!\n");
      save(m);
}

void save(int m)  /*保存文件函数*/
{
 int i;
 FILE*fp;
 if ((fp=fopen("student_list","wb"))==NULL)  /*创建文件并判断是否能打开*/
 {
  printf ("cannot open file\n");
     exit(0);
 }
 for (i=0;i<m;i++) /*将内存中学生的信息输出到磁盘文件中去*/
   if (fwrite(&boy[i],sizeof(struct student),1,fp)!=1)
   printf("file write error\n");
   fclose(fp);
}
int load()  /*导入函数*/
{
     FILE*fp;
 int i=0;
   if((fp=fopen("student_list","rb"))==NULL)
 {
  printf ("cannot open file\n");
     exit(0);
 }
 else
 {
  do
  {
        fread(&boy[i],sizeof(struct student),1,fp);
     i++;
  }
  while(feof(fp)==0);
 }
 fclose(fp);
 return(i-1);
}


void search_num()  /*查询函数*/
{
  int num;
  int i,t;
  int m=load();
  printf("请输入要查找的学号:\n");
  scanf("%d",&num);
  for(i=0;i<m;i++)
    if(num==boy[i].num)
 {  
    printf("\n已找到此人,其记录为:\n");
       printf("\n学号\t姓名\tC语言成绩\t   \n");
    printf("\n%d\t%s\t%d\t\n",boy[i].num,boy[i].name,boy[i].score);  
    break;
 }
   if(i==m)  
    printf("\n对不起,查无此人\n");
   printf("\n");
   printf("返回查询函数请按1,继续查询学号请按2\n");
   scanf("%d",&t);
   switch(t)
   {
   case 1:search_num();break;
      case 2: break;
   default:break;
   }
}


void modify() /*修改函数*/
{
    int num;
 char name[10];
 int score;
    int b,c,i,n,t,flag;
 int m=load(); /*导入文件内的信息*/
    printf("\n 原来的学生信息:\n");
    display();   /* 调用浏览函数*/
 printf("\n");
    printf("请输入要修改的学生的姓名:\n");
 scanf("%s",name);
 for(flag=1,i=0;flag&&i<m;i++)
 {
  if(strcmp(boy[i].name,name)==0)
  {
   printf("\n已找到此人,原始记录为:\n");
            printf("\n学号\t姓名\tC语言成绩\t   \n");
   printf("\%d\t%s\t%d\t\n",boy[i].num,boy[i].name,boy[i].score);  
            printf("\n确实要修改此人信息请按1 ; 不修改请按0\n");
   scanf("%d",&n);
            if(n==1)
   {
               printf("\n需要进行修改的选项\n 1.学号 2.姓名 3.C语言成绩\n");  
               printf("请输入你想修改的那一项序号:\n");  
               scanf("%d",&c);  
               if(c>8||c<1)  
         printf("\n选择错误,请重新选择!\n");  
   }
         flag=0;
  }
        
 }
    if(flag==1)
 printf("\n对不起,查无此人!\n");  
    do  
 {
  switch(c)      /*因为当找到第i个学生时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/
  {  
           case 1:printf("学号改为: ");
      scanf("%d",&num);
                  boy[i-1].num=num;
      break;  
           case 2:printf("姓名改为: ");
         scanf("%s",name);
      strcpy(boy[i-1].name,name);
         break;  
           case 3:printf("C语言成绩改为: ");
         getchar();
         scanf("%c",&score);
      boy[i-1].score=score;
      break;  
 

  }
        printf("\n");
  printf("\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2:  \n");
        scanf("%d",&b);
   
 }  
   while(b==2);
   printf("\n浏览修改后的所有学生信息:\n");
   printf("\n");
   save(m);
   display();
   printf("\n继续修改请按1,不再修改请按0\n");
   scanf("%d",&t);
   switch(t)
 {
    case 1:modify();break;
    case 0:break;
    default :break;
 }
  
}
搜索更多相关主题的帖子: 管理系统 display warning 源代码 modify 
2013-07-03 14:03
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 

DO IT YOURSELF !
2013-07-03 14:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
认真看编译信息,那就是答案!

授人以渔,不授人以鱼。
2013-07-03 14:05
kkk7823949
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 3楼 TonyDeng
看不出来呀~!!
2013-07-03 17:20
kkk7823949
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 2楼 wp231957
什么情况???
2013-07-03 17:20
kkk7823949
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 3楼 TonyDeng
如果我没认真看我就不会发上来了~!
2013-07-03 17:24
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
Linking...
789987.obj : error LNK2001: unresolved external symbol "void __cdecl display(void)" (?display@@YAXXZ)
Debug/465.exe : fatal error LNK1120: 1 unresolved externals


这个不是很明显的提示吗   你的display函数有问题呀

DO IT YOURSELF !
2013-07-03 18:02
kkk7823949
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-3-9
收藏
得分:0 
回复 7楼 wp231957
谢谢,弄好了,好友error C2447: missing function header (old-style formal list?)是什么意思?
2013-07-03 18:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
又一个浑人。不懂不算错,但不虚心不服教就是大错特错。

授人以渔,不授人以鱼。
2013-07-03 20:36
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
回复 9楼 TonyDeng
要么你就解决要么就别说话,现在这个论坛里到处都有这种讲理的孩子

[ 本帖最后由 embed_xuel 于 2013-7-3 21:16 编辑 ]

总有那身价贱的人给作业贴回复完整的代码
2013-07-03 21:15
快速回复:求各位老师看看小弟的错误,学生C语言成绩管理系统。无限感谢~!
数据加载中...
 
   



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

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