算法概念
特征
- 可执行性,每一步计算机均可执行
- 确定性,每一步均有明确的定义,不能有歧义
- 有穷性,算法执行有限步后完成,不能有无限循环
- 可输入输信息,
算法表示
-
顺序
-
分支
-
循环
代码判断是否闰年
int year; cout<<"输入年份:"<<endl; cin>>dec>>year; if(year%4==0&&year%100!=0||year%400==0) cout<<year<<"年是闰年"<<endl; else { cout<<"年不是闰年"; }
枚举类型
enum 类型名 {枚举常量表}
常量表从0开始,若是指定值后,后面依次加1,可以不同常量名共用一个常量,占用内存与整数型相同
输入输出文件
程序中运行的文件称为内部文件,也叫文件流对象,最后保存的是外部文件
步骤
- 说明一个文件流向对象(内部文件),文件流类型ifstream支持从输入文件提取数据的操作,而文件流类型ofstream完成数据写入输出文件的各种操作
ifstream ifile; //定义输入文件,ifile为文件名,可用任意标识符
ofstream ofile; //定义输出文件,ofile为文件名,可用任意标识符
输入文件用于读,输出文件用于写
- 打开文件
ifile.open("d:\my_in_file.txt");
ofile.open("d:\my_out_file.txt")
目录必须存在,文件不存在会自动新建,文件存在则清空
- 对文件进行读写操作
顺序读写从文件开头进行读写,可用提取运算符(>>)和插入运算符(<<),也可以用get()和getline()等函数,读写是在文件缓冲区进行的
- 关闭文件
~~~cpp
ifile.close()
ofile.close()
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
int main(void)
{
int i,j,k;
ofstream ofile;
ofile.open("d:\\myfile.txt");//与磁盘文件构建联系
ofile<<" 公鸡 母鸡 小鸡"<<endl;
for(i=0;i<=20;i++)
for(j=0;j<=33;j++)
{
k=100-i-j;
if((5*i+3*j+k/3==100)&&(k%3==0))
ofile<<setw(8)<<i<<setw(6)<<j<<setw(6)<<k<<endl;
}
ofile.close();
return 0;
}
//从文件读取信息
char a[28]; //定义数组用于储存文件内容
ifstream ifile; //定义文件输入对象
ifile.open("d:\\myfile.txt"); //与磁盘文件联系
int i=0,j,k;
while(ifile.get(a[i]))
{
if(a[i]=='\n') break;
i++;
}
a[27]='\0';
cout<<a<<endl;
while(1)
{
ifile>>i>>j>>k;
if(ifile.eof()!=0) break; //文件结尾时退出循环
cout<<setw(6)<<i<<setw(6)<<j<<setw(6)<<k<<endl;
}
ifile.close();