Posts Tagged ‘CPP’

2009/09/08

最近,又有一个大二在学生会认识的同学问我怎么用Visual C++ 2008,我告诉他,要先建工程的,跟在学校用的VC6.0不一样。其实我真的想告诉他除了VC还有好多优秀的编译器,后来想想,算了,就算告诉他别的他还是会问怎么用的…..其他的我也不说了,学校到现在还是学C语言用WIN—TC,学C++还是在用VC 6.0。 在一步一步教他的时候截了图,顺便就发到博客上来吧,对于初学编程的同学来说,如果只是写一段小代码,用VC++ 2008确实非常繁琐。 1、打开vc++2008 2、点击File  –>  New  –>  Project 3、点击CLR  –>  CLR Empty Project 输入工程名后确定 4、出现三个文件夹 右击 Sourse File –> Add –> New Item 接下来会看到: 5、Over了,简单吧?呵呵

Tags: ,,. 4,689 views
2009/08/19

前两天,KC同学问了我关于快速排序的问题,可惜我忘得差不多了,没帮上什么忙,惭愧惭愧。于是就潜心的复习…

Tags: ,,,. 5,521 views
2009/08/14
Tags: ,,. 1,946 views

这是上实验课的时候做的,代码里一个多项式的结构体定义用了两个链表,真的的很烦,不过这不能怪我, 我是严格按照我国著名大学、著名教授——清华大学严蔚敏老师的《数据结构》里定义的数据结构照抄的 我个人觉得这种写法很烦,完全没有必要,把简单的一个数据结构复杂化了. 发了一些牢骚,下面贴代码. 001 #include<stdio.h> 002 #include<malloc.h> 003 typedef struct Node 004 { 005     int xs; 006  007     int zs; 008     struct Node *next; 009 }; 010 typedef struct LinkList 011 { 012    struct Node *front,*rear; 013  014 }; 015 //Initial 016 void InitList(struct LinkList *p) 017 { 018    p->front=(struct Node*)malloc(sizeof(struct Node)); 019    p->front->next=NULL; 020    p->rear=p->front; 021 } 022 //Push […]

Tags: ,,. 2,764 views

与前面那一个贴子的深度算法类似,我自己加了一些注释。 /**  Author : Wang Runzhen*  Date   : 2009年,具体不详**/ #include<iostream>using namespace std;const int MAX=20;//定义一个图struct Graph{    int vertex[MAX];//顶点数组    int relate[MAX][MAX];//顶点邻接矩阵    int vnum;//顶点个数}; //创建一个图void CreatGraph(Graph *g,int n){    int i,j,v;    g->vnum=n;// 创建n个顶点    for(i=1; i<=n; i++)        g->vertex[i]=i;//建立邻接矩阵    for(i=1; i<=n; i++)    {        for(j=1; j<=n; j++) […]

Tags: ,,. 15,904 views

#include<iostream> #include<fstream> using namespace std; int main() { ofstream file; file.open(“test.txt”,ios::app); //追加,ios::app的作用就是追加 //当文件打开失败,它也会自动地创建文件“test.txt” file<<“one   \n”; file<<“two   \n”; file<<“three   \n”; return 0; } //当第二次运行这个程序时,one,two,three还在test.txt中,而不是被抹掉了

Tags: ,. 2,002 views

上实验课的时候做的,把“结构体”和“链表”和“类”联系到了一块,第一次这样做. 有什么不足的地方还请高手指教! 题目: [实现要求] 利用上一实验设计的链表结构存放队列类中的队列元素。也即队列元素的空间是动态申请的。 在构造队列对象时,初始化该链表,在析构队列对象时,释放链表所占的空间。 C语言: 高亮代码由发芽网提供 /** Author: Wang Runzhen* Date  : 2009 年 8 月 14 日*/ #include<iostream>using namespace std;struct List{    int n;    struct List *next;}; class Queue{private:    int count;    List *p,*head,*pNext,*die;public:    Queue()    {        count=0;        p=new List;       […]

Tags: ,,. 2,544 views

转载: 为了避免同一个文件被include多次 1 #ifndef方式 2 #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ … … // 一些声明语句 #endif 方式二: #pragma once … … // 一些声明语句 #ifndef的方式依赖于宏名字不能**,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导致头文件明明存在,编译器却硬说找不到声明的状况 #pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处是,你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题。对应的缺点就是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当然,相比宏名碰撞引发的“找不到声明”的问题,重复包含更容易被发现并修正。 方式一由语言支持所以移植性好,方式二 可以避免名字重复

Tags: ,. 2,343 views

同学你好,当你看到这个页面时,你一定实在做课程设计吧? 曾经这儿有一份完整的答案,但是我把它删除了,抱歉,搞得跟标题党一样,让您白跑一趟了; 我觉得我不能把一份答案放在这里,这是在误人子弟,尽管你可以继续Google到另一份答案; 不过我还是想劝你自己动手写写吧,当你写完了肯定回很有收获的! 以下是这次课程设计的题目,在题目的基础上,我适当的增加和减少的某些功能。 设计题目2:学生信息管理系统 设计要求: 设计要求实现如下功能: (1)建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。 (2)使用继承的方法构造至少3个类,(即学生类——虚基类,本科生和研究生类——派生类)使用相应的对象放置10个学生信息。 (3)编写同名display()成员函数,用来输出数组的内容。 (4)按不同类别输出学生信息,比如按性别。(可选功能) (5)要求对“<<”和“>>”运算符进行重载。 (6)抽取并计算学生的平均成绩。 (7)按照至少一科成绩进行排序。 (8)检索(查找)指定信息。(如按姓名检索、按年龄检索) 贴出部分代码,完整的在附件里可以下载,呵呵

Tags: ,. 5,763 views

转自原博客 QUOTE: #include <iostream> #include <list> #include <numeric> #include <algorithm> using namespace std; //创建一个list容器的实例LISTINT typedef list<int> LISTINT; //创建一个list容器的实例LISTCHAR typedef list<int> LISTCHAR; void main(void) { //————————– //用list容器处理整型数据 //————————– //用LISTINT创建一个名为listOne的list对象 LISTINT listOne; //声明i为迭代器 LISTINT::iterator i; //从前面向listOne容器中添加数据 listOne.push_front (2); listOne.push_front (1); //从后面向listOne容器中添加数据 listOne.push_back (3); listOne.push_back (4); //从前向后显示listOne中的数据 cout<<“listOne.begin()— listOne.end():”<<endl; for (i = listOne.begin(); i != listOne.end(); ++i) cout […]

Tags: ,. 4,712 views

编写一个函数,求从n个不同的数中取r个数的所有选择的个数    其中: n! = n*(n-1)*(n-2)*…*1。   //非递归 #include<iostream.h> double fn(int n); double Cnr(int n,int r); void main() {      int n,r;       for(;;)    {       cout<<"Put in n , r:";       cin>>n>>r;       if(n>0&&r>=0&&r<n)            break;       else            cout<<"The number is error!"<<endl;    }        cout<<"result="<<Cnr(n,r)<<endl; }     double fn(int n) {      double s=1;      for(int i=1;i<=n;i++)     {          s=s*i;      }      return s; }   double Cnr(int n,int r) {     double sum;     sum=fn(n)/(fn(r)*fn((n-r)));     return sum; }     //递归 #include<iostream.h> double Cnr(int ,int); void main() {  int n,r;  for(;;)  {      cout<<"Put in n,r:";      cin>>n>>r;      if(n>0&&r>0&&r<n)            break;      else […]

Tags: ,. 2,007 views
2009/08/13

  转自原博客 vector deque 以及list 都是动态增长的,在这三者之中选择的准则主要是关注插入特性以及对元素的后续访问要求 vector 表示一段连续的内存区域每个元素被顺序存储在这段内存中。对vector 的随机访问效率很高 。但是在任意位置而不是在vector 末尾插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。类似地删除任意一个而不是vector的最后一个元素效率同样很低

Tags: ,. 9,494 views