c语言编写请编写主函数,显示如下主菜单,供用户选择操作。 A-加法 S-减法 M-乘法 D-除法 Q-退出 > _ 要求: 若用户输入 A 或 a,则输入两个复数,然后计算并输出两个复数的和; 若用户输入 S 或 s,则输入两个复数,然后计算并输出两个复数的差; 若用户输入 M 或 m,则输入两个复数,然后计算并输出两个复数的积; 若用户输入 D 或 d,则输入两个复数,然后判断第二个复数是否为零。若第二个复数不为零,则计算并输出两个复数的商,否则报告错误; 若用户输入 Q 或 q,则退出主菜单,程序结束; 若用户输入其它字符,则报告错误; 程序反复显示主菜单,供用户反复使用,直到用户选择 Q 或 q 为止。 打开程序文件“main.c”,编写主函数,实现以上功能。 main.c #include <stdio.h> #include <math.h> #include <ctype.h> #include "Complex.h" /* 你提交的代码将被嵌在这里 */
时间: 2024-02-15 09:04:21 浏览: 104
在 main.c 文件中编写主函数实现:
```c
#include <stdio.h>
#include <math.h>
#include <ctype.h>
#include "Complex.h"
int main()
{
char choice = '\0';
COMPLEX c1, c2, result;
double real, imag;
while (1) {
printf("A-加法 S-减法 M-乘法 D-除法 Q-退出 > ");
scanf(" %c", &choice);
choice = toupper(choice); // 将用户输入的字母转成大写
if (choice == 'Q') {
break; // 退出主程序
} else if (choice != 'A' && choice != 'S' && choice != 'M' && choice != 'D') {
printf("错误的选择,请重新输入!\n");
continue; // 继续显示主菜单
}
printf("请输入两个复数的实部和虚部,以空格分隔:");
scanf("%lf%lf%lf%lf", &c1.real, &c1.imag, &c2.real, &c2.imag);
switch (choice) {
case 'A':
ComplexAdd(&result, &c1, &c2);
printf("复数相加的结果为:");
ComplexOutput(&result);
printf("\n");
break;
case 'S':
ComplexSub(&result, &c1, &c2);
printf("复数相减的结果为:");
ComplexOutput(&result);
printf("\n");
break;
case 'M':
ComplexMul(&result, &c1, &c2);
printf("复数相乘的结果为:");
ComplexOutput(&result);
printf("\n");
break;
case 'D':
if (ComplexIsZero(&c2)) {
printf("除数不能为零!\n");
} else {
ComplexDiv(&result, &c1, &c2);
printf("复数相除的结果为:");
ComplexOutput(&result);
printf("\n");
}
break;
default:
break;
}
}
return 0;
}
```
在运行程序后,会显示主菜单,根据提示输入相应的字母进行操作,直到选择 Q 或 q 退出程序。
阅读全文