Freedomlater 2018-01-19 01:44 采纳率: 33.3%
浏览 971
已结题

求帮写一个从txt文本中读取数据并输出的函数

//定义试题结构体
typedef struct node
{
int id; //试题编号
char problem[512]; //题干
char optionA[256]; //选项A
char optionB[256]; //选项B
char optionC[256]; //选项C
char optionD[256]; //选项D
char ans[4]; //正确答案
char choose[4];//学员答案
struct node*pNext; //指向下一个试题的指针
}Node;

Node *pHead = NULL; //存放试题的链表的首节点地址
Node *pTail = NULL;

//申请储存空间
void insertNode(int id, char *problem, char *optionA, char *optionB, char *optionC, char *optionD, char *ans)
{
Node *pNew = (Node *)malloc(sizeof(Node));
pNew->id = id;
strcpy(pNew->problem, problem);
strcpy(pNew->optionA, optionA);
strcpy(pNew->optionB, optionB);
strcpy(pNew->optionC, optionC);
strcpy(pNew->optionD, optionD);
strcpy(pNew->ans, ans);
pNew->pNext=NULL;

if (pHead == NULL)
{
pHead = pNew;
pTail = pHead;
}
else
{

//尾插入法
pTail->pNext = pNew;
pTail = pNew;

//头插入法
//pNew->pNext = pHead;
//pHead = pNew;

}
}

  • 写回答

3条回答

  • dabocaiqq 2018-01-19 02:42
    关注

    准备一个文本文件,放在d盘,里

     面有5行
    
    #include <stdio.h>
    #include <iostream>
    #include<string>
    #include<fstream>
    #include<sstream>
    using namespace std;
    
    
    int main()
    {
    ifstream inf;
    inf.open("d:\\test.txt");
    
    
    string sline;//每一行
    string out;
    char problem[512]; //题干
    char optionA[256]; //选项A
    char optionB[256]; //选项B
    char optionC[256]; //选项C
    char optionD[256]; //选项D
    
    
    while(getline(inf,sline))
    {
    istringstream sin(sline);
    sin>>problem>>problemA>>problemB>>problemC>>problemD;
    cout<<problem<<" "<<problemA<<" "<<problemB<<" "<<problemC<<" "<<problemD<<"\n";
    
    }
    
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置