"二进制高精度计算”任务书 高手帮我做做那
"二进制高精度计算”任务书、功能要求
【题目描述】
编写程序,实现100位以内的二进制整数的高精度加法,减法和乘法。
【程序要求】
(1) 程序正确。能够严格实现任务书中描述的功能;
(2) 界面友好。尽可能使界面友好、直观、易操作;
(3) 风格友好。源程序应有良好的编码风格,使程序容易阅读。
【输入/输出要求】
(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
【课程设计报告内容要求】
1) 概述所作系统的主要功能;
2) 分析和描述任务书的基本要求与内容;
3) 描述及绘制出系统的功能结构框图;
4) C语言程序代码;
5) 使用说明;
三、 难点提示
1. 使用字符数组保存这些二进制整数。分析二进制计算的规律,结果保存在新的数组。
2. 菜单部分样例代码可参阅网络课堂里相关帮助——顶层菜单设计框架。
顶层菜单可采用如下框架代码:
#include "stdio.h"
#include <stdio.h>
#include <conio.h>
void input(){}
void del(){}
void find(){}
void sort(){}void main()
{
char ch;
loop:
system("cls");
printf("****************************************\n");
printf(" 1: 添加一个学生 \n");
printf(" 2: 删除一个学生 \n");
printf(" 3: 查找一个学生 \n");
printf(" 4: 学生信息排序 \n");
printf(" 5: 退出 \n");
printf(" \n");
printf(" \n");
printf("请选择输入选项[1\\2\\3\\4\\5]:>");
while(ch=getch())
{
switch(ch)
{
case '1': input();goto loop;
case '2': del();goto loop;
case '3': find();goto loop;
case '4': sort(); goto loop;
case '5': exit(0);
}
}
goto loop;
}
嗯 本来想二进制转化为十进制相加减乘的 再转换为二进制。10进制转进2制代码编写程序,
#include"stdio.h"
int transformToBin(int dnum,int *bin);
main()
{
int n,s,j,a[100];
printf("input yi shu:");
scanf("%d",&n);
s=transformToBin(n,a);
for(j=s-1;j>=0;j--)
printf("%d",a[j]);
getch();
}
int transformToBin(int dnum,int *bin)
{
int i,j=0;
for(i=0;dnum>0;i++)
{
*(bin+i)=dnum%2;
dnum/=2;
j++;
}
return j;
}
2进制转10进制代码
#include<math.h>
#include<stdio.h>
#include<string.h>
#define N 33
int input(int);
char a[N];
main()
{
int i,n,sum=0;
n=input(1);
for(i=n-1;i>=0;i--) //二进制输入检错
{
if((a[i]-'0')!=1&&(a[i]-'0')!=0)
n=input(0);
}
for(i=n-1;i>=0;i--) //二进制转换十进制
sum+=(a[i]-'0')*((int)pow(2,n-1-i));
printf(">>转换后的十进制数为:\n%d\n",sum);
}
int input(int m)
{
printf(">>%s输入一个二进制数:\n",m?"请":"输入有误,请重新");
scanf("%s",a);
return strlen(a);
}