| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 76 人关注过本帖
标题:请问这个出现错误的原因及解决方法是什么,谢谢!
只看楼主 收藏
林康
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2017-10-31
结帖率:16.67%
  问题点数:10  回复次数:2   
请问这个出现错误的原因及解决方法是什么,谢谢!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct clerk
{
    int id;
    char name[20]; /* 姓名 */
    long jbgz; /* 基本工资 */
    long zwgz; /* 职务工资 */
    long gwjt; /* 岗位津贴 */
    long ylbx; /* 医疗保险 */
    long gjj; /* 公积金 */
    long total;/*总工资*/
}a[100];


int  displayMenu();
int inputData(struct clerk clerks[]);


int main(void) {
    int choice;
    struct clerk clerks[100];
    int n;
    choice=displayMenu();
    while(choice!=0){
        switch(choice){
        case 1:  
            n= inputData(clerks);
            break;
        }
            choice=displayMenu();   
        }
    return 0;
}
        
int  displayMenu(){
    int myChoice;
        system("cls");//清屏
   
    printf("欢迎使用职工信息管理系统\n");
    printf("1.输入记录\n");
    printf("2.显示记录\n");
    printf("3.修改记录\n");
    printf("4.查找记录\n");
    printf("5.删除记录\n");
    printf("6. 统计\n");
    printf("7.退出\n");
    printf("请输入选择:");
    scanf("%d",&myChoice);
    return myChoice;
}            
            
   
/*输入职工的基本信息*/
int inputdata(struct clerk clerks[])   
{
    int i,n;
    system("cls");//清屏
    printf("请输入要查询的职工人数:");
    printf("Input n:");
    scanf("%d",&n);         /*输入职工的人数*/
    for(i=0;i<n;i++) {
        printf("姓名:");
        scanf("%s",clerks[i].name);
        getchar();
        printf("基本工资:");
        scanf("%d",&clerks[i].jbgz);
        printf("职务工资:");
        scanf("%d",&clerks[i].zwgz);
        printf("岗位津贴:");
        scanf("%d",&clerks[i].gwjt);
        printf("医疗保险:");
        scanf("%d",&clerks[i].ylbx);
        printf("公积金:");
        scanf("%d",&clerks[i].gjj);
        a[i].total=((a[i].jbgz)+(a[i].zwgz)-(a[i].gjj)-(a[i].ylbx)+(a[i].gwjt));//计算总工资
    }
    printf("---输入完成并已创建成功---");   
     //需要保存职工信息的人数为 n 个//

    }
               
            
            
            
            
            
            
            
            
            
            
            
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct clerk
{
    int id;
    char name[20]; /* 姓名 */
    long jbgz; /* 基本工资 */
    long zwgz; /* 职务工资 */
    long gwjt; /* 岗位津贴 */
    long ylbx; /* 医疗保险 */
    long gjj; /* 公积金 */
    long total;/*总工资*/
}a[100];


int  displayMenu();
int inputData(struct clerk clerks[]);


int main(void) {
    int choice;
    struct clerk clerks[100];
    int n;
    choice=displayMenu();
    while(choice!=0){
        switch(choice){
        case 1:  
            n= inputData(clerks);
            break;
        }
            choice=displayMenu();   
        }
    return 0;
}
        
int  displayMenu(){
    int myChoice;
        system("cls");//清屏
   
    printf("欢迎使用职工信息管理系统\n");
    printf("1.输入记录\n");
    printf("2.显示记录\n");
    printf("3.修改记录\n");
    printf("4.查找记录\n");
    printf("5.删除记录\n");
    printf("6. 统计\n");
    printf("7.退出\n");
    printf("请输入选择:");
    scanf("%d",&myChoice);
    return myChoice;
}            
            
   
/*输入职工的基本信息*/
int inputdata(struct clerk clerks[])   
{
    int i,n;
    system("cls");//清屏
    printf("请输入要查询的职工人数:");
    printf("Input n:");
    scanf("%d",&n);         /*输入职工的人数*/
    for(i=0;i<n;i++) {
        printf("姓名:");
        scanf("%s",clerks[i].name);
        getchar();
        printf("基本工资:");
        scanf("%d",&clerks[i].jbgz);
        printf("职务工资:");
        scanf("%d",&clerks[i].zwgz);
        printf("岗位津贴:");
        scanf("%d",&clerks[i].gwjt);
        printf("医疗保险:");
        scanf("%d",&clerks[i].ylbx);
        printf("公积金:");
        scanf("%d",&clerks[i].gjj);
        a[i].total=((a[i].jbgz)+(a[i].zwgz)-(a[i].gjj)-(a[i].ylbx)+(a[i].gwjt));//计算总工资
    }
    printf("---输入完成并已创建成功---");   
     //需要保存职工信息的人数为 n 个//

    }
               
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct clerk
{
    int id;
    char name[20]; /* 姓名 */
    long jbgz; /* 基本工资 */
    long zwgz; /* 职务工资 */
    long gwjt; /* 岗位津贴 */
    long ylbx; /* 医疗保险 */
    long gjj; /* 公积金 */
    long total;/*总工资*/
}a[100];

int  displayMenu();
int inputData(struct clerk clerks[]);

int main(void) {
    int choice;
    struct clerk clerks[100];
    int n;
    choice=displayMenu();
    while(choice!=0){
        switch(choice){
        case 1:  
            n= inputData(clerks);
            break;
        }
            choice=displayMenu();   
        }
    return 0;
}
        
int  displayMenu(){
    int myChoice;
    system("cls");//清屏     
    printf("欢迎使用职工信息管理系统\n");
    printf("1.输入记录\n");
    printf("2.显示记录\n");
    printf("3.修改记录\n");
    printf("4.查找记录\n");
    printf("5.删除记录\n");
    printf("6. 统计\n");
    printf("7.退出\n");
    printf("请输入选择:");
    scanf("%d",&myChoice);
    return myChoice;
}            
               
/*输入职工的基本信息*/
int inputdata(struct clerk clerks[])   
{
    int i,n;
    system("cls");//清屏
    printf("请输入要查询的职工人数:");
    printf("Input n:");
    scanf("%d",&n);         /*输入职工的人数*/
    for(i=0;i<n;i++) {
        printf("姓名:");
        scanf("%s",clerks[i].name);
        getchar();
        printf("基本工资:");
        scanf("%d",&clerks[i].jbgz);
        printf("职务工资:");
        scanf("%d",&clerks[i].zwgz);
        printf("岗位津贴:");
        scanf("%d",&clerks[i].gwjt);
        printf("医疗保险:");
        scanf("%d",&clerks[i].ylbx);
        printf("公积金:");
        scanf("%d",&clerks[i].gjj);
        a[i].total=((a[i].jbgz)+(a[i].zwgz)-(a[i].gjj)-(a[i].ylbx)+(a[i].gwjt));//计算总工资
    }
    printf("---输入完成并已创建成功---");   
   
    }
               
            
            
            
            
            






            
            
            
            
            
            
            
            
            





附件: 您没有浏览附件的权限,请 登录注册
6 天前 20:59
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:151
专家分:346
注 册:2011-4-24
  得分:0 
感觉的你代码是复制粘贴人家的代码再修改而来的 -  -!!

你的错误信息提示你的函数声明与函数定义名不一致,一个inputData声明,而定义却是inputdata,同时还有几处语法问题,帮你修改好了,但没测试结果的正确性,代码如下:

程序代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//#include<conio.h>
struct clerk
{
    int id;
    char name[20]; /* 姓名 */
    long jbgz; /* 基本工资 */
    long zwgz; /* 职务工资 */
    long gwjt; /* 岗位津贴 */
    long ylbx; /* 医疗保险 */
    long gjj; /* 公积金 */
    long total;/*总工资*/
}a[100];


int  displayMenu();
int inputData(struct clerk clerks[]);


int main(void) {
    int choice;
    struct clerk clerks[100];
    int n;
    choice=displayMenu();
    while(choice!=0){
        switch(choice){
        case 1:  
            n= inputData(clerks);
            printf("输入完成信息的人数为%d\n",n);    //返回给变量之后就没用过,编译器会提示变量未被使用的提示,所以我输出了一下它
            break;
        }
            choice=displayMenu();   
        }
    return 0;
}
        
int  displayMenu(){
    int myChoice;
        system("cls");//清屏
   
    printf("欢迎使用职工信息管理系统\n");
    printf("1.输入记录\n");
    printf("2.显示记录\n");
    printf("3.修改记录\n");
    printf("4.查找记录\n");
    printf("5.删除记录\n");
    printf("6. 统计\n");
    printf("7.退出\n");
    printf("请输入选择:");
    scanf("%d",&myChoice);
    return myChoice;
}            
            
   
/*输入职工的基本信息*/
int inputData(struct clerk clerks[])         //这里就是你代码提示错误的原因,把inputdata修改inputData则可
{
    int i,n;
 //   system("cls");//清屏
    printf("请输入要查询的职工人数:");
    printf("Input n:");
    scanf("%d",&n);         /*输入职工的人数*/
    for(i=0;i<n;i++) {
        printf("姓名:");
        scanf("%s",clerks[i].name);
        getchar();
        printf("基本工资:");
        scanf("%ld",&clerks[i].jbgz);    //这里的类型是长整形
        printf("职务工资:");
        scanf("%ld",&clerks[i].zwgz);
        printf("岗位津贴:");
        scanf("%ld",&clerks[i].gwjt);
        printf("医疗保险:");
        scanf("%ld",&clerks[i].ylbx);
        printf("公积金:");
        scanf("%ld",&clerks[i].gjj);
        a[i].total=((a[i].jbgz)+(a[i].zwgz)-(a[i].gjj)-(a[i].ylbx)+(a[i].gwjt));//计算总工资
    }
    printf("---输入完成并已创建成功---");   
     //需要保存职工信息的人数为 n 个//
    return n;    //这里漏了返回值
}


5 天前 11:16
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:151
专家分:346
注 册:2011-4-24
  得分:0 
回复 2楼 kin3z
漏了一个,#include <conio.h> 这个函数并不公用。
5 天前 11:18







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

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