プログラムについて質問です。入力した分数を構造体に格納して返す関数。引数として分数を受けとり標準出力へ出力する関数。
この二つはどうしたらよいでしょうか?
#include<stdio.h>
struct fraction
{
int num; /*分子*/
int den; /*分母*/
};
int main(void)
{
struct fraction fraction1;
printf("分子を入力してください。\n");
scanf("%d",&fraction1.num);
printf("分母を入力してください。\n");
scanf("%d",&fraction1.den);
printf("入力された分数は%d/%dです。\n", fraction1.num, fraction1.den);
return 0;
}
よろしくお願いします
Re: よろしくお願いします
ソースコードを貼り付ける際は、BBCodeを有効にした上でcodeタグで囲んでいただけると、見やすくてありがたいです。
具体的にどのへんがわからないのですか?
課題なら作って使えばいいと思います。sim さんが書きました:この二つはどうしたらよいでしょうか?
具体的にどのへんがわからないのですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 15年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: よろしくお願いします
試しに似た回答をしてみます。
これをいじくれば課題は完成すると思います。
ポイントはポインタを使った時はアロー演算子->で、
ポインタを使わない時はドット演算い.でメンバを指定します。
これをいじくれば課題は完成すると思います。
#include <stdio.h>
struct Test {
int mem;
};
void input(struct Test *atest){
int tmp;
scanf("%d", &tmp);
atest->mem = tmp;
}
void myPrint(struct Test atest){
printf("%d", atest.mem);
}
int main(){
struct Test test;
input(&test);
myPrint(test);
return 0;
}
ポインタを使わない時はドット演算い.でメンバを指定します。
Re: よろしくお願いします
?????sim さんが書きました:構造体において関数を呼び出す定義ってなんですか?
C++のクラスのことでしょうか?
とりあえず型は のような感じでいいと思います(比較的小さい構造体なので、ポインタで渡す必要は無いだろう)。sim さんが書きました:入力した分数を構造体に格納して返す関数。引数として分数を受けとり標準出力へ出力する関数。
この二つはどうしたらよいでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: よろしくお願いします
#include<stdio.h>
typedef struct fraction
{
int num; /*分子*/
int den; /*分母*/
}fraction;
void show(fraction c);
int main(void)
{
struct fraction fraction1;
printf("分子を入力してください。\n");
scanf("%d",&fraction1.num);
printf("分母を入力してください。\n");
scanf("%d",&fraction1.den);
show(fraction1);
return 0;
}
void show(fraction c);
{
printf("入力された分数は%d/%dです。\n", c.num, c.den);
}
typedef struct fraction
{
int num; /*分子*/
int den; /*分母*/
}fraction;
void show(fraction c);
int main(void)
{
struct fraction fraction1;
printf("分子を入力してください。\n");
scanf("%d",&fraction1.num);
printf("分母を入力してください。\n");
scanf("%d",&fraction1.den);
show(fraction1);
return 0;
}
void show(fraction c);
{
printf("入力された分数は%d/%dです。\n", c.num, c.den);
}
Re: よろしくお願いします
まず、ソースコードを書き込む際はBBCodeを有効にした状態でcodeタグで囲んでいただけると、見やすくてありがたいです。sim さんが書きました:指摘お願いします。
次に、27行目の最後に付いているセミコロンが蛇足です。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: よろしくお願いします
エラー C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
このエラーなんですかね?
このエラーなんですかね?
Re: よろしくお願いします
コンパイラの不都合ですね。sim さんが書きました:エラー C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
このエラーなんですかね?
ソースコードの最初の行に というおまじないを書くか、GCCなどに乗り換えるといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)