📄 a06c.cpp
字号:
//Musterloesung A06c
#include<iostream>
#include<fstream>
#include<map>
#include<iomanip>
#include<algorithm>
using namespace std;
// global variables
int n_orders;
// structs
struct Order{
char id;
int duration;
int duedate;
};
// function prototypes
void readInputData( char * filename, multimap<int,Order> &orders );
int main( int argc, char * argv[] )
{
if ( argc < 2 ) {
cout << "command line arguments missing!" << endl;
cout << "argv[1] = inputfilename!" << endl;
exit(1);
}
//cout << "cmd line arg 1: " << argv[0] << endl;
//cout << "cmd line arg 3: " << argv[2] << endl;
multimap<int, Order> orders;
multimap<int, Order>::iterator it_orders;
readInputData( argv[1], orders );
// print data read
for ( it_orders = orders.begin(); it_orders != orders.end(); it_orders++ ) {
cout << it_orders->second.id << " " << it_orders->second.duration << " " << it_orders->second.duedate << endl;
}
return EXIT_SUCCESS;
}
void readInputData( char * filename, multimap<int, Order> &orders )
{
ifstream in(filename);
if ( in.fail() ) {
cout << "problem opening: " << filename << endl;
exit(1);
}
char buffer[1000];
in.getline(buffer, 1000, '=');
in >> n_orders;
in.getline(buffer, 1000);
in.getline(buffer, 1000);
Order o;
for ( int i = 0; i < n_orders; i++ ) {
in >> o.id >> o.duration >> o.duedate;
//cout << o.id << " " << o.duration << " " << o.duedate << endl;
orders.insert( make_pair(o.duedate, o));
}
in.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -