возвращение структуры в функции с использованием typedef struct - PullRequest
0 голосов
/ 13 апреля 2020

я пытаюсь вернуть структуру в main, используя функцию addMov ie, которую я сделал, пожалуйста, игнорируйте остальную часть кода, это будет применимо только к случаю "a" main. и когда я обращаюсь к основному, это должно быть в отдельной структуре? как еще я смогу экспортировать его на главную? это должно быть сохранено в массив структуры из 100, который определен наверху. линия возврата новой; дает мне ошибку

#include <stdio.h>
#include <conio.h>
#define CONST 100
void sortMovies(struct movies[]);
void changeMovie(struct movie[]);
int findMovie(struct movies[], int nOfMovies, struct movies[].UPC);
struct movies newMovie();
typedef struct {
    char title[30];
    char UPC[12];
    int qnty;
    double price;
}movies;

int main()
{
    int nOfMovies = 0, findR, stop = 0;
    char decider;
    while (stop != 1)
    {
        movies main[CONST];
        movies tempMovie;
        printf("(A)dd a new movie\n(C)hange a Movie's Information \n(D)elete a Movie \n(L)ist All Movies\n(Q)uit");
        scanf(" %c", &decider);

        switch (decider)
        {
        case 'a':
        case 'A':
            tempMovie = newMovie();
            nOfMovies = findMovie(movies[], nOfMovies, movies[].UPC);
            nOfMovies++;
            break;
        case 'c':
        case 'C':
            printf("enter movie upc:");
            scanf("%c", movies.UPC);
            findR = findMovie(movies, nOfMovies, movie.UPC);
            break;
        case 'd':
        case 'D':
            findR = findMovie(movie, nOfMovies, movie.UPC);
            if (findR != -1)
            {
                printf("are you sure?");
        case 'y':
        case 'Y':

            break;
        default:
            printf("An invalid option was selected!");

            }
            break;
        case 'l':
        case 'L':
            sortMovies(movie);
            break;
        case 'q':
        case 'Q':
            return 0;
            break;
        default:
            printf("An invalid option was selected!");
        }
    }


}
struct movies newMovie() {
    movies new;

    printf("enter movie upc:");
    scanf("%c", new.UPC);
    printf("enter movie title:");
    scanf("%c", new.title);
    printf("enter movie qauntity:");
    scanf("%d", new.qnty);
    if (new.qnty <= 0)
    {
        printf("quanitity must be greater than 0");
        printf("enter movie qauntity:");
        scanf("%d", new.qnty);
    }

    printf("enter movie price:");
    scanf("%lf", new.price);
    if (new.price <= 0)
    {
        printf("price must be greater than 0");
        printf("enter movie price:");
        scanf("%lf", new.price);
    }
    return new;
}```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...