请问怎样从命令行输入两个整型数据进行计算后输出(c++)?(5分)

  • 主题发起人 主题发起人 tt123tt
  • 开始时间 开始时间
T

tt123tt

Unregistered / Unconfirmed
GUEST, unregistred user!
#include <iostream.h>
#include <conio.h>
void main(int argc,char *argv[])
{
int icount=0,aa,bb ;
aa=*argv[1];
//aa和bb得到的不是整型数据,怎样改?
bb=*argv[2];
while(icount<argc)
{
cout<<"arg:"<<icount<<"------"<<argv[icount]<<endl;
icount++;
}

cout<<"a+b="<<aa+bb <<endl;
getch();
}
 
各位高手请教我,好吗?
 
aa,bb 得到的是整型,是数字的ASCII码值。
如 char * argv[10]={"a","11","32"};
则 aa=*argv[1]=49 //字符1的ASCII码
bb=*argv[2]=52 //字符3 的ASCII码
所以 aa+bb=100
 
C:
int atoi(const char *s) 字符串转为整数
Delphi:
StrToInt(const S: string): Integer;
 
#include <stdlib.h>
aa=atoi(argv[1]);
bb=atoi(argv[2]);
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main(int argc, char *argv[])
{
int a, b;
char s[12];
if(argc != 3){
printf("Usage: %s Integer_1 Integer_2/n", argv[0]);
exit(-1);
}
a = atoi(argv[1]);
sprintf(s, "%d", a);
if(strcmp(s, argv[1]) != 0){
printf("Integer_1 is error!/n");
exit(-2);
}
b = atoi(argv[2]);
sprintf(s, "%d", b);
if(strcmp(s, argv[2]) != 0){
printf("Integer_2 is error!/n");
exit(-2);
}
printf("%d/n", a + b);
return(0);
}
 
多人接受答案了。
 
后退
顶部