C语言中未解析的外部符号
未解决的外部符号错误正在阻止编译我的代码。它特别提到了在C语言中未解析的外部符号,c,C,未解决的外部符号错误正在阻止编译我的代码。它特别提到了在main中调用的两个函数。这些函数是我试图创建的交换机的一部分,它仍在构建中。如果有人对我如何修复错误或改进代码有任何建议,请提前告诉我并感谢您。仅供参考-我已经搜索了类似的问题,它们不是针对我的问题 #include <stdio.h> #include <stdlib.h> #include <string.h> //This is a macro intended for use with the
main
中调用的两个函数。这些函数是我试图创建的交换机的一部分,它仍在构建中。如果有人对我如何修复错误或改进代码有任何建议,请提前告诉我并感谢您。仅供参考-我已经搜索了类似的问题,它们不是针对我的问题
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//This is a macro intended for use with the emplyName array.
#define SIZE 20
//This struct has all the varibles that I will be using in my functions
typedef struct person
{
char* emplyName[5][SIZE];
float emplyHours[5];
float emplyRate[5];
float emplyGross[5];
float emplyBase[5];
float emplyOvrt[5];
float emplyTax[5];
float emplyNet[5];
float emplyTotal[5];
}input;
void menu(void);
void employeeInfo(input* emply);
void editEmployees(input* emply);
void print(input* emply);
int main(void)
{
struct person *payroll={""};
int choice = 0;
menu();
scanf_s("%c", &choice);
switch (choice){
case '1':
employeeInfo(payroll);
break;
case '2':
editEmployees(payroll);
break;
case '3':
print(payroll);
break;
case '4':
break;
default:
printf("Invalid entry\n");
}
system("pause");
}
void employeeInfo(input *emply)
{
int i=0;
do {
printf("Enter employee name.\n");
scanf_s("%s", &emply->emplyName[i]);
printf("Enter employee hours.\n");
scanf_s("%f", &emply->emplyHours[i]);
printf("Enter Hourly rate.\n");
scanf_s("%f", &emply->emplyRate[i]);
} while (++i <= 5);
void calculations(input *emply);/*Write a method that calculates the gross, base and overtime pay, pass by reference.*/
{
int i;
i = 0;
for (i = 0; i < 5; i++){
if (emply->emplyHours[i] > 40) {
emply->emplyOvrt[i] = (emply->emplyHours[i] - 40) * (emply->emplyRate[i] * 1.5);
}
emply->emplyGross[i] = (((emply->emplyHours[i])*(emply->emplyRate[i])) + emply->emplyOvrt[i]);
emply->emplyBase[i] = (emply->emplyGross[i]) - (emply->emplyOvrt[i]);
emply->emplyTax[i] = ((emply->emplyGross[i])*.2);
emply->emplyNet[i] = (emply->emplyGross[i]) - (emply->emplyTax[i]);
emply->emplyTotal[0] += emply->emplyGross[i];
}
}
void print(input *emply);
{
int i;
for (i = 0; i < 5; i++)
{
printf("Employee Name:%s\n", emply->emplyName[i]);
printf("Hours Worked:%.2f\n ", emply->emplyHours[i]);
printf("Hourly Rate:%.2f\n", emply->emplyRate[i]);
printf("Gross Pay:%.2f\n", emply->emplyGross[i]);
printf("Base Pay:%.2f\n", emply->emplyBase[i]);
printf("Overtime Pay:%.2f\n", emply->emplyOvrt[i]);
printf("Taxes Paid:%.2f\n", emply->emplyTax[i]);
printf("Net Pay:%.2f\n", emply->emplyNet[i]);
}
printf("Total paid to all employees : %.2f\n", emply->emplyTotal[0]);
}
void editEmployees(input*emply);
{
char edit;
int i;
printf("which employee would you like to edit?\n");
for (i = 0; i < 5; i++){
printf("%d.%s", i + 1, emply->emplyName[i]);
}
scanf_s("%c", &edit);
switch (edit){
case '1':
printf("Enter employee name.\n");
scanf_s("%s", &emply->emplyName[0]);
printf("Enter employee hours.\n");
scanf_s("%f", &emply->emplyHours[0]);
printf("Enter Hourly rate.\n");
scanf_s("%f", &emply->emplyRate[0]);
}
}
}
void menu(void){
printf("Main Menu\n");
printf("1. Add Employee\n");
printf("2. Edit Employee\n");
printf("3. Print Employee\n");
printf("4. Print All EMployees\n");
printf("0. exit\n");
}
#包括
#包括
#包括
//这是一个用于emplyName数组的宏。
#定义尺寸20
//这个结构包含我将在函数中使用的所有变量
typedef结构人
{
char*emplyName[5][SIZE];
浮动工时[5];
浮动就业[5];
浮动就业率[5];
浮动就业基地[5];
浮动工资[5];
浮动就业税[5];
浮动就业网[5];
浮动就业总人数[5];
}输入;
作废菜单(作废);
作废员工信息(输入*员工);
无效编辑员工(输入*员工);
作废打印(输入*雇员);
内部主(空)
{
结构人员*payroll={'};
int-choice=0;
菜单();
scanf_s(“%c”和选项);
开关(选择){
案例“1”:
雇员资讯(薪金);
打破
案例“2”:
雇员(薪金);
打破
案例“3”:
打印(工资单);
打破
案例“4”:
打破
违约:
printf(“无效条目”);
}
系统(“暂停”);
}
作废员工信息(输入*员工)
{
int i=0;
做{
printf(“输入员工姓名。\n”);
scanf_s(“%s”,&emply->emplyName[i]);
printf(“输入员工工作时间。\n”);
scanf_s(“%f”,&emply->emplyHours[i]);
printf(“输入小时费率。\n”);
扫描(“%f”,&emply->emplyRate[i]);
}而(++i就业小时[i]>40){
雇员->雇员时间[i]=(雇员->雇员时间[i]-40)*(雇员->雇员时间[i]*1.5);
}
雇员->雇员时间[i]=(((雇员->雇员时间[i])*(雇员->雇员时间[i])+雇员->雇员时间[i]);
员工->员工库[i]=(员工->员工库[i])-(员工->员工库[i]);
雇员->雇员税[i]=((雇员->雇员税[i])*.2);
emply->emplyNet[i]=(emply->emplyGross[i])-(emply->emplyTax[i]);
员工->员工总数[0]+=员工->员工总数[i];
}
}
作废打印(输入*雇员);
{
int i;
对于(i=0;i<5;i++)
{
printf(“员工姓名:%s\n”,员工->员工姓名[i]);
printf(“工时:%.2f\n”,雇员->雇员小时[i]);
printf(“小时费率:%.2f\n”,雇员->雇员[i]);
printf(“工资总额:%.2f\n”,雇员->雇员薪酬[i]);
printf(“基本工资:%.2f\n”,雇员->雇员库[i]);
printf(“加班工资:%.2f\n”,雇员->雇员薪酬[i]);
printf(“已缴税款:%.2f\n”,雇员->雇员税[i]);
printf(“净工资:%.2f\n”,雇员->雇员网[i]);
}
printf(“支付给所有员工的总金额:%.2f\n”,emply->emplyTotal[0]);
}
无效编辑员工(输入*员工);
{
字符编辑;
int i;
printf(“您希望编辑哪位员工?\n”);
对于(i=0;i<5;i++){
printf(“%d.%s”,i+1,emply->emplyName[i]);
}
scanf_s(“%c”,编辑(&E));
开关(编辑){
案例“1”:
printf(“输入员工姓名。\n”);
scanf_s(“%s”,&emply->emplyName[0]);
printf(“输入员工工作时间。\n”);
扫描时间(“%f”,&emply->emplyHours[0]);
printf(“输入小时费率。\n”);
扫描(“%f”,&emply->emplyRate[0]);
}
}
}
作废菜单(作废){
printf(“主菜单”);
printf(“1.添加员工\n”);
printf(“2.编辑员工\n”);
printf(“3.打印员工\n”);
printf(“4.打印所有员工\n”);
printf(“0.exit\n”);
}
您定义了editEmployeeInfo()
和print()
本地到employeeInfo()
对于您定义的
editEmployees()
和print()
本地到employeeInfo()
的calculations()
也一样
同样适用于
计算()代码>…如何?为什么?如果你能告诉我们确切的错误信息,而不是让我们去猜测…错误4错误LNK2019:未解析的外部符号\u在函数中引用\u main C:\Users\jzapa\u 000\Desktop\Assignment4\Assignment4\Assignment\u 4.obj Assignment4Error 5错误LNK2019:未解析的外部符号\u打印在函数中引用_主C:\Users\jzapa_000\Desktop\Assignment4\Assignment4\Assignment_4.obj Assignment4请参见第一页。scanf_s(“%C”,&choice)代码>…如何?为什么?如果你能告诉我们确切的错误信息,而不是让我们去猜测…错误4错误LNK2019:未解析的外部符号\u在函数中引用\u main C:\Users\jzapa\u 000\Desktop\Assignment4\Assignment4\Assignment\u 4.obj Assignment4Error 5错误LNK2019:未解析的外部符号\u打印在函数中引用_主C:\Users\jzapa_000\Desktop\Assignment4\Assignment4\Assignment_4.obj Assignment4see首先。你到底说这发生在哪里,我没有看到。你到底说这发生在哪里,我没有看到。