我的文件

时间:2016-08-02 15:02:49

标签: c++

我给你的文件编译得很好并且运行但是一旦在屏幕上绘制了«乘法表»,我得到消息«中断命令»并且我的阅读停止。

如果我不使用«void table()«这个函数(这就是我以前做的那样),程序没有被中断,但是一旦程序完成,我得到一条消息告诉我堆栈有困难。我想使用函数(名为«void table()»)来运行我的文件,就像现在一样。

我认为有一些行要添加到我的文件中,以便停止中断。非常感谢您的帮助。我应该很高兴得到一个结果。现在这是我的档案:

 /*essai.cpp*/ 
#include <iostream> 
#include <vector> 
using namespace std; 
bool oui_ou_non() //sous-programme ou "fonction".Suivant votre réponse son data contiendra votre "return" qui est "true" ou "false"                                                 
{ 
    cout << "Oui ou non ?  o/n ?    "; 
    char rep=0; 
    cin >> rep; 
    switch (rep) 
    { 
    case 'o': 
        return true; 
    case 'n': 
        return false; 
    default: 
        cout << "Je prends celà pour un non.\n"; 
        return false; 
    } 
} 
void table() 
{ 
        int array[ 9 ][ 9 ]; // Declares an array that looks like a chessboard 
        for ( int  i = 1; i < 10; i++ ) 
        { 
                for ( int j = 1; j < 10; j++ ) 
                { 
                        array[ i ][ j ] = i * j; // Set each element to a value 
                } 
        } 
        cout << "Multiplication table:\n"; 
        for ( int i = 1; i < 10; i++ ) 
        { 
                for ( int j = 1; j < 10; j++ ) 
                { 
                        cout << array[ i ][ j ] <<" "; 
                } 
        cout << "\n"; 
        } 
} 
//voici deux fonctionss (sous-programmes) où il n'y a aucun return, d'où l'utilisation de void 
void sprog1() 
{ 
cout << "premier  sous-programme (function) où l'on fait qu'imprimer d'où l'utilisation du type void\n"; 
} 
void sprog2() 
{ 
cout << "Bon courage, continuez. \n"; 
} 
int main() 
{ 
cout << "Bonjour\n"; 
sprog1(); 
sprog2(); 
sprog1(); 
sprog2(); 
cout << "Voulez-vous lancer le programme ?\n"; 
bool return_from_function = oui_ou_non();  //dans l'adresse de return_from_function(que vous venez de créer), mettez l'adresse de oui_ou_non 
                                               //les adresses return_from_function et de oui_ou_non contiennent le même data                  
cout << oui_ou_non<<endl; 
cout << return_from_function<<endl; 
cout << "nous sommes revenus au programme principal\n"; 
if ( return_from_function == false ) //si l'adresse de return_from_function contient "false" 
    { 
        cout << "retourné false .  Le programme va s'arrêter.\n"; 
        return 0; 
    }                 //                                                                                                               
    cout << "Programme principal\n"; 
cout << "ARRAYS\n"; 
char  p[]="Zero"; 
p[0]='R'; 
for ( int i(0); i<4; ++i) 
    { 
    cout << p[i]; 
    } 
cout <<endl; 
int v5[8]={11,12,13,14,15,16,17,18,}; 
for(int i(0); i<8; ++i) 
    { 
        cout << v5[i] <<" "; 
    } 
cout <<endl; 
cout << "Tapez ENTER pour continuer"; 
cin.ignore(); 
cin.get(); 
cout << "MULTIDIMENTIONNAL ARRAY\n"; 
cout << "Tapez ENTER pour continuer"; 
cin.get(); 
table(); 
cout << "VECTORS, a resizable array\n";  
// N'oubliez pas   #include <vector>   là-haut 
vector<int> a_vector(10); 
cout << "avant l'ajout\n"; 
for ( int i=0; i<10; i++ ) 
 { 
 a_vector[ i ] = 0; 
 cout << a_vector[i] <<" "; 
 } 
 cout << endl; 
//add anew element to the vector 
a_vector.push_back(10); 
cout << "après l'ajout\n"; 
for ( int i=0; i<11; i++ ) 
 { 
 cout << a_vector[i] <<" "; 
 } 
cout <<endl; 
cout << "Tapez ENTER pour continuer"; 
cin.get(); 
cout <<"Aurevoir\n"; 
} 

1 个答案:

答案 0 :(得分:2)

你的错误在这里:

   int array[ 9 ][ 9 ]; // Declares an array that looks like a chessboard 
   for ( int  i = 1; i < 10; i++ ) 
   { 
           for ( int j = 1; j < 10; j++ ) 

你的数组在每个维度中有9个元素。因此,有效索引为0到8. 1到9.计数从零开始。