VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 315|回复: 7

[已解决] 定义试题结构 求解释

[复制链接]
11_avatar_middle
在线会员 yoyo1999 发表于 2018-1-18 16:22:51 | 显示全部楼层 |阅读模式
本帖最后由 yoyo1999 于 2018-1-19 08:55 编辑

//定义试题的结构体
typedef struct Node
{
        int id;               //试题编号
        char problem[200];    //题干
        char optionA[100];    //选项A
        char optionB[100];    //选项B
        char optionC[100];    //选项C
        char optionD[100];    //选项D
        char ans;             //答案
        struct Node *pNext;   //指向下一个试题的指针
} ;
请问这个定义有什么问题吗?可不可以具体解释一下这个定义的作用?




上一篇:MFCDLL中创建一个Dialog资源
下一篇:CFileFind能不能同时查找两种类型文件?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-1-18 16:27:55 | 显示全部楼层
抬眼望去貌似没什么问题!
该有的都有了,试题有多个,所以出题者的意思是想要做成一个链表,你这里面的结构体定义 Node 就可以理解为链表中的一个节点。每个节点都是一道题,包含了该题的相关信息。

试题编号、题干、选项 以及答案等。最重要的是要有指向下一道题目的指针 pNext。
所以初步来看这样定义没什么问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

11_avatar_middle
ico_lz  楼主| yoyo1999 发表于 2018-1-18 16:33:31 | 显示全部楼层
哦哦,知道了,感谢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

11_avatar_middle
ico_lz  楼主| yoyo1999 发表于 2018-1-18 16:39:40 | 显示全部楼层
Syc 发表于 2018-1-18 16:27
抬眼望去貌似没什么问题!
该有的都有了,试题有多个,所以出题者的意思是想要做成一个链表,你这里面的结 ...

//新增题目
void insert()
{
        void insertNode(int id,char problem[200],char optionA[100],char optionB[100],char optionC[100],char optionD[100],char ans);
        int id;               //试题编号
        char problem[200];    //题干
        char optionA[100];    //选项A
        char optionB[100];    //选项B
        char optionC[100];    //选项C
        char optionD[100];    //选项D
        char ans;             //答案
        char choose2 = 'Y';
        while(toupper(choose2)=='Y')
        {
                printf("\n**********录入试题*************");
                printf("\n请输入试题编号:\n");
                scanf("%d",&id);
                fflush(stdin);
                printf("请输入题干:\n");
                gets(problem);
                printf("请输入选项A:\n");
                gets(optionA);
                printf("请输入选项B:\n");
                gets(optionB);
                printf("请输入选项C:\n");
                gets(optionC);
                printf("请输入选项D:\n");
                gets(optionD);
                ans=getchar();
                fflush(stdin);
                //调用函数,插入一个节点
                insertNode(id,problem,optionA,optionB,optionC,optionD,toupper(ans));
                printf("\n继续录入(Y/N)?");
                scanf("%c",&choose2);
                fflush(stdin);

        }
}
还想请问一下这一部分代码有没有什么问题?还有第二行引用那个试题结构是为什么?不太理解这一部分代码是怎么来的

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-1-18 16:46:02 | 显示全部楼层
yoyo1999 发表于 2018-1-18 16:39
//新增题目
void insert()
{

看着貌似也没什么问题,楼主说的“第二行引用那个试题结构是为什么?”指的是哪条语句?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

11_avatar_middle
ico_lz  楼主| yoyo1999 发表于 2018-1-18 16:48:26 | 显示全部楼层
本帖最后由 yoyo1999 于 2018-1-18 16:53 编辑
Syc 发表于 2018-1-18 16:46
看着貌似也没什么问题,楼主说的“第二行引用那个试题结构是为什么?”指的是哪条语句?


void insertNode(int id,char problem[200],char optionA[100],char optionB[100],char optionC[100],char optionD[100],char ans);
        int id;               //试题编号
        char problem[200];    //题干
        char optionA[100];    //选项A
        char optionB[100];    //选项B
        char optionC[100];    //选项C
        char optionD[100];    //选项D
        char ans;             //答案
就是这一部分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
online_admins Syc 发表于 2018-1-18 16:55:23 | 显示全部楼层
yoyo1999 发表于 2018-1-18 16:48
void insertNode(int id,char problem[200],char optionA[100],char optionB[100],char optionC[100],cha ...

因为 insert() 函数需要调用 insertNode 函数,但是 insertNode 函数的定义应该是放在了 insert() 函数的下面,所以编译的话会报错,为了不报错,于是加了函数的前置声明!

具体关于前置声明这块的讲解请见:
实用C++》第17课 函数的返回值及几种调用方式
http://www.cctry.com/thread-287128-1-1.html

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

11_avatar_middle
ico_lz  楼主| yoyo1999 发表于 2018-1-19 08:54:43 | 显示全部楼层
哦哦,谢谢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-8-19 19:16

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表