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 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现