| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1184 人关注过本帖
标题:一个刚刚学的萌新,求各位大佬帮忙,指点一下,这个错误,卡了好久不懂.
只看楼主 加入收藏
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
一个刚刚学的萌新,求各位大佬帮忙,指点一下,这个错误,卡了好久不懂.
图片附件: 游客没有浏览图片的权限,请 登录注册
这两个错误一直不知道为什么啊
图片附件: 游客没有浏览图片的权限,请 登录注册
第二个我明明定义了啊,求各位指点一下好嘛..
搜索更多相关主题的帖子: 错误 定义 
2018-01-07 18:14
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10610
专家分:43210
注 册:2014-5-20
收藏
得分:20 
贴代码
2018-01-07 19:04
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
收藏
得分:0 
回复 2楼 吹水佬
int modify_data(int i) //修改信息函数
{int c,w1;
    do
    {
        puts("\n请选择要修改的选项:\n\n1.学号 2.姓名  3.电话号码  4.年龄 5.选修课成绩 6.实验课成绩 7.必修课成绩 8.总分 9.取消并返回");
        printf("请选择?: [  ]\b\b\b");
        scanf("%d",&c);
        if(c>9||c<1)
        {
            puts("\n选择错误!请重新选择!");
            getchar();
        }
    }while(c>9||c<1);
   do
   {
       switch(c)
       {
         case 1: printf("学号:");  scanf("%d",stu[i].num); break;
         case 2: printf("姓名:");  scanf("%s",stu[i].name); break;
         case 3: printf("电话:");  scanf("%d",stu[i].phone);break;
         case 4: printf("年龄:");  scanf("%d",&stu[i].age);break;
         case 5: printf("选修课:");  scanf("%lf",stu[i].elec);break;
         case 6: printf("实验课:");  scanf("%lf",stu[i].expe);break;
         case 7: printf("必修课:");  scanf("%lf",stu[i].requ);break;
         case 8: printf("总分:");  scanf("%lf",stu[i].sum);break;
         case 9: menu();break;  /*返回主菜单*/
       }
       puts("\nNow:\n");
       show_one(i); /*输出 修改后 的这个学生的信息*/
       printf("\n确定?\n\n\t1).是  2).不,重新修改  3).返回不保存 [ ]\b\b");
       scanf("%d",&w1);
   }while(w1==2);
   return(w1); /*修改成功并选择1后返回1*/
}
是需要这个吗?这个就是我截图的,拜托了!!11
2018-01-07 20:32
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10610
专家分:43210
注 册:2014-5-20
收藏
得分:0 
代码不全,猜测类似的:
//scanf("%d",stu[i].num);
//scanf("%lf",stu[i].elec);
scanf("%d",&stu[i].num);
scanf("%lf",&stu[i].elec);
2018-01-07 20:45
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
收藏
得分:0 
回复 4楼 吹水佬
请问我应该怎么做可以让你更好对我的代码找错误呢?要不然我吧有关的贴上来吧。
2018-01-07 20:53
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
收藏
得分:0 
回复 3楼 何处濯尘缨





[此贴子已经被作者于2018-1-7 21:02编辑过]

2018-01-07 20:58
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
收藏
得分:0 
回复 4楼 吹水佬
就两个调用函数,错误我标注了,麻烦您了


#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf%-15d%-3d\n"
#define DATA stu[i].num,stu[i].name,stu[i].phone,stu[i].age,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
int flag;//标记是否登陆
void show();
void menu();
void show_one();//显示一个人的
void printf_n(); /*浏览时输出所有学生的信息*/
int load(); /*打开文件,读取里面的数据*/
void save(); /*保存学生信息*/
void face();  /*欢迎页面*/
void login();//登陆
void menu();//菜单
void menu2();//这是用户模式的菜单
void deleter();//删除
void search();//查找
int modify_data(); //修改信息函数
void modify();//修改学生信息
void help();//帮助
void help2();//用户模式帮助
void exit1() ;//退出
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct student
{ int num;//学号
  char name[15];//姓名
  char phone[15];//电话号码
  int age;    //年龄
  double elec;//选修课
  double expe;//实验课
  double requ;//必修课
  double sum;//总分
};
struct student stu[50];
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
     face();
     login();
     menu();
    return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void in()/*录入*/
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void show()/*显示*/
{ .......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int load() /*打开文件,读取里面的数据*/
{
.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void save(int n) /*保存学生信息*/
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void face()  /*欢迎页面*/
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void login()//登陆
{
.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void menu()//菜单
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void menu2()//这是用户模式的菜单
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void deleter()//删除
 {
     .......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void search()//查找
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 int modify_data(int i) //修改信息函数 ======= 这里显示error C2143: syntax error : missing ';' before 'type'
{int c,w1;
    do
    {
        puts("\n请选择要修改的选项:\n\n1.学号 2.姓名  3.电话号码  4.年龄 5.选修课成绩 6.实验课成绩 7.必修课成绩 8.总分 9.取消并返回");
        printf("请选择?: [  ]\b\b\b");
        scanf("%d",&c);    ======这里显示error C2065: 'c' : undeclared identifier
        if(c>9||c<1)
        {
            puts("\n选择错误!请重新选择!");
            getchar();
        }
    }while(c>9||c<1);
   do
   {
       switch(c)
       {
         case 1: printf("学号:");  scanf("%d",stu[i].num); break;
         case 2: printf("姓名:");  scanf("%s",stu[i].name); break;
         case 3: printf("电话:");  scanf("%d",stu[i].phone);break;
         case 4: printf("年龄:");  scanf("%d",&stu[i].age);break;
         case 5: printf("选修课:");  scanf("%lf",stu[i].elec);break;
         case 6: printf("实验课:");  scanf("%lf",stu[i].expe);break;
         case 7: printf("必修课:");  scanf("%lf",stu[i].requ);break;
         case 8: printf("总分:");  scanf("%lf",stu[i].sum);break;
         case 9: menu();break;  /*返回主菜单*/
       }
       puts("\nNow:\n");
       show_one(i); /*输出 修改后 的这个学生的信息*/
       printf("\n确定?\n\n\t1).是  2).不,重新修改  3).返回不保存 [ ]\b\b");
       scanf("%d",&w1);
   }while(w1==2);
   return(w1); /*修改成功并选择1后返回1*/
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void modify() //修改学生信息
{
       struct student s;
       int i,n,k,w0=1,w1,w2=0;
       n=load();
       do
       {
          k=-1;
          do
          {
             printf("\n请输入您想要修改的学生的姓名!\nName:");
             scanf("%s",s.name);
             for(i=0;i<n;i++)
               if(strcmp(s.name,stu[i].name)==0) /*与其中一个学生匹配*/
               {
                   k=i;
                   s=stu[i];
               }
             if(k==-1) //没有找到输入的学生
             {
                 int o;
                 printf("\n\n没有这个学生的信息!\n");
                 printf("What do you want to do?\n\t1.继续    2.返回菜单  [ ]\b\b");
                 scanf("%d",&o);
                 if(o==1)
                 {
                     system("cls");
                     modify(); //继续修改
                 }
                 else
                 {
                    system("cls");
                    menu();
                 }
             }
          }while(k==-1);
          system("cls");
          show_one(k); //输出这个学生的信息
          w1=modify_data(k);
          if(w1==1) //判断是否修改成功修改
          {
             printf("\n\t^_^.修改成功 ^_^.\n\n是否继续?\n\n\t1).是 2).返回\t[ ]\b\b");
             scanf("%d",&w0);
             w2=1;
          }
          else
          {
             w0=0;
             if(w2==0)
                 stu[k]=s;
          }
          if((w0!=1)&&(w2==1)) //修改成功保存
              save(n);
       }while(w0==1);
       system("cls");
     menu();//不再修改返回主菜单
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void help()//帮助
 {
     .......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void help2()//用户模式帮助
{.......
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void exit1() //退出
{
    exit(0);
}
2018-01-07 21:00
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10610
专家分:43210
注 册:2014-5-20
收藏
得分:0 
回复 6楼 何处濯尘缨
show_one()未定义,加上可以通过编译
void show_one()
{

}
2018-01-07 21:09
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10610
专家分:43210
注 册:2014-5-20
收藏
得分:0 
         case 1: printf("学号:");  scanf("%d",stu[i].num); break;
         case 2: printf("姓名:");  scanf("%s",stu[i].name); break;
         case 3: printf("电话:");  scanf("%d",stu[i].phone);break;
         case 4: printf("年龄:");  scanf("%d",&stu[i].age);break;
         case 5: printf("选修课:");  scanf("%lf",stu[i].elec);break;
         case 6: printf("实验课:");  scanf("%lf",stu[i].expe);break;
         case 7: printf("必修课:");  scanf("%lf",stu[i].requ);break;
         case 8: printf("总分:");  scanf("%lf",stu[i].sum);break;
这部份改改:
         case 1: printf("学号:");  scanf("%d",&stu[i].num); break;
         case 2: printf("姓名:");  scanf("%s",stu[i].name); break;
         case 3: printf("电话:");  scanf("%s",stu[i].phone);break;
         case 4: printf("年龄:");  scanf("%d",&stu[i].age);break;
         case 5: printf("选修课:");scanf("%lf",&stu[i].elec);break;
         case 6: printf("实验课:");scanf("%lf",&stu[i].expe);break;
         case 7: printf("必修课:");scanf("%lf",&stu[i].requ);break;
         case 8: printf("总分:");  scanf("%lf",&stu[i].sum);break;
2018-01-07 21:12
何处濯尘缨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-1-7
收藏
得分:0 
回复 8楼 吹水佬
谢谢,非常感谢帮助
2018-01-07 21:18
快速回复:一个刚刚学的萌新,求各位大佬帮忙,指点一下,这个错误,卡了好久不懂 ...
数据加载中...
 
   



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

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