2013-10-18 22 views
2

密碼程序不能正常工作...即時通訊工作與dev C++它劑量識別conio.h ...請幫助...我做了什麼??也許我有另一個錯誤。 ..請將其糾正.tnx密碼程序不工作在c + +

#include<string.h> 
#include<iostream> 
#include<stdio.h> 
#include<conio.h> 

using namespace std; 

void main() 
{ 
    char pass[5]; 
    int o; 
    string password= "password";//this is the password 
    for(int i=0;i<5 ;i++) 
    { 
     pass[i]=_getch(); 
     _putch('*'); 
    } 
    string a(pass); 
    if(a==password) 
    {cout<<"correct"<<endl;} 
    else 
    {cout<<"wrong"<<endl;} 
} 
+0

這個程序是C和C++的一個可怕的組合,用於嚴重過時的編譯器。我懇求你拿起一本[體面的,最新的C++書](http://stackoverflow.com/q/388242)並從中學習。 –

回答

1

因爲conio.h不是C標準的一部分。它是Borland的擴展,只能與Borland編譯器(也可能是其他一些商業編譯器)一起工作。 Dev-C++使用GNU編譯器集合GCC,因爲它是編譯器。 GCC最初是一個UNIX編譯器,旨在實現可移植性和符合標準。

如果真的離不開他們,您可以使用Borland功能: 將conio.h添加到源代碼中,並將C:\ Dev-C++ \ Lib \ conio.o添加到「鏈接器選項」中項目選項(其中C:\ Dev-C++是您安裝Dev-C++的地方)。 請注意,conio支持遠非完美。

+0

所以我的程序是正確的,問題是我的編譯器? –

0

AJ是正確的,但請注意,其他系統(如Linux,Win32和OS/2)提供了這些功能的不同實現。

在Linux系統上的#include <curses.h>會給你幾乎所有被CONIO.H

提供的getch()和朋友的功能,您的第一站可能是在那裏。

+0

你知道使用其他函數而不是getch()和putch()嗎? –

+0

你可以通過iostream嘗試std :: cin.get()和std :: cout.put(c)。 – Montdidier