使用指针

时间:2018-07-08 08:08:34

标签: c vector data-structures struct point

我想创建一个编辑函数,该函数通过引用歌曲的向量作为参数来接收。 (使用指针)

用户必须选择歌曲编号,然后重新输入矢量在该位置的数据。

我创建了结构,我已经在接收值并且正在玩。但是我不知道如何编辑。有人帮我开始这部分吗?

    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <locale.h>
    #include <string.h>

      struct registry_of_music  {
        char name[50];
        char artist[60];
        char url[80];
    };
    struct registry_of_music music[9];

    int main() {
    int i;
    printf("\nRegistry of Music\n\n\n");

        for(i = 0; i <= 3;i++ ){
              printf("Name of Music: ");
              fflush(stdin);
              fgets(music[i].name, 50, stdin);

              printf("Name of Artist: ");
              fflush(stdin);
              fgets(music[i].artist, 60, stdin);

              printf("URL of Internet: ");
              fflush(stdin);
              fgets(music[i].url, 80, stdin);
        }

        int op;
        do
        {
            printf("1 - Play\n");
            printf("2 - Edit\n");
            printf("3 - Exit\n");
            printf("Please enter a value:");
            scanf("%d", &op);
                    switch(op) {
                case 1: play();
                        break;
                case 2: edit();
                        break;
                case 3: printf("Bye\n");
                        break;
                default: printf("Try Again\n");
            }
        } while (op!=3);

      getch();
      return(0);
}
    void play(){
    int i;
        for(i = 0; i <= 3;i++ ){
           printf("Name ...........: %s", music[i].name);
           printf("Artist .....: %s", music[i].artist);
           printf("URL .....: %s", music[i].url);
     }
}

    void edit(){}

1 个答案:

答案 0 :(得分:-1)

如果对未初始化的结构执行或已初始化,则“结构的填充实例”操作绝对相同。即使实例未初始化,它的字段中也有一些垃圾值。

另一方面,除非您使用更复杂的方法(并且未包含在ISO中),否则无法指定默认值,该默认值将显示在fgets的提示符下并可用于键盘编辑。 C标准)工具。