C言語
#include <stdio.h> int MONEY[] = { 10000, 5000, 1000, 500, 100, 50, 10, 5, 1}; static char *Money_Ord[] = { "一万円", "五千円", "千円", "五百円", "百円", "五十円", "十円", "五円", "一円"}; typedef struct { int A10000; int B5000; int C1000; int D500; int E100; int F50; int G10; int H5; int I1;}M_class; typedef struct { char name[101]; int salary_total; M_class salary_class;}MEMBERS; void Input_data(MEMBERS *target , int *count){ printf("\n入力する人数を指定してください(最大10人):"); scanf("%d",count); for(int i = 0 ; i < *count ; i++){ printf("\n%d人目名前入力[半角100文字(全角50文字)以内、空白入力禁止]:",i+1); scanf("%s",target[i].name); printf("\n%sさんの給料入力[0以上100,000,000以下]:",target[i].name); scanf("%d",target[i].salary_total); }} void Calc_data(MEMBERS *target , int count){ int salary,number,*denomiCount; for(int i = 0 ; i < count ; i++){ salary = target[i].salary_total; denomiCount = &target[i].salary_class.A10000; for(int j = 0 ; j < 8 ; j++){ number = salary / MONEY[j]; salary -= number * MONEY[j]; *denomiCount = number; denomiCount++; } *denomiCount = salary; }} void Export_txtdata(MEMBERS *target , int count){ } void Export_dispdata(MEMBERS *target , int count){ int SUM[9] = {0},*denomiCount; printf("給料金種内訳明細書"); printf("-----------------------\n"); for(int i = 0 ; i < count ; i++ ){ denomiCount = &target[i].salary_class.A10000; printf("%d人目:%sさんの給料%d円の金種内訳\n" , i+1 , target[i].name , target[i].salary_total); for(int j = 0 ; j < 9 ; j++){ printf("%sは、 %d枚\n" , Money_Ord[j] , *denomiCount); SUM[j] += *denomiCount; denomiCount++; } } printf("-----------------------\n"); printf("-金種別累計枚数-\n"); printf("-----------------------\n"); for(int i = 0 ; i < 9 ; i++){ printf("%sは、 %d枚\n" , Money_Ord[i] , SUM[i]); } printf("-----------------------\n");} int main(){ int decision = 1; //終了判定 int count; MEMBERS target[10]; printf("給料金種別計算機"); do{ Input_data(target , &count); Calc_data(target , count); //データの計算 //Export_txtdata(target , count); //計算結果をテキストに出力 Export_dispdata(target , count); //計算結果を画面に出力 printf("別のデータを入力しますか?\n"); printf("Yes(1),No(0):"); scanf("%d",&decision); }while(decision);}
0 コメント