2016-03-23 17 views
-5

C++ sınavında bu sınava kayıt programını oluşturmak için arkadaşının sınavını bitirmesine yardım etmeye çalışıyorum ama hepsi bu programı derleyemedi. Bana yardımcı olabilir misiniz? Her denemede her zaman "ölümcül hata" ve " derleme sonlandırılmış bir dosya veya dizin yok." Şimdiye kadar çevrimiçi derleyici ile derlemeye çalışıyoruz.C++ sınav notu programı nasıl oluşturulur?

# 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

20+ yıl önce C++ derleyici kullanıldı standart dışı başlıklarını tanımayacaktır Bir online derleyici çıkarın. # # 'ifadesini kullanın ve # # ' yazın. Kullan '# Eğer namespace std' veya' std :: 'Infront veya tüm std fonksiyonlarını – drescherjm

+0

dahil #include 'yerine' arasında – DimChtz

+0

Ayrıca' karakter * Grade' ve ardından 'Sınıf = "A"' kullanılarak 'eklemeniz gerekir ' – DimChtz

cevap

2

Çoğu çevrimiçi derleyici en son C++ standartlarını kullanır. Büyük olasılıkla eski stil C++ programlarını desteklemiyorlar. Eğer yola çıkmaya değiştirebilir

Şeyler ...

#include hatları yerine

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

ait

Kullanım

# include <cstdio> 
# include <iostream> 

dışı kullanmayın standart başlık

Kaldır

# include <conio.h> 

cin ve coutstd ad

Değişim std::cin tarafından cin tüm kullanımları ve std::cout tarafından cout tüm kullanımları vardır. Ayrıca std::cin ve std::cout kullanmak zorunda kalmamak için

using namespace std; 

kullanabilirsiniz. Ancak, ek std::'u yazmak zorunda kalmamak için bu mekanizmayı her yerde kullanmayın.

gets ait gets

kullanın güvenlik açıklarını bilinen bir kaynak olduğunu kullanmayın. Kullanma. Kullanımını fgets ile değiştirin.

yerine

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

size

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

Ancak bu iyi değil ya sen kullanıcı girişi almak için stdin ve cin kullanımını karıştırma çünkü kullanabilirsiniz. Kullanıcı girdisini almak için stdio.h işlevlerinin kullanımına ya da cin kullanın.Sen kullanabilirsiniz:

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

Kullanım std::string yerine char* dizeleri

Değişim

char nama[20],*Grade; 

kadar elinde tutma
char nama[20]; 
    std::string Grade; 

standart dışı işlevini kullanmayın

s hattını oluşturmak

getch();