注册 登录
编程论坛 C++教室

现在想将一个txt格式的文件存在一个结构体中,再已特定格式输出,写的程序如下所示,但没出来结果,求指点

小猪子 发布于 2012-12-03 10:45, 454 次点击
程序如下:
#include <iostream>
#include<string>
#include<fstream>
using namespace std;
#define N 40
struct student
{
    int no;
    unsigned long classno;
    string name;
    string banji;
    string title;
    string teacher;
};
int main()
{
    struct student stu[N];
    ifstream fin("c:\\arange.txt");
    if (!fin)
    {
        cout<<"File open error!"<<endl;
        return 1;
    }
    int i;
    for(i=0;i<N;i++)
    {
        fin>>stu[i].no;
        fin>>stu[i].classno;
        fin>>stu[i].name;
        fin>>stu[i].banji;
        fin>>stu[i].title;
        fin>>stu[i].teacher;
    }
    for(int i=0;i<N;i++)
    {
        printf("----------------------------------------------------\n");
        printf( " |%10s|%30s|%20s| \n" ,stu[i].name,stu[i].title,stu[i].teacher ) ;

    }
    fin.close();
    system( "pause ");
    return 0;
}
输出的特定格式为第一行为姓名,题目,指导老师。然后空十行,再输出第二组数据。
Txt文件格式如下:
1 081041302 陈一 081041C 基于平面图像的立体产品展示系统的建立 张晓明
2 081041416 李四 081041D 虚拟楼盘展示在SketchUp上的设计与实现 胡静
5 回复
#2
mmmmmmmmmmmm2012-12-03 11:11
程序代码:
#include <iostream>
#include <iomanip>
#include<string>
#include<fstream>
using namespace std;
#define N 40
struct student
{
    int no;
    unsigned long classno;
    string name;
    string banji;
    string title;
    string teacher;
};
int main()
{
    struct student stu[N];
    ifstream fin("c:\\arange.txt");
    if (!fin)
    {
        cout<<"File open error!"<<endl;
        return 1;
    }
    int i;
    for(i=0;i<N;i++)
    {
        fin>>stu[i].no;
        fin>>stu[i].classno;
        fin>>stu[i].name;
        fin>>stu[i].banji;
        fin>>stu[i].title;
        fin>>stu[i].teacher;
    }
    for(int j=0;j<N;j++)
    {
        printf("----------------------------------------------------\n");
       // printf( " |%10s|%30s|%20s| \n" ,stu[j].name,stu[j].title,stu[j].teacher ) ;
        cout<<"|"<<setw(10)<<stu[j].name<<"|"<<setw(30)<<stu[j].title<<"|"<<setw(20)<<stu[j].teacher<<"|"<<endl;
        
    }
    fin.close();
    system( "pause ");
    return 0;
}
#3
小猪子2012-12-03 11:37
回复 2楼 mmmmmmmmmmmm
那我想空十行输出,应该怎么编写呢?
#4
小猪子2012-12-03 11:41
回复 2楼 mmmmmmmmmmmm
运行了,没有出错,但是还是没有结果。
#5
mmmmmmmmmmmm2012-12-03 11:54
空行就用这个
printf("\n\n\n\n\n\n\n\n\n\n");
或者
cout<<endl;


结果有的 我截图给你看
只有本站会员才能查看附件,请 登录
#6
小猪子2012-12-03 12:08
谢谢,能够输出了。要是以上面的格式输出后,如果我想自动生成文档,应该从哪个方面入手编写程序呢?
1