您的位置:首页 > 其它

[个人向]寒假期间的一些感想以及最水的成果展示

2015-02-28 19:16 204 查看
从来没有过过这么长的寒假,五十多天的时间里发生了很多事情,无论是从学习上还是从家庭中都有了很多新的变化,随着家庭中各种哥哥姐姐有了自己的孩子,我开始感叹是不是我也要做好给他们压岁钱的准备,然后我摸了摸自己囊中羞涩的钱包,果断决定……毕了业再说吧……

而在学习上,最让我感到鸡肋的便是长老的狗拿耗子系列,说实话我对自己的英语口语还是比较有信心的,这种开口说英语的训练对于我来说确实有点多余……而且自己手里只有文本没有视频文件,这让我一直有种自己在面对剧本的感觉,这也是自己没有怎么坚持的原因,总而言之,我并不是因为自己懒而没有坚持下来这个开口说英语的训练,这个我还是有数的。

听说来年我们要谈对象,搞得我一阵激动,毕竟在情人节那天失恋的我可是好几天没睡踏实。然后我又听说我们想要多少对象就有多少对象我就突然觉得这个对象好像不是什么普通的对象,电光火石之间我去翻了下因为有的对象而厚了不只一倍的程序设计教程,我终于明白了此对象为何物。它确实是对象,只是我基本没看明白对象的终极奥义……嗯,看来,这个对象也不太容易好谈,不知道能不能谈出个温暖我内心百般体贴愿意对我好的“对象”呢?我也是很期待的呢!

再然后就是传说中的假期项目了,那日少帅大神于群中公布了自己的寒假项目设计——学生信息储存系统,我观后觉得……好像没什么难的,于是我就挑了一个“图书信息管理系统”的项目来做,可是开始做的时候才发现很多东西不是自己想象的那个样子,经历了一上午加一下午的折腾,参考了少帅的代码之后,经过了自己的修改之后,这个我觉得相当水的系统就做好了,下面附上呆萌的代码君:
#include <iostream>
#include<cstdlib>
#include<fstream>
#include<string>
using namespace std;
struct books
{
int number;//项目编号
string bookname;//书名
string writer;//作者名
string classification_number;//分类号
string publisher;//出版商
string publish_time;//出版时间
string price;
};//图书信息结构体
books book[8000];
int start_program();
void name_search(string,int);
void writer_search(string,int);
void book_message_change();
void book_message_add(int,int);
void show_menu();
void watch_book_message(int);
void show_change();
void show_book_message(int);
void save(int);
int main()
{
int menu_choice,i,num=0,add_books_number;
string book_name_key,writer_key;
num=start_program();
show_menu();
while(cin>>menu_choice)
{
if(menu_choice==0)
{
cout<<"感谢使用本系统";
break;
}
switch (menu_choice)
{
case 1:
{
cout<<"您选择了按书名查找"<<endl;
cout<<"请输入书名"<<endl;
cin>>book_name_key;
name_search(book_name_key,num);
}
break;
case 2:
{
cout<<"您选择了按作者姓名查找"<<endl;
cout<<"请输入作者姓名"<<endl;
cin>>writer_key;
writer_search(writer_key,num);
}
break;
case 3:
{
cout<<"您选择了图书信息浏览"<<endl;
for(i=0; i<num; i++)
watch_book_message(i);
break;
}
case 4:
{
cout<<"您选择了图书信息录入"<<endl;
cout<<"请输入录入书籍的个数"<<endl;
cin>>add_books_number;
book_message_add(num,add_books_number);
save(num);
}
break;
case 5:
{
cout<<"您选择了修改图书信息"<<endl;
show_change();
book_message_change();
save(num);
cout<<"修改成功";
}
break;
default:
cout<<"输入有误,请重新输入"<<endl;
break;
}
}
return 0;
}
int start_program()
{
int num=0;
ifstream infile("bookmessage.txt",ios::in);
if (!infile)
{
cerr<<"open error";
exit(1);
}
while (infile>>book[num].number)
{
infile>>book[num].bookname;
infile>>book[num].writer;
infile>>book[num].classification_number;
infile>>book[num].publisher;
infile>>book[num].publish_time;
infile>>book[num].price;
num++;
}
infile.close();
return num;
}
void show_menu()
{
cout<<"-----------------"<<endl;
cout<<"图书馆信息管理系统"<<endl;
cout<<"-----------------"<<endl;
cout<<"1、按书名查找"<<endl;
cout<<"2、按作者姓名查找"<<endl;
cout<<"3、图书信息浏览"<<endl;
cout<<"4、图书信息录入"<<endl;
cout<<"5、修改图书信息"<<endl;
cout<<"请选择功能(键入0退出):";
}
void watch_book_message(int num1)
{
cout<<book[num1].number;
cout<<"《"<<book[num1].bookname<<"》"<<" ";
cout<<"作者"<<book[num1].writer<<" ";
cout<<"分类号"<<book[num1].classification_number<<" ";
cout<<"出版商"<<book[num1].publisher<<" ";
cout<<"出版时间"<<book[num1].publish_time<<" ";
cout<<"价格"<<book[num1].price<<endl;
}
void show_change()
{
cout<<"--------------"<<endl;
cout<<"1-书名"<<endl;
cout<<"2-作者"<<endl;
cout<<"3-分类号"<<endl;
cout<<"4-出版商"<<endl;
cout<<"5-出版时间"<<endl;
cout<<"6-价格"<<endl;
cout<<"--------------"<<endl;
cout<<"请输入要修改书籍编号以及选项:";
}
void book_message_add(int num,int add)
{
ofstream outfile("bookmessage.txt",ios::app);
if(!outfile)
{
cerr<<"open error";
exit(1);
}
cout<<"请依次输入书籍的书名、作者、分类号、出版商、出版时间、价格";
num+=add;
for(int i=num; i<(add+num); i++)
{
book[i].number=i;
cin>>book[i].bookname;
cin>>book[i].writer;
cin>>book[i].classification_number;
cin>>book[i].publisher;
cin>>book[i].publish_time;
cin>>book[i].price;
outfile<<book[i].number<<" ";
outfile<<book[i].bookname<<" ";
outfile<<book[i].writer<<" ";
outfile<<book[i].classification_number<<" ";
outfile<<book[i].publisher<<" ";
outfile<<book[i].publish_time<<" ";
outfile<<book[i].writer<<" ";
}
outfile.close();
cout<<"写入结束,共写入"<<add<<"项书籍信息,现共有"<<num<<"项书籍信息"<<endl;
}
void name_search(string key,int num)
{
int i,a=0;
for(i=0; i<num; i++)
if(key==book[i].bookname)
{
a=1;
show_book_message(i);
}
if(a==0)
cout<<"未找到该书籍";
}
void show_book_message(int i)
{
cout<<book[i].number;
cout<<"《"<<book[i].bookname<<"》";
cout<<"作者:"<<book[i].writer<<endl;
cout<<"分类号:"<<book[i].classification_number<<endl;
cout<<"出版商:"<<book[i].publisher<<endl;
cout<<"出版时间:"<<book[i].publish_time<<endl;
cout<<"价格:"<<book[i].price<<endl;
}
void writer_search(string key,int num)
{
int i,a=0;
for(i=0; i<num; i++)
if(key==book[i].writer)
{
a=1;
show_book_message(i);
}
if(a==0)
cout<<"未找到该作者";
}
void book_message_change()
{
int i,n;
cin>>i>>n;
switch(n)
{
case 1:
cin>>book[i].bookname;
break;
case 2:
cin>>book[i].writer;
break;
case 3:
cin>>book[i].classification_number;
break;
case 4:
cin>>book[i].publisher;
break;
case 5:
cin>>book[i].publish_time;
break;
case 6:
cin>>book[i].price;
break;
default :
cout<<"输入错误请重新输入"<<endl;
break;
}
}
void save(int num)
{
int add;
ofstream outfile("bookmessage.txt",ios::out);
if (!outfile)
{
cerr<<"open error";
exit(1);
}
for (add=0; add<num; add++)
{
outfile<<book[add].number<<" ";
outfile<<book[add].bookname<<" ";
outfile<<book[add].writer<<" ";
outfile<<book[add].classification_number<<" ";
outfile<<book[add].publisher<<" ";
outfile<<book[add].publish_time<<" ";
outfile<<book[add].price<<endl;
}
outfile.close();
}
经过阅读之后,同志们不难发现,这个代码连个指针的影子都没有,太水了吧……是的太水了,当然这只是最简单最直观的版本,以后还会有高端一点的。

自己对于编程的投入程度并没有其他同学那么的深刻和有热情,不像别人逛遍了各大高校的online judge平台,我也就是每天翻翻书,看看曾经遗漏的东西,作为学生我个人感觉自己的做法有利有弊,有利的一点就是基础毕竟牢固了一些,可是弊端在于实际操作经验太少,导致自己有种眼高手低的畸形感觉,也可能是自己在假期中把大部分精力和时间投入在了一些其他和学习无关的事情上了,虽然是假期想怎么样怎么样,可是这毕竟违背了学术休假的原则,所以自己 对自己还是有很多不满的地方。可不满归不满,该做的事情还是要做,该想的事情还是要想,该用心的事情还是要用心,我期待2015年的学习生活,更期待这段时光会给教给我的一切。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: