2016-03-23 1 views
-5

Ich versuche, Freund zu helfen, seine Prüfung zu beenden, um dieses Prüfung Grading-Programm in C++ zu erstellen, aber alle versuchen fehlgeschlagen, dieses Programm zu kompilieren. Kannst du mir helfen? Jeder Versuch erhält immer "fatalen Fehler" und "Keine solche Datei oder Verzeichnis Kompilierung beendet." Bisher versuchen wir es mit einem Online-Compiler zu kompilieren.Wie erstellt man ein Prüfungsprogramm in C++?

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

main() 
{ 
    char nama[20],*Grade; 
    float nk,nt,nu,nmk,nmt,nmu,na; 
    cout<<"Program Hitung Nilai Akhir Siswa"<<endl<<endl; 
    cout<<" Masukkan Nama Siswa : ";gets(nama); 
    cout<<" Nilai Keaktifan  : ";cin>>nk; 
    cout<<" Nilai Tugas   : ";cin>>nt; 
    cout<<" Nilai Ujian   : ";cin>>nu; 
    nmk=nk*0.2; 
    nmt=nt*0.3; 
    nmu=nu*0.5; 
    na=nmk+nmt+nmu; 
    if(na>=80)a 
    { 
     Grade="A"; 
    } 
    else if(na>=90) 
    { 
     Grade="B"; 
    } 
    else if(na>=80) 
    { 
     Grade="C"; 
    } 
    else if(na>=70) 
    { 
     Grade="D"; 
    } 
    else 
    { 
     Grade="E"; 
    } 
    cout<<endl; 
    cout<<"  Siswa Yang Bernama "<<nama<<endl; 
    cout<<"  Dengan nilai presentase yang dihasilkan"<<endl; 
    cout<<"  Nilai Murni Keaktifan x 20% : "<<nmk<<endl; 
    cout<<"  Nilai Murni Tugas  x 30% : "<<nmt<<endl; 
    cout<<"  Nilai Murni Ujian  x 50% : "<<nmu<<endl; 
    cout<<"  Memperoleh Nilai Akhir Sebesar : "<<na<<endl; 
    cout<<"  Grade yang di dapat   : "<<Grade<<endl; 
    getch(); 
} 
+3

Eine Online-Compiler wird nicht Nicht-Standard-Header erkennen, die vor in C++ Compiler 20 Jahren verwendet wurden. Befreien Sie sich von '# include ' und '# include '. Verwenden Sie '#include ' anstelle von '# include ' – drescherjm

+0

Sie müssen 'namespace std' oder' std :: 'infront oder alle Std-Funktionen hinzufügen – DimChtz

+0

Auch' char * Grade' und dann 'Grade =" A "' wird nicht funktionieren – DimChtz

Antwort

2

Die meisten Online-Compiler verwenden die neuesten C++ - Standards. Sie unterstützen höchstwahrscheinlich keine alten C++ - Programme.

Dinge, die Sie ändern können, gehen zu bekommen ...

#include Linien

Statt

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

Verwenden

# include <cstdio> 
# include <iostream> 

Verwenden Sie nicht nicht Standardkopfzeile

entfernen

# include <conio.h> 

cin und cout sind in std Namespace

Ändern Sie alle Verwendungen von cin durch std::cin und alle Verwendungen von cout von std::cout. Sie können auch

using namespace std; 

verwenden verwenden std::cin und std::cout zu vermeiden. Verwenden Sie diesen Mechanismus jedoch nicht überall, um zu vermeiden, dass Sie die zusätzlichen std:: eingeben müssen.

Sie gets nicht

Verwendung von gets ist eine bekannte Quelle von Sicherheitslücken verwenden. Benutze es nicht. Ersetzen Sie die Verwendung durch fgets.

Statt

cout<<" Masukkan Nama Siswa : ";gets(nama); 

könnten Sie

cout<<" Masukkan Nama Siswa : "; 
    fgets(nama, sizeof(nama), stdin); 

jedoch verwenden, das nicht gut ist entweder da Sie von stdin und cin mischen Benutzereingabe zu erhalten. Entweder bleiben Sie bei der Verwendung von Funktionen von stdio.h oder verwenden Sie cin, um Benutzereingaben zu erhalten.Sie können:

cout<<" Masukkan Nama Siswa : "; 
    cin.get(nama, sizeof(nama)); 

Verwenden std::string statt char* in Strings halten

ändern

char nama[20],*Grade; 

zu

char nama[20]; 
    std::string Grade; 

nicht Nicht-Standard-Funktion Verwenden s

Entfernen Sie die Zeile

getch();