電卓作る

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2010/11/15(月) 17:09:29
どうやって作るんだ
2010/11/17(水) 13:53:11
>>65
つくってみそ
2010/11/17(水) 16:57:37
delphiでいいだろ
電卓作る為だけに生まれたような言語だ
2010/11/17(水) 17:11:42
>>6
つくってみそ
69デフォルトの名無しさん
垢版 |
2010/11/17(水) 17:50:09
2010/11/17(水) 17:51:12
    ▲▃   ▅▂▃▅       ▂▄▃▅▆▃
    █▀▲  ▆█▀█▀   ▀■▀▀ ▃▆▀
  ▅█▃█▀▅▀▅▃▉        ▀▆▀
    ▆▀▲   ▅▀▆▃        █
  ▅■▀▃▀▅▀▃▂ ▀█▆▅▃     █
  ▲▐▅ ▼ ▃ ▀▀         █
   ▀      ▀█▅       ▀▆▅█
71デフォルトの名無しさん
垢版 |
2010/11/17(水) 18:18:52
2010/11/17(水) 18:32:58
2新数の関係で0.1を10回足しても1.0にならないとか有名だろ
2010/11/17(水) 18:49:32
        ∧∧  ミ _ ドスッ
        (   ,,)┌─┴┴─┐
       /   つ.  終  了 │
     〜′ /´ └─┬┬─┘
      ∪ ∪      ││ _ε3
               ゛゛'゛'゛
2010/11/17(水) 18:58:43
10進小数クラス作れば良いだろ
2010/11/17(水) 19:23:49
電卓はBCD屋根
76デフォルトの名無しさん
垢版 |
2010/11/17(水) 21:00:21
2010/11/18(木) 00:27:16
ついこの前C#ですごく簡単な電卓を作った
小数は切り捨てられるけど16進 2進にも対応して
and演算もできる
けど実用性がw
2010/11/18(木) 00:54:20
ウィンドウス付属の電卓超えればいいんじゃね
2010/11/18(木) 04:01:32
それはかなり難しいな。
80デフォルトの名無しさん
垢版 |
2010/11/18(木) 08:19:03
2010/11/18(木) 16:08:52
関数電卓の差を見る定番はtan(355)
2010/11/18(木) 20:27:34
ググったらtan(355/226)って出てきた
83デフォルトの名無しさん
垢版 |
2010/11/18(木) 20:31:27
84デフォルトの名無しさん
垢版 |
2010/11/18(木) 20:51:48
85デフォルトの名無しさん
垢版 |
2010/11/18(木) 21:12:39
86デフォルトの名無しさん
垢版 |
2010/11/18(木) 21:27:16
87デフォルトの名無しさん
垢版 |
2010/11/18(木) 21:35:34
88デフォルトの名無しさん
垢版 |
2010/11/18(木) 21:39:26
作り方が分からない
教えろ
2010/11/18(木) 22:16:46
2010/11/18(木) 22:21:10
ハートの出し方教えろ。
91デフォルトの名無しさん
垢版 |
2010/11/18(木) 22:51:43
92デフォルトの名無しさん
垢版 |
2010/11/18(木) 22:58:05
あげ
2010/11/18(木) 23:13:54
あげても無駄だ。
94デフォルトの名無しさん
垢版 |
2010/11/19(金) 02:27:51
あげ方教えろ
95デフォルトの名無しさん
垢版 |
2010/11/19(金) 08:29:15
2010/11/19(金) 09:28:39
97デフォルトの名無しさん
垢版 |
2010/11/19(金) 16:27:31
age
98デフォルトの名無しさん
垢版 |
2010/11/19(金) 17:33:53
2010/11/19(金) 17:38:54
もう話題が尽きたな。
2010/11/19(金) 17:58:22
ttp://members3.jcom.home.ne.jp/goldwingstory/calc2312.html
2010/11/19(金) 18:25:49
ops2 = {{"+", Plus}, {"-", Subtract}, {"*", Times}, {"^", Power}, Mod};
ops1 = {Prime, Minus, Floor, Exp, Re, Im, Arg, Abs, Sin, Cos, Tan,
Conjugate, {"Rationalize", Rationalize[#, 0] &}, {"ToReal", N[#, 100] &},
{"isPrime", If[AtomQ@#, If[#, true, false], false] &@PrimeQ@# &},
{"toBinary", If[#2 == {}, #1, #0[10*#1 + First@#2, Rest@#2]] &[0, IntegerDigits[#, 2]] &},
{"1/x", 1/# &}, Log, {"Log10", Log[10, #] &}};
consts = Join[ToString /@ Range[0, 9], {" I ", " Pi ", " E "}];
s = {None, {0, 0}}; a := s[[1]]; b := s[[2]]; bb := ss[[2]]; op = ImageSize -> {130, 30}; true = 1; false = I;
ss := {#[[1]], PadLeft[#[[2]], Max[Length@#[[2]], 2]]} &@If[StringQ@a, {None, Append[b, ToExpression@a]}, s]
Column@{Flatten[{ Button[#, s = If[StringQ@a, {a <> #, b}, {#, b}], op] & /@ consts,
Button[#[[1]], s = {None, Append[bb[[;; -2]], #[[2]]@Last@bb]}, op] & /@ (If[ListQ@#, #, {ToString@#, #}] & /@ ops1),
Button[#[[1]], s = {None, Append[bb[[;; -3]], #[[2]] @@ bb[[-2 ;;]]]}, op] & /@ (If[ListQ@#, #, {ToString@#, #}] & /@ ops2),
Button["Enter", s = {None, If[StringQ@a, Append[b, ToExpression@a], Append[b, Last@b]]}, op],
Button["C", s = {None, Append[Most@b, 0]}, op], Button["AC", s = {None, {0, 0}}, op],
Button["x<>y", s = {None, Join[bb[[;; -3]], bb[[{-1, -2}]]]}, op]}, 1],Dynamic[Framed /@ ss[[2]]]}
2010/11/19(金) 19:18:49
C言語で作ってやったからいい加減黙れ。
感謝しろよ?

---start---
#include <stdio.h>
int main(){
int input1;
int input2;
printf("最初の数字を入れ(ry\n");
scanf(%x,&input1);
printf("\nもひとつ数(ry\n\n");
scanf(%x,&input2);
int answer = input1 + input2;
printf("\n\n\n\n\nあんさー:");
printf("%d\n\a\a\a,answer);
}
---end---

sage
103デフォルトの名無しさん
垢版 |
2010/11/19(金) 20:49:05
>>102
二つの数字を足すソフトはもう作った
2010/11/19(金) 21:02:37
>>103
コード晒せ
2010/11/19(金) 21:02:54
>>1
四則演算程度の電卓ならVBとかC#使えばバカでも作れるだろ。
2010/11/19(金) 21:55:52
たぶん1は高速なのを作りたいんじゃないの
107デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:02:19
>>104
>>30
2010/11/19(金) 22:05:31
enzansi=[+ - * /] -> GUI.makeTheseButtons(hurry())
output.LEDlikeDisplay <- do(fuckking.hurry())[input + enzansi + input]
rest(in(peace(the world)))
109デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:08:50
30のコードはコンパイルできなかった

自分でメソッド作ったほうがいいのか
2010/11/19(金) 22:11:56
change(reason=forSomeReason, Display.replace(LED -> 7 Seg Like)
whichIs <= 7(Segment) ... Bright.Red with Black background | make(hurry())
rest(in(peace(the world)))
2010/11/19(金) 22:13:26
>>109
エラーメッセージは?
112デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:19:16
>>111
prog.cs(15,8): error CS0165: Use of unassigned local variable `keisan1'
prog.cs(17,29): error CS0165: Use of unassigned local variable `keisan2'
prog.cs(17,38): error CS0165: Use of unassigned local variable `mojisuu'
prog.cs(19,9): error CS0165: Use of unassigned local variable `kekka'
prog.cs(23,19): error CS0165: Use of unassigned local variable `kekka'
Compilation failed: 5 error(s), 0 warnings

visual c#でもコンパイルエラーになる
2010/11/19(金) 22:31:37
>>112
まずwhileの前にkeisan1に値を入れて一番上のエラーを潰したら?
114デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:38:16
>>113
int型に全部入れたがエラー出る

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
at Test.Main () [0x00000] in <filename unknown>:0

2010/11/19(金) 22:40:45
>>114
コードは?
116デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:41:42
using System;

public class Test
{
public static void Main()
{
string nyuuryoku;
int keisan1 = 0;
int keisan2 = 0;
int mojisuu = 0;
string moji1;
int suuchi1 = 0;
int kekka = 0;
nyuuryoku = Console.ReadLine();
while (keisan1 != -1){
keisan1 = nyuuryoku.IndexOf("+");
moji1 = nyuuryoku.Substring(keisan2, mojisuu);
suuchi1 = Convert.ToInt32(moji1);
kekka = kekka + suuchi1;
keisan2 = keisan1;
mojisuu = keisan1 - keisan2;
}
Console.WriteLine(kekka);


}
}
2010/11/19(金) 22:46:08
>>116
C#はしらないんだけどstringにも何か入れてみたら?
あと実行時のエラーは色んなところをコメントアウトしたりprint文を入れて行ってすこしずつ調べる
118デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:54:14
prog.cs(11,8): error CS0029: Cannot implicitly convert type `int' to `string'
Compilation failed: 1 error(s), 0 warnings

できない
2010/11/19(金) 22:56:52
>>118
その英語を訳すと?
120デフォルトの名無しさん
垢版 |
2010/11/19(金) 22:58:52
>>119

intからstringに変換できないとか

文字を入れても駄目だった
2010/11/19(金) 22:59:57
>>120
コードは?
あとsageで
2010/11/19(金) 23:01:02
using System;

public class Test
{
public static void Main()
{
string nyuuryoku;
int keisan1 = 0;
int keisan2 = 0;
int mojisuu = 0;
string moji1 = 0;
int suuchi1 = 0;
int kekka = 0;
nyuuryoku = Console.ReadLine();
while (keisan1 != -1){
keisan1 = nyuuryoku.IndexOf("+");
moji1 = nyuuryoku.Substring(keisan2, mojisuu);
suuchi1 = Convert.ToInt32(moji1);
kekka = kekka + suuchi1;
keisan2 = keisan1;
mojisuu = keisan1 - keisan2;
}
Console.WriteLine(kekka);


}
}

2010/11/19(金) 23:01:46
>>122
>文字を入れても駄目だった
とはどこの部分?
124デフォルトの名無しさん
垢版 |
2010/11/19(金) 23:02:49
>>123
string moji1 = 0;

string moji1 = a;
に変えた
2010/11/19(金) 23:04:14
>>124
aは文字ではない。
126デフォルトの名無しさん
垢版 |
2010/11/19(金) 23:06:08
>>125
string moji1 = "a";
に変えたがエラーが出る
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
at Test.Main () [0x00000] in <filename unknown>:0

2010/11/19(金) 23:12:16
Runtime errorは出ても問題ないのか
2010/11/19(金) 23:13:07
>>126
もうすぐだ。
sageろっての。

実行時のエラーはコメントアウトしていって問題の場所を突き止める。


// い
// う
// え

がエラーなかったら



// う
// え

これも大丈夫なら




// え

と少しずつはずしていけば場所が分かる
2010/11/19(金) 23:20:41
using System;

public class Test
{
public static void Main()
{
string nyuuryoku;
int keisan1 = 0;
int keisan2 = 0;
int mojisuu = 0;
string moji1 = "a";
int suuchi1 = 0;
int kekka = 0;
nyuuryoku = Console.ReadLine();
while (keisan1 != -1){
keisan1 = nyuuryoku.IndexOf("+");
//moji1 = nyuuryoku.Substring(keisan2, mojisuu);
//suuchi1 = Convert.ToInt32(moji1);
//kekka = kekka + suuchi1;
//keisan2 = keisan1;
//mojisuu = keisan1 - keisan2;
}
//Console.WriteLine(kekka);


}
ここでエラーになった
2010/11/19(金) 23:27:07
>>129
その悪い行をコメントアウトして
かわりにその時点でnyuuryokuに何が入っているか表示させてみたら?
2010/11/19(金) 23:32:23
>>130
エラーの原因は↓だった
while (keisan1 != -1){

2010/11/19(金) 23:36:10
>>131
解決した?
133デフォルトの名無しさん
垢版 |
2010/11/19(金) 23:37:50
>>132
whileは負の数を使えないのか
2010/11/19(金) 23:40:49
>>133

// while (keisan1 != -1){
keisan1 = nyuuryoku.IndexOf("+");
//
//
// }

こうコメントアウトするとどうなる?
2010/11/19(金) 23:44:05
>>124
同じエラーが出た
2010/11/19(金) 23:45:19
>>135
じゃ keisan1 = nyuuryoku.IndexOf("+"); が悪い行だよな。
これもコメントアウトしてnyuuryokuになにが入ってるか見たら?
2010/11/19(金) 23:45:29
安価ミス
>>134
2010/11/19(金) 23:56:08
この前perlで数百ケタ同士の掛け算ができるスクリプト作ったら
計算終わるまでに20分とかかかってワロタww
そのあとBigIntあるとか知ってさらにワロタwww
2010/11/19(金) 23:58:31
using System;

public class Test
{
public static void Main()
{
int a;
int b;
if (a = -1){
b = 1;
}
while (b != 1){
Console.WriteLine("a");
}
}
}
これでもできなかったから負の数を使わないメソッドを自分で作ればいいのか
2010/11/20(土) 00:01:38
>>139
それがだめなのは>>112だからだろ
そんなことより>>136の結果は?
2010/11/20(土) 00:07:01
>>140
ideoneというサイトだと実行できない
いまコンパイラをインストールしてる
2010/11/20(土) 00:08:13
>>136
は前にやったが入力した文字が表示された
2010/11/20(土) 00:08:17
>>141
おk
2010/11/20(土) 00:14:26
>>139
今回のに関係ないが
if (a = -1){
じゃなくて
if (a == -1){
2010/11/20(土) 00:25:33
入力した文字が表示された

ここは問題ないのか
2010/11/20(土) 00:29:17
コメントをなくして実行すると
入力文字列の形式が正しくありません。
と表示される
2010/11/20(土) 00:29:20
>>145
なにも入力しないとどうなる?
2010/11/20(土) 00:31:07
>>147
同じエラーが出る
suuchi1 = Convert.ToInt32(moji1);
が問題のようだ
2010/11/20(土) 00:34:43
変数
args {string[0]} string[]
nyuuryoku "1+1" string
keisan1 1 int
keisan2 0 int
mojisuu 0 int
moji1 "" string
suuchi1 0 int
kekka 0 int
2010/11/20(土) 00:37:36
>>148
>同じエラーが出る
って事はIdeone上では何も入力しない状態だったってことだ。
(「null readline」 で検索)

あとはがんばれ
明日早いんで寝る
2010/11/20(土) 02:01:28
>>101

何コレ?

何の言語かさえ分からん。
2010/11/20(土) 02:36:04
電卓なんてそこいらのプログラミングの本にサンプル載ってるだろ
馬鹿だ。関数電卓ですら簡単に作れるのに
難しいのは()を使った構文解析とかだ
2010/11/21(日) 04:13:10
ttp://ideone.com/G3ul5
Luaで適当に書いてみたけど途中で飽きた。誰か完成させて。
2010/11/22(月) 10:16:51
精度はあんまりよくないけど、昔ネトゲ用に自作電卓を作った
JavaScriptで、現在入力してる数値が見れるのが売りで、割り算後の小数点切捨てと小数点ありの結果も同時にだしている
2010/11/22(月) 16:20:24
>>154
うp!うp!
2010/11/22(月) 21:20:16
素人なんでいろいろ辺だと思うがそこは勘弁な
長いといわれたので少し省略 ボタンの部分も省略

function calc(ch)
{
if(ch == "=")
{
document.form1.text2.value = Math.floor(eval(document.form1.text1.value));
document.form1.text3.value = eval(document.form1.text1.value).toFixed(3);
} else if (ch == "C")
{
document.form1.text1.value = "";
document.form1.text2.value = "";
} else
{
document.form1.text1.value += ch;
}
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR = "#FFFFFF" TEXT = "#000000">
<TR><FONT color="#FF0000"><H1>JavaScript電卓</H1></FONT></TR>
<FONT color="#87CEFA">
<FORM NAME = "form1" ACTION ="#">
計算
<INPUT type="text" name="text1" value="" size="120"><BR><BR>
答え(小数点切捨て)
<INPUT type="text" size="26" name="text2" value=""><BR><BR>
答え(小数点有り)
<INPUT type="text" size="26" name="text3" value=""><BR><BR>
</FONT>
2010/11/23(火) 22:31:37
演算はどうでもいいので2〜36進変換したいです
2010/11/23(火) 22:38:34
やり方知らんのか?
2010/11/23(火) 22:46:35
浮動小数点の10進数以外の表示はライブラリがそろってないからそれなりに難しいな。
2010/11/23(火) 23:29:26
>>158
書いてみてください
2010/11/23(火) 23:47:41
手計算してみ、小学校で習う、出来るだろ
2010/11/23(火) 23:52:00
なんだ結局煽るだけか。
2010/11/23(火) 23:54:03
浮動小数点なのか整数(または固定小数点)なのかはっきりしる。
2010/11/24(水) 00:11:12
>>163
おまかせします
165158
垢版 |
2010/11/24(水) 12:55:14
>>160
最適化など何も考えず素直に Haskell で実装した
cnTrans 関数が x 進数から y 進数へ変換する

------------
data Number = Number Integer [Integer]
              deriving Show

cnTrans :: Integer -> Number -> Number
cnTrans c = fromDec c . toDec

toDec :: Number -> Integer
toDec (Number c ns) = sum $ zipWith (*) ns $ iterate (*c) 1

fromDec :: Integer -> Integer -> Number
fromDec c 0 = Number c [0]
fromDec c n = Number c (unfoldr f n)
  where f d = if d == 0 then Nothing else Just $ swap (d `quotRem` c)
        swap (a,b) = (b, a)
------------
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況