プロが教える店舗&オフィスのセキュリティ対策術

C言語のプログラムが分かりません。教えて下さい。
---------------------------------------
課題1(kadai1.c)
画面に次のような表示を行うプログラムを作成しなさい。
new computer "POWER PC601"---> \400000(15.5%OFF)
(ヒント)素直に表示させようとすればエラーが出るはずです。
「"」「¥」「%」の表示のさせかたに注意。
ただし、商品名、価格、値引率は、変数として代入すること。
---------------------------------------
といった内容です。本当によく分かりません。助けて下さい。

A 回答 (6件)

>ようするに、何が分からないかというと、変数を3つも、どうやって代入するかですよ。



 異なる「型」の変数を3つ用意して、=を用いて代入(コピー)すればよいです。

>(ヒント)素直に表示させようとすればエラーが出るはずです。

★下のソースに示すとおり、『おもいっきり』素直にすれば、エラーは出ませんよ。
 (Borland C++5.6.4)

 なお、『おもいっきり』素直になるには、以下を参照して下さい。

 http://e-words.jp/p/r-ascii.html
 http://www.k-cube.co.jp/wakaba/server/format.html

#include<stdio.h>
#include<string.h>

void main()
{
 int iKakaku;
 double dNebiki;
 char cSyouhinMei[ 16 ]; // 年寄りは、8の倍数が心地よいです

 iKakaku = 400000; // 「代入」
 dNebiki = 15.5;

 strcpy( cSyouhinMei, "POWER PC601" ); // 「コピー」

 printf( "new computer %c%s%c", 0x22, cSyouhinMei, 0x22 );

 printf( "---> %c%d", 0x5C, iKakaku );

 printf( "(%4.1lf%cOFF)\n", dNebiki, 0x25 );
}
注:インデントに全角空白を用いています。タブに一括変換して下さい。
    • good
    • 0
この回答へのお礼

みなさん、丁寧に解説ありがとうございました。
これからも、C言語の勉強をがんばっていきたいと思います。

お礼日時:2008/10/03 18:20

1つ代入できれば、それを3つ書けばいいだけですよ。


>char name[12]="\"POWER PC601\"";
ここは、
char name[]="POWER PC601";
として、
最終的に表示するときに「"」を追加したほうがいいでしょう。
商品名に「"」が入っているわけではないですから。
あと、価格と値引率ですね。
価格は整数、値引率は実数で。
400000と、15.5をそれぞれ代入できる変数を用意すればいいです。
    • good
    • 0

>変数を3つも、どうやって代入するかですよ。



変数、3つ用意してそれぞれ代入(あるいは初期化)すればよろしいでしょう。
文字列だと代入は面倒かもしれませんが。
# 標準関数のstrcat()なり使うでしょうね。

ところで…
>char name[12]="\"POWER PC601\"";
要素数、14個は必要かと思われますけど…。
    • good
    • 0

例えば、


char name[]="ABC"; /* 文字列 */
int cost=100; /* 整数 */
double rate=10.5; /* 小数 */
printf("NAME=%s COST=%d RATE=%g \n",name, cost, rate);
ってやると、
NAME=ABC COST=100 RATE=10.5
と表示されませんか?
    • good
    • 0

<br /> 最低限、<br />  自分でどのように挑戦したか<br />  結果、どのようにうまくいかないか<br />

r /> 今後、卒業までのすべての課題をここで聞くつもりですか?

この回答への補足

 

補足日時:2008/10/02 23:22
    • good
    • 0
この回答へのお礼

20 #include <stdio.h>
30 int main (void)
40 {
50 char name[12]="\"POWER PC601\"";
ようするに、何が分からないかというと、変数を3つも、どうやって代入するかですよ。
" \ % の表示方法は分かっています。

お礼日時:2008/10/02 23:28

「文字あるいは文字列の中では、ある種の文字は \n(改行)のようにエスケープ系列で表される。

これらの系列は2文字のように見えるが、それが表すのはあくまでも一つの文字である。」(「プログラミング言語C」46頁)
    • good
    • 0
この回答へのお礼

さっそくご返答ありがとうございます。
そのへんは、ぎりぎり分かっているのですが、実際のプログラムの書き方がわかりません。

お礼日時:2008/10/02 22:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!