質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

537閲覧

C言語 構造体メンバのint型の配列を、関数内で処理をする。

makkasa

総合スコア11

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/02/23 14:54

前提・実現したいこと

実現したいこととしては、
各月の費用を、内訳別に数値入力し、月ごとの合計金額を表示するプログラムを作成しています。
下記、input関数にてint型配列に数値入力を行い、goukei関数にて数値を計算し、main関数内で出力処理を試みております。

int input(); int goukei(); typedef struct{ int hiyo[6]; }kakei; int main(){ int i, m; printf("\n何月分の出費を計算しますか?:"); scanf("%d",&m); kakei cost[m]; int msum[m]; input(cost,m); goukei(cost,m,msum); printf("各月の出費合計\n--------------\n"); for(i=0;i<m;i++){ printf("%d月 %d\n",i+1,msum[i]); } } int input(kakei *a,int n){ int i,j; char uti[6][10]={"住居費","食費","被服費","教養費","医療費","その他"}; for(i=0;i<n;i++){ printf("\n%d月の費用内訳\n",i+1); for(j=0;j<6;j++){ printf("%d月の%sを入力して下さい:",i+1,uti[j]); scanf("%d",&a->hiyo[j]); } a++; } a = a - (n - 1); return 0; } int goukei(kakei *a, int n, int *s){ int i,j; for(i=0;i<n;i++){ for(j=0;j<6;j++){ s[i] += a->hiyo[j]; } a++; } a = a - (n - 1); return 0; }

発生している問題・エラーメッセージ

発生しているエラー内容としては、数値が入力した通り出力されません。
下記が出力内容です。
素人なりに解決のために尽力したのですが、分かりかねるため、お力をお貸しいただきたく存じます。。

何月分の出費を計算しますか?: 2 1月の費用内訳 1月の住居費を入力して下さい:2 1月の食費を入力して下さい:2 1月の被服費を入力して下さい:2 1月の教養費を入力して下さい:2 1月の医療費を入力して下さい:2 1月のその他を入力して下さい:2 2月の費用内訳 2月の住居費を入力して下さい:3 2月の食費を入力して下さい:3 2月の被服費を入力して下さい:3 2月の教養費を入力して下さい:3 2月の医療費を入力して下さい:3 2月のその他を入力して下さい:3 各月の出費合計 -------------- 1月 3343 2月 32784

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

msumが0初期化されていないため不定値が入っています。

投稿2020/02/23 15:08

SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makkasa

2020/02/24 00:34

SHOMI様 ご指摘いただいた通り、int型配列msumが、初期化されていないことによる異常値でございました。 助かったと同時に、勉強になりました。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問