我正在创建一个可以对复数进行加,减和乘积的计算器,但是在displayComplexNumber上仍然会出现错误。每次我尝试编译时,都会显示“错误:“ double”之前的期望表达式”或“错误:函数'displayComplexNumber'的参数太少”
#include <stdio.h>
#include <stdlib.h>
int getMenuChoice();
void getComplexNumber(double* num, double* imagine);
void addComplexNumber(double num1, double imagine1, double num2, double imagine2, double* num, double* imagine);
void displayComplexNumber(double* num, double* imagine);
int main()
{
double num1,imagine1, num2, imagine2, num, imagine;
int choice;
do
{
choice = getMenuChoice();
switch (choice)
{
case 1: // addition
getComplexNumber(&num1, &imagine1);
getComplexNumber(&num2, &imagine2);
addComplexNumber(num1, imagine1, num2, imagine2, &num, &imagine);
displayComplexNumber(double* num, double* imagine)
break;
case 0: // display
break;
default:
break;
}
}while (choice != 0);
return 0;
}
int getMenuChoice()
{
int choice;
printf("1 - addition\n");
printf("0 - EXIT\n");
scanf("%d",&choice);
return choice;
}
void getComplexNumber(double* num, double* imagine)
{
printf("Enter the real component\n");
scanf("%lf", num);
printf("Enter the imaginary component\n");
scanf("%lf", imagine);
}
void addComplexNumber(double num1, double imagine1, double num2, double imagine2, double* num, double* imagine)
{
*num = num1 + num2;
*imagine = imagine1 + imagine2;
}
void displayComplexNumber(double* num, double* imagine)
{
printf("*RESULT*\n");
printf("%.2lf + %.2lfi\n", num, imagine);
}
[displayComplexNumber()
不应该使用指针,它应该只使用双精度。
void displayComplexNumber(double num, double imagine)
您需要在开始时在原型以及函数定义中进行修复。
然后,当您调用它时,就不会放入参数类型。它应该只是:
displayComplexNumber(num, imagine);