c++ 我试着把我的程序转换成一个函数,现在当我在命令行中运行它时什么也没发生,有人有什么提示吗?

62lalag4  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(62)
#include<bits/stdc++.h>
#include<cstring>
#include<fstream>
#include<string>

#define MAX_LINES 1000

using namespace std;

int main(){

    string filename;
    ifstream file;
    string array [MAX_LINES];

    cout << "filename: ";
    cin >> filename;

    file.open(filename);

    if (file.fail()){
    
        cout << "file failed to open" << endl;
        return 1;
     }
    int lines = 0;
    while(!file.eof()){
    
        int lines = 0;
        getline(file, array[lines]);
        lines++;
    }

    file.close();

    for (int i = 0; i , lines; i++){
        cout << array [i] << endl;
    }


    void print_character_count(char*s);



    void decrypt();

    return 0;
    }

void decrypt(){
char message [100], ch;
    int i, key;
    cout << "enter message:";
    cin.getline(message,100);
    cout << "enter key:";
    cin >> key;

    for(i = 0; message[i] != '\0'; ++i) {
    ch = message[i];
    if(ch >= 'a' && ch <= 'z'){
    ch = ch - key;
    if(ch < 'a'){
    ch = ch + 'z' - 'a' + 1;
    }
    message[i] = ch;
    }
    else if (ch >= 'A' && ch <= 'z'){
    ch = ch - key;
    if (ch > 'a'){
    ch = ch + 'Z' - 'A' + 1;
    }
    message[i] = ch;
    }
    }
    cout << "decrypted message: " << message;
}

我试着写一个程序,从一个加密文件中获取文本,现在我试着把解密转换成一个函数。它编译得很好,但是当我运行它的时候什么也没发生,有人得到帮助吗?它作为一个程序运行得很好,可以工作,但是当我把它从main中分离出来并试图声明它的时候,它就停止工作了

0kjbasz6

0kjbasz61#

它失败是因为实际上根本没有调用main()中的函数。

void print_character_count(char*s);

    void decrypt();

是函数原型,* 声明 * 函数但不应用它们。要实际调用函数decrypt(),您需要添加以下行

decrypt();

遵循函数原型。
我想补充的是,将原型放在函数内部是不好的形式;通常需要在调用原型的函数之前创建原型。

相关问题