| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 598 人关注过本帖
标题:[em13]关于复数的运算为什么不接受输入呢
只看楼主 加入收藏
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:0 
[em13]关于复数的运算为什么不接受输入呢

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
typedef struct DATA{
int a;
int b;

}FUSH;

FUSH *creat(FUSH *T);
void destory(FUSH T[]);
void get(FUSH T[]);
void put(FUSH T[]);
FUSH oper(FUSH T[]);
int menu_select();

void main()
{
FUSH *data,Y;
int i;
while(1){switch(menu_select())
{
case 1:{data=creat(data);
for(i=0;i<2;i++)
printf("%d+%d*i\n",data[i].a,data[i].b);} break;
case 2:get(data);break;
case 3:put(data);break;

case 4:{ Y=oper(data);
printf("%d+%d*i\n",Y.a,Y.b);}break;
case 5:destory(data);break;
case 6:exit(-1);
}
}
getch();
}

/*创建函数*/
FUSH *creat(FUSH *T)
{

int i;
T=(FUSH *)malloc(2*sizeof(FUSH));
printf("\n输入实部和虚部\n");
for(i=0;i<2;i++)
{printf("\n输入a: ");
scanf("%d",&T[i].a);
printf("\n输入b: ");
scanf("%d",&T[i].b);
}
return(T);
}
/*删除函数*/
void destory(FUSH T[])
{
free(T);
printf("成功删除\n");
}
/*查找函数*/
void get(FUSH T[])
{
int i;

do{
printf("输入你想查找第几个负数:\n");
scanf("%d",&i);
}while(i<=0||i>=3);


printf("你所要查找的第%d个数是%d+%d*i\n",T[i-1].a,T[i-1].b);
}
/*修改函数*/
void put(FUSH *T)
{

int a,b;
int i;
do{
printf("输入你想修改第几个负数:\n");
scanf("%d",&i);
}while(i<=0||i>=3);


printf("输入实部和虚部:\n");
scanf("%d%d",&a,&b);
T[i-1].a=a;
T[i-1].b=b;
for(i=0;i<2;i++)
printf("%d+%d*i\n",T[i].a,T[i].b);
}
/*运算函数*/
FUSH oper(FUSH *T)
{

char c;
FUSH X;
printf("输入你想进行的操作运算'+','-','*','/': "); /*为什么不接受输入就直接显示了*/
c=getchar();
switch(c){
case '+': {X.a=T[0].a+T[1].a;
X.b=T[0].b+T[1].b;
}break;
case '-': {X.a=T[0].a-T[1].a;
X.b=T[0].b-T[1].b;
}break;
case '*':{ X.a=T[0].a*T[1].a-T[0].b*T[1].b;
X.b=T[0].a*T[1].b+T[0].b*T[1].a;
}break;
case '/':{ X.a=(T[0].a*T[1].a+T[0].b*T[1].b)/(T[1].a+T[1].b);
X.b=(T[0].b*T[1].a-T[0].a*T[1].b)/(T[1].a+T[1].b);
}break;
}
return(X);
}

int menu_select()
{
int n;


printf("\n1.创建负数\n");
printf("2.查找\n");
printf("3.修改\n");
printf("4.运算\n");
printf("5.删除\n");
printf("6.退出\n");
do{ printf(" 选择菜单\n");
scanf("%d",&n);}while(n<=0||n>=7);

return(n);
}

搜索更多相关主题的帖子: 复数 运算 输入 
2006-04-07 13:11
快速回复:[em13]关于复数的运算为什么不接受输入呢
数据加载中...
 
   



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

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