ibo编程
⑴ C++ C语言程序设计 题目:贷款计算器
/*
* main.c
*
* Created on: 2011-6-8
* Author: icelights
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#define APR1 0.0747 /*<1年(含1年)年利率*/
#define APR2 0.0756 /*1-3年(含3年)年利率*/
#define APR3 0.0774 /*3-5年(含5年)年利率*/
#define APR4 0.0783 /*5年以上年利率*/
#define A_TO_M 1/12 /*月利率 = 年利率 / 12*/
#define RTP 12 /*Reimbursement total periods还款总期数 =年限*12*/
#define LENGTH 80
struct LoanInfo
{
/*姓名*/
char name[LENGTH];
/*贷款总额*/
double LoanAmount;
/*贷款年限*/
double LoanYear;
/*月付*/
double MonthlyPayment;
/*总利息*/
double TotalInterest;
/*还款总额*/
double ReimbursementAmount;
/*年利率*/
double apr;
struct LoanInfo * next;
};
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv);
int main(void)
{
int temp;
struct LoanInfo * head = NULL;
struct LoanInfo * prev, * current;
current = (struct LoanInfo *)malloc(sizeof(struct LoanInfo));
if (NULL == head)
{
head = current;
}
else
{
prev->next = current;
}/*End of if (NULL == head)*/
puts("请输入姓名");
gets(current->name);
fflush(stdin);
puts("请输入贷款数额(单位:万元)");
scanf("%lf", ¤t->LoanAmount);
fflush(stdin);
puts("请输入贷款年限");
scanf("%lf", ¤t->LoanYear);
fflush(stdin);
printf("姓名:%s,贷款年限:%lf, 贷款数额%lf",
current->name, current->LoanYear, current->LoanAmount);
prev = current;
puts("请确认Y/N");
temp = getchar();
switch(toupper(temp))
{
case 'Y' : CalcShow(current, head, prev);
break;
case 'N' : free(current);
main();
break;
default : puts("输入错误");
free(current);
break;
}
return 0;
}
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv)
{
char lcv_temp;
if (cur->LoanYear <= 1)
cur->apr = APR1;
else if (cur->LoanYear <= 3)
cur->apr = APR2;
else if (cur->LoanYear <= 5)
cur->apr = APR3;
else
cur->apr = APR4;
/*End of if (year <= 1)*/
cur->LoanAmount = 10000 * cur->LoanAmount;
cur->ReimbursementAmount = cur->LoanAmount * pow((1 + cur->apr), cur->LoanYear);
cur->MonthlyPayment = cur->ReimbursementAmount / (cur->LoanYear * RTP);
cur->TotalInterest = cur->ReimbursementAmount - cur->LoanAmount;
printf("姓名:%s 贷款年限:%.0lf\n"
"贷款数额:%.2lf 每月还款额:%.2lf\n"
"利息合计:%.2lf 还款总额:%.2lf\n",
cur->name, cur->LoanYear, cur->LoanAmount,
cur->MonthlyPayment, cur->TotalInterest, cur->ReimbursementAmount);
puts("是否继续计算Y/N");
lcv_temp = getchar();
switch(toupper(lcv_temp))
{
case 'Y' : free(cur);
main();
break;
case 'N' : free(cur);
exit(0);
default : puts("输入错误");
free(cur);
main();
break;
}
system("pause");
}
⑵ FPGA为什么能实现可编程 急在线等
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。CLB包含一个可配置开关矩阵,此矩阵有选型电路(多路复用器),触发器和4活6个输入组成。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的slice和附加逻辑构成。每个CLB模块不仅可以用于实现组合逻辑和时序逻辑,还可以配置为分布式RAM和分布式ROM. 通过(vhdl verilog)程序的编译综合下载到fpga板子上,实现你需要的clb ibo interconnect 的配置。这就是fpga可编程的解释
⑶ 苹果电脑Mac
苹果电脑使用全攻略
Leying使用苹果机也有一段时间了,积累了一些东西与大家分享,同时也为了更多的人少走弯路,让大家了解苹果并且使用苹果,写了以下内容。如果内容有误,请大家指出。
一:苹果电脑的一些基本概念
(1) 苹果电脑使用的操作系统是MAC OS X ,最新的版本代号是Tiger。她是基于开放源码的Darwin UNIX计划, 也就是说MAC OS X实际上是一个UNIX操作系统, UNIX向来以工作稳 定效率高但是难于学习着称, 苹果MAC OS X利用了UNIX系统稳定高效的特点, 又通过 专门设计的Aqua操作界面完美地解决了易用性问题,使OS X成为最易用的操作系统之一。
(2) MAC OS X与windows的主要区别是:windows程序不能在苹果机上直接运行, 因为苹果机的CPU是PowerPC,运行windows软件需要通过虚拟机来模拟,而且模拟效率不好, 所以不推荐, 建议应急用。
(3) Apple Care,苹果维护保修,别名:苹果保鲜。
苹果公司提供的苹果保鲜是全球性有效。购买全新苹果电脑产品,苹果公司提供一年有限责任的苹果全球维护保修保证。自 带的一年期有限责任苹果维护保修保证完结之前,可于当地认可的苹果代理经销商,自行 购买二年期限的有限责任苹果维护保修保证。苹果保鲜适用于任何型号的苹果电脑和配套 液晶显示器。
(4) 苹果有微软为其开发的OFFICE软件,最新的版本是OFFICE 2004,她包括word,po erpoint,excel,msn,virtual pc。因此苹果在文字处理方面没有任何的不方便。苹果也 有QQ,国内的苹果爱好者开发了两个QQ软件:渤麦堂的ISQ和清华版的IQQ,但是这里 没有QQ游戏,功能也仅限于文字聊天。
(5) 由于苹果使用UNIX内核,因此苹果机非常稳定。并且苹果机的保有量比较少,病 也主要是针对windows系统,目前来讲,苹果病毒几乎没有。
(6) 苹果操作系统没有英文版与中文版之分,她是多国语言的操作系统,可以任意调 ,非常适合学习外文。
二:适合苹果吗?
(1)想要一台能做什么的电脑?
如果应用比较单纯,仅仅用于上网,编辑文档,听歌,处理数码资源等,苹果非常适 合,她自带的ilife软件是生活的好伙伴。但是涉及到某些专业的应用,苹果可是无能为力的,最典型的例子就是许多人问到的编程问题和AUTO CAD的使用问题。可以在苹果上学习编程,但是用她干活可是非常的不合适。苹果上也有CAD软件,但是怎么跟别人交 流?太鸡肋了,没有使用的必要。
(2)确信有解决苹果问题的能力吗?
英文水平怎么样?可以看得懂英文的帮助文档吗?可以用英文在国外的论坛上与其他 粉丝交流吗?如果完全没有问题,那么将来无论遇到什么问题,都可以在网络上找 到想要的答案。
(3)网络支持苹果吗?
苹果电脑的网络配制非常简单,这点可用毫无担心不能使用网络问题,并且她已经完全支持IPV6 协议,在网络方面,苹果机绝对优先与普通pc。
(4)现有的外设支持苹果吗?
已经购买的打印机,扫描仪,数码设备有没有苹果驱动?如果没有,这无形中给带来极 大的不便和额外的支出。具体的情况可以在苹果的官方网站上找到,那里有提供支持的 设备清单。详细情况请查询这里http://www.apple.com/macosx/upgrade/devices.html
(5)是否有特殊的爱好?
如果是一个游戏爱好者或者是硬件发烧友,那么就要慎重考虑了。苹果上的游戏说实 话也不少,可是网络游戏就只有新出的魔兽世界了,还有一个问题就是浩方对战平台不支 持苹果,只能在局域网内玩玩。苹果机基本没有DIY的意义,由于硬件的不一样,驱动的 不同,因此无法享受到PC上最新的硬件。
三:哪款苹果适合?
工作有没有移动性要求?如果没有,还是上eMac,iMac,PowerMac之类的台式机甚至工 作站、服务器。如果有,根据重量、性能选择。一般来说如果预算充足,优先选择power bo好。无论是重量还是性能,powerbo好都比iBo好更优秀。根据经验苹果机的性能排列大致 是这样的:
台式机:工作站>Powermac>iMac>eMac≈Mini
笔记本:pb17>pb15高配>pb15低配>pb12>ib14>ib12
如果按性价比排列,认为笔记本的排序应该是这样:ib12>pb12>pb15低配>pb15高配>ib 14>pb17
无论如何,一定要根据的经济实力选择电脑,要留下充足的钱用来购买外设和升级电 脑。
四:简介常备软件
平面、图形,网络设计类:Adobe CS 2,Macromedia Studio MX 2004,QuarkXPress 6, CorelDraw Suite Graphics Suite 11,Corel Painter 8,
影视编辑,3D动态类:DVD Studio Pro 2,Final Cut Pro 4.11,Final Cut Express1.0 .1,Shake 3.01,Maya 5.0.1,Cinema 4D 8.5,LightWave 3D 7.5,MediaEdit 1.6,Ad obe Premiere 6.5,Adobe After Effects 6.0
聊天: Yahoo Messenger 2.5.3,ICQ 3.4, MSN Messenger 3.5, AIM 4.6,Proteus 3.0
5,iSQ,VideoChat 5.0.6,IQQ
浏览器: opera 6.0.3,iCab 2.9.7, Mazilla 1.5, OmniWeb 4.5,Netscape 7.1,自家的safari
FTP工具: Transmit 2.6.2, Fetch 4.0.3, Captain FTP 3.1.1
下载工具: Speed Downlod 2.12, iGetter 1.95, Carracho X, Hotline Client X 1.9.2,Web Devil 5.5, LimeWire pro 3.6,还有BT!
专门软件:FileMaker 7:厉害的数据库软件。
SQLVue 3.0:数据库软件
Quicken 2004:强大的财务金融管理软件。
必备工具软件:
Toast 6 Titanium:刻录软件
iView MediaPro 1.5-2.1:看图综合工具
Atomix Dojam X,TranStar for Mac OS X:字典和翻译
MPlayer OS X 2:VCD, AVI等综合媒体播放
RealOne Player 9.0: Real RM格式媒体播放
DivX 5.1:在QuickTime上看AVI媒体的插件
VLC: 综合媒体播放
Windows Media Player 9: wma媒体播放
BTV pro 5.4.1: 视频抓取和编辑,有DV的必备。
macam.0.8:各种WebCam的支持及拍摄,比如罗技呀什么的WebCam可以用它拍照片和短片。
10.2下支持Yahoo视频聊天。
CockTail 3.3:系统维护
TechTool 4 BootCD:专业系统,硬盘等维护
Snapz Pro X 1.0.9:屏幕静态动态抓拍
StuffIt Deluxe/Standard 8: 压缩/解压缩工具
SerialBox Reader (OSX):中英文系统均适用的Serial Box阅读器。
A-Dock 1.2.2:免费的Dock的扩充软件
DragThing 5.2.1:Dock以及其他桌面功能的管理和扩充。
EasyWMA:免费的转换wma音频的工具,弥补Mac的不足。
You Control 1.2:综合的Finder菜单功能扩充,便利的控制系统。
Konfabulator 1.6.1:华丽的小器具控制软件,扩充电脑应用范围。
Big Clock OS X 2.7:免费的全屏幕数字显示的闹钟软件。
WireTap:电脑里的录音机,可录由电脑喇叭发出的所有声音,录VCD/DVD音频最好用。
WeatherPop 2:实用的天气预报软件。
五:购买问题
在购买笔记本之前,首先确定要购买几寸显示屏。在bbs上经常看到有人提倡15、17的 大本子,如果从移动性方面着想,最好选择12寸的。如果要买15、17,还不如购买台 机。第二步,便是购power或ibo好的选择了,购电脑最重要是符合的需求,对学生而 言,大多数人只是处理文档,看看片,听听音乐,再或者就是做些简单的数码处理,不搞 专业的图片设计,所以Ibo好够用了。如果是艺术设计系的,或者非常有米,建议购买高 配的中飞机。
一般情况下,ibo好被诟病的主要是:一,内存最多加到512+256。二,小白没有飞机的铝 质外壳,因此散热不及飞机好。三,处理器的L2不及飞机。论坛上很多人喜欢小飞机,的 确,小飞机的性能不错,但一般的消费者还是该考虑需要,另外一点,小飞机给人专 业些的感觉,小白则有些活泼,不过,样子挺好看,至于小白的键盘却是有些不如小飞机 。
在香港买是最便宜的了,如果要购买高配的飞机,去那里最合适。如果仅仅是领养小白 ,国内的APPLE CENTER或者APPLE CORNER就可以了,价格请参考官方建议价格。此处,个 人强烈建议购买保鲜,3年内可以随意使用而不必担心维修的问题。
验机时的注意事项1、配件是否齐全。2、有无可疑的开过箱痕迹。3、序列号是否一致(” 关于本机”的信息,纸箱,说明书。4、LCD坏点适当挑一下,别太苛求就好。键盘,触摸 板灵敏度。有条件可以试验一下其他硬件,譬如蓝牙,airport网卡。其它基本方法跟 选择notebo好差不多,请参考专业人士建议。
六:高阶应用
OS X是基于free bsd的,保留了UNIX全部特性,因此可以把OS X当作UNIX用,还可以在OS X上编译GNU的开源软件。通过OS X的X11+Fink 很多Unix/Linux程序都可以在OS X上使用 ,可参见: http://fink.sf.net 另外如果不想使用OS X,还有Yellow Dog Linux, ( Open) Darwin可以使用。
这里再转载一篇文章,希望对大家有用:
关于在OS X下面安装Unix图像处理程序GIMP 1.2
一、必备条件:宽带上网,因为要连续下载很多文件,小猫或ISDN都不行的。就是在单 位搞的,一贯占公家便宜,呵呵。
二、步骤及需要安装的文件:
-第1步-.
安装OS X安装盘里附带的OS X's Developer Tools,选Easy Install就可以。(这一步是 否必要,也不知道,反正按人家说的做喽)
-第2步-.
激活OS X的超级用户root,方法是进入Terminal终端,输入sudo passwd root回车(这个 命令用来设定root帐户的密码),输入一个新密码回车,并再次输入以确认,然后退出终 端。
-第3步-.
安装XFree86 for OS X系统,也就是把XWindows环境安装到OS X下面,共有三个文件需要 下载安装:
XInstall_10.1.sit,大小53.7M,
地址 http://umn.dl.sourceforge.net/sourcefor...nstall_10.1.sit
XFree86_4.2.0.1-10.2.zip,大小3.1M,
地址 http://umn.dl.sourceforge.net/sourcefor....2.0.1-10.2.zip
XFree86_4.2.1.1.zip,大小2.4M,
地址 http://umn.dl.sourceforge.net/sourcefor...e86_4.2.1.1.zip
这三个文件解压缩后,要按上面的顺序逐一安装,第一个是安装XDarwin系统,后两个是针 对OS X 10.2的升级。安装完成后,会在系统盘Applications文件夹里发现一个新的应用程 序XDarwin,红色X图标,就是它了。
双击打开XDarwin,会出来一个对话框,问是用Full Screen全屏还是Rootless模式运行, 选Rootless,这样在运行XDarwin时,还能看见桌面上的其他东西。过一会,XWindows的 login窗口、时钟窗口就会出现在桌面上,鼠标也变成了Unix环境下特有的X符号。 先不要管这个XDarwin,退出来,还需要另外一个工具Fink。
-第4步-.
安装Fink。
Fink是个非常实用的工具,一般来说,安装Unix程序比较麻烦,需要下载程序源代码 并且编译。Fink为苹果用户解决了这个问题,它会下载并安装Unix软件,只需要在终 端模式输入几行命令就可以。包括GIMP在内的许多Unix软件,现在都有了与Mac兼容的预编 译二进制包,即便是非OS X版本的Unix程序包,Fink也能自动完成编译和安装。 Fink-0.5.1-Installer.dmg,大小12.8M,
地址 http://umn.dl.sourceforge.net/sourcefor...1-Installer.dmg
这是个标准的Mac镜像,直接双击并安装就行了。安装结束后,会在OS X系统盘生成一个s w文件夹,Fink就在里面,不过Fink是要从Terminal里面启动的。
-第5步-.
使用Fink。打开终端Terminal,首先输入命令su回车,用root权限登录,在提示passwd后 面输入前面设定的root密码回车。然后输入命令source /sw/bin/init.csh,初始化。输入 fink回车,启动Fink程序,屏幕会提示Fink可以使用的各种参数和子命令。这时需要做两 件事:
1. 输入fink selfupdate回车,fink会自动到网上更新的代码,屏幕上提示的任何问 题都用Yes回答,等待它更新完并回到提示符状态,喝杯咖啡休息一下。
2. 输入apt-get update回车,fink用这个命令搜索网上可以安装的Unix软件列表,一切提 示都答Yes,等待它update完。
-第6步-.
安装GIMP 输入apt-get install gimp回车,还是一切提示都答Yes,等着,这个过程可能比较长, 直到回到提示符状态。
-第7步-.
终于可以运行GIMP了,首先要把OS X切换成英文系统,否则GIMP的菜单、按钮都是乱码。 打开XDarwin,在login窗口里输入source /sw/bin/init.csh回车,然后输入gimp回车,g imp会有一个简短的安装过程,按continue继续,如果没有意外,就应该看到gimp的界 面了。
七:TIGER操作系统启动盘的制作
如何在 Windows 中刻录 Mac 光盘?
DMG 磁盘映象
1) 在Mac, 打开 磁盘拷贝(disk )程序
2) 选择 File>Convert image
3) 选择想要转换 .dmg 文件
4) 选择转换成 "DVD/CD Master" - 该文件将被转换成dmg.cdr
5) 把 .dmg.cdr 改名为 .iso
6) 复制这个磁盘映象文件到PC上
7) 用 Nero 6/5.5 将这个文件作为 .iso 映象进行刻录。
注: 被分割了的 DMG文件 可以按同样方式转换; 在转换的时候(步骤2),每个磁盘映象都 要包括第一个DMG 部分。
TOAST 磁盘映象
1) 复制该磁盘映象到PC。
2) 在PC上, 把 .toast 改名为 .iso
3) 用 Nero 6/5.5 将这个文件作为 .iso 映象进行刻录。--
⑷ 如何用栈设计个C语言计算器,高手请跟我说说算法,特别是那些括号和乘法的实现,谢谢
支持 加减乘除括号负数开根乘方
#include<stdio.h>
#include<math.h>
#include<malloc.h>
double jisuan(char a[])
{
int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;
char nibo[50],zhan2[50];
double x,n,l,z=0,zhan3[50];
typedef struct
{
double d1;
int d2;
}dd;
typedef struct
{
dd data[50];
int top;
}zhan1;
zhan1 *shu;
shu=(zhan1 *)malloc(sizeof(zhan1));
shu->top=0;
while(a[i]!='\0')
{
if(a[i]>='0'&&a[i]<='9')
{
z=0;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
z=z*10+a[k]-'0';
}
j=j+1;
x=z;
if(a[j]=='猛罩.')
{
l=1;
i=j+1;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
n=pow(0.1,l);
l=l+1;
x=x+n*(a[k]-'0');
}
i=j+1;
}
else i=j;
shu->data[++shu->top].d1=x;
shu->data[shu->top].d2=++cnt;
nibo[++t1]='0'+shu->data[shu->top].d2;
nibo[t1+1]='\0';
}
else if(a[i]=='(')
{
zhan2[++t2]=a[i];
i++;
}
else if(a[i]==')')
{
j=t2;
while(zhan2[j]!='(')
{
nibo[++t1]=zhan2[j];
nibo[t1+1]='\0';
j--;
}
t2=j-1;
i++;
}
else if(a[i]=='+')
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]='\0';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='-')
{
if(a[i-1]=='$')
{
a[0]='0';
i=0;
}
else if(a[i-1]=='(')
{
a[i-1]='0';
a[i-2]='(';
i=i-2;
t2--;
}
else
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]='\0';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
else if(a[i]=='*'||a[i]=='/')
{
while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='弊盯^'||zhan2[t2]=='#')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]='\0'枝卜闹;
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='^'||a[i]=='#')
{
while(zhan2[t2]=='^'||zhan2[t2]=='#')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]='\0';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
while(t2>0)
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]='\0';
t2--;
}
j=1;t3=0;
while(j<=t1)
{
if(nibo[j]>='0'&&nibo[j]!='^'&&nibo[j]!='#')//
{
for(i=1;i<=shu->top;i++)
{
if((int)(nibo[j]-'0')==shu->data[i].d2)
{
m=i;
break;
}
}
zhan3[++t3]=shu->data[m].d1;
}
else if(nibo[j]=='+')
{
zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];
t3--;
}
else if(nibo[j]=='-')
{
zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];
t3--;
}
else if(nibo[j]=='*')
{
zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];
t3--;
}
else if(nibo[j]=='/')
{
zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];
t3--;
}
else if(nibo[j]=='^')
{
zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);
t3--;
}
else if(nibo[j]=='#')
{
zhan3[t3]=sqrt(zhan3[t3]);
}
j++;
}
return zhan3[t3];
}
void main()
{
for(;;)
{
char x,a[50];
double jieguo;
int i=0;
a[0]='$';
printf("#表示开方,^表示乘方(支持负数)\n");
printf("请输入表达式,退出请输入q:\n\n");
scanf("%c",&x);
if(x=='q') break;
while(x!='\n')
{
a[++i]=x;
scanf("%c",&x);
}
a[i+1]='\0';
jieguo=jisuan(a);
printf("\n");
printf("结果为:%lf",jieguo);
printf("\n\n\n\n\n");
}
}