Я совершенно новичок в написании кода и беру уроки программирования на Си.
Я пытаюсь написать программу, которая является банковским меню.У меня проблемы с помещением значений в массив через функцию.Я думаю, что последняя функция с указателем - это то, с чем я сталкиваюсь.Я ценю ответы, но я хочу быть в состоянии понять, что я сделал неправильно, и как я должен это распознать.
Также будет полезно любое улучшение, о котором вы только можете подумать.Спасибо!
*** Также обратите внимание, что весь код не полный.Мне нужно исправить эту одну часть, чтобы иметь возможность писать другие, поэтому я застрял здесь.
//
// main.c
// HMenuFunctionArray
//
// Created by Yasmin on 5/13/18.
// Copyright © 2018 Yasmin Hosein. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define DEPOSIT 5
void choiceG(unsigned (*array[DEPOSIT]));
int main() {
char choice;
int sum, maxim, minim, aver = 0;
int count;
int array[DEPOSIT];
do {
printf("\nChoose an option from the menu below:\n");
printf( "\tG\t-\t" );
printf("Get a new deposit\n");
printf( "\tS\t-\t" );
printf("Sum of all deposits\n");
printf( "\tD\t-\t" );
printf("Deposits to be displayed from highest to lowest\n");
printf( "\tA\t-\t" );
printf("Average of all deposits\n");
printf( "\tL\t-\t" );
printf("Lowest deposit will be displayed\n");
printf( "\tQ\t-\t" );
printf("Quit the program\n");
printf("\nYour choice (please use uppercase): ");
scanf("%c", &choice);
switch (choice) {
case 'G':
choiceG (&array[DEPOSIT]);
break;
case 'S':
printf( "G");
break;
case 'D':
printf( "G");
break;
case 'A':
printf( "G");
break;
case 'L':
printf( "G");
break;
case 'Q':
break;
default:
printf("Incorrect menu option selected.\n");
}
}
while (choice != 'Q') ;
}
void choiceG (unsigned *array[DEPOSIT]) {
int a[5] = { 0 };
int i, j = 0;
for(i = 0; i < DEPOSIT; ++i ){
printf("Deposit # %d - $",i);
scanf("%d",*a+i);}
printf("Your deposit amounts are: $ ");
for(j = 0; j < DEPOSIT ; j++)
printf("%p ", (void *) &a[j]);
return ;
}