返回列表 回复 发帖

《C++从入门到实践》一书修订2011年09月26更新

经几位读者细心阅读指出一些错误。特此修订。谢谢大家。
修订下载地址:http://115.com/file/clsrcbqc

如果大家发现新的错误,可以跟贴指出,谢谢了。
老师第200页本章实例中的头文件是不是还要加#include<iomanip>还有#include<string>
#include<iomanip>
#include<fstream>
#include<iostream>
using namespace std;
struct student
{
        string name;
        string course;
        int score;
};
void dispdata()
{
        ifstream file("student.dat");
        student my_student;
        cout<<"输出全部学生成绩"<<endl;
        cout<<setw(12)<<"姓名"<<setw(8)<<"课程"<<setw(12)<<"成绩"<<endl;
        while(file.read((char*)&my_student,sizeof(student)))
        {
                cout<<setw(12)<<my_student.name<<setw(8)<<my_student.course<<setw(12)<<my_student.score<<endl;
        }
        file.close();
}
void finddata()
{
        string sname;
        bool iffind=false;
        ifstream file("student.dat");
        student mystudent;
        file.seekg(0);
        cout<<"输入查询学生的姓名"<<endl;
        cin>>sname;
        cout<<setw(12)<<"姓名"<<setw(8)<<"课程"<<setw(12)<<"成绩"<<endl;
        while(file.read((char*)&mystudent,sizeof(student)))
        {
                if(mystudent.name==sname)
                {
                        iffind=true;
                cout<<mystudent.name<<mystudent.course<<mystudent.score<<endl;
                }
        }
        if(!iffind)
        {cout<<"没有该学生"<<endl;
        }file.close();
}
void adddata()
{
        fstream file("student.dat",ios::out|ios::app);
        cout<<"添加数据";
        student mystudent;
        cin>>mystudent.name>>mystudent.course>>mystudent.score;
        file.write((char*)&mystudent,sizeof(student));
        file.close();
}
int main()
{
        int select;
        do
        {
                cout<<"选择:1输出全部学生成绩"<<endl;
                cout<<setw(22)<<"2按姓名查询成绩"<<endl;
                cout<<setw(22)<<"3添加新成绩"<<endl;
                cin>>select;
                switch(select)
                {
                case 1:dispdata();break;
                case 2:finddata();break;
                case 3:adddata();break;
                default:break;
                }
        }while(select==1||select==2||select==3);
        return 0;
}
结构student后面应该加个分号。
我运行的时按了一下3,在添加数据成员一个,在按1,会出现很多的乱码,在还有如果在添加数据成员中加入成绩时,按进去的是字母也会出现很多的乱码。是不是我的编译器有问题
最上面一行的#include<string>是程序里的,不小心粘到上面去了
#include"stdafx.h"是干什么用的,我的这条会错
我从网上找到一个相对详细的教程,你看一下:http://wenku.baidu.com/view/de45274c2e3f5727a5e96276.html
内容简介第7行    是应用篇,包括2种类型的案例
而后面内容简介第8~9行        /服务器模式的系统和自定义协议及其实现的方法(网络型)、利用ODBC API函数实现电话簿和成绩管理(数据库型)、用文件流实现的特征查毒方法及用堆栈链表实现的表达式求值(其它类型)。除去了这个  还有3种类型  前面的那个类型也要删除吗?
内容简介第7行    是应用篇,包括2种类型的案例
而后面内容简介第8~9行        /服务器模式的系统和自定义协议及其实现的方法(网络型)、利用ODBC API函数实现电话簿和成绩管理(数据库型)、用文件流实现的特征查毒方法及用堆栈链表实现的表达式求值(其它类型)。除去了这个  还有3种类型  前面的那个类型也要删除吗?
{:3_52:}老师
老师  提供的下载勘误也有错的地方{:3_54:}  第75页第6行        已知三角形两边和两边的夹角        这里补充公式。这个不是75页的  而是74页的   还有补充什么公式 上面有公式了丫
9# b5606018


确实有一些问题。谢谢你。我重新修改了。
嘿嘿{:3_52:} 不用谢 晚辈们以后可能还有很多问题向你们前辈请教呢 {:3_46:}
第109页第3行        多级指针        二级指针   这里是第四行了  而且应该是二级间指吧? 这里只有单级间指 和两个重复的多级间指
嘿嘿  刚查了百度  原来是书上出错了  书上109页单级间指  二级间指  多级间指都应该把间指改为指针吧?
第113页倒数第6行        指针的加减运算        指针的加减|运算这个看得不是很懂{:3_57:}
是在加减和运算中间加个1还是一杠?  但是上面也有讲加减运算  上面也要加?
第200页倒数第2行        }        };这个大括号后为什么要加分号? 是个语句了吗?
返回列表