我尝试帮助朋友完成考试,用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();
}
答案 0 :(得分:2)
大多数在线编译器都使用最新的C ++标准。他们很可能不支持旧式C ++程序。
你可以改变的事情......
#include
行
而不是
# include <stdio.h>
# include <iostream.h>
使用
# include <cstdio>
# include <iostream>
请勿使用非标准标题
删除
# include <conio.h>
cin
和cout
位于std
名称空间
按cin
更改std::cin
的所有用法,cout
更改std::cout
的所有用法。您也可以使用
using namespace std;
避免使用std::cin
和std::cout
。但是,不要在任何地方使用此机制,以避免必须键入其他std::
。
请勿使用gets
使用gets
是已知的安全漏洞来源。不要使用它。
将其用量替换为fgets
。
而不是
cout<<" Masukkan Nama Siswa : ";gets(nama);
你可以使用
cout<<" Masukkan Nama Siswa : ";
fgets(nama, sizeof(nama), stdin);
然而,这并不好,因为您正在混合使用stdin
和cin
来获取用户输入。要么坚持使用stdio.h
中的函数,要么使用cin
来获取用户输入。您可以使用:
cout<<" Masukkan Nama Siswa : ";
cin.get(nama, sizeof(nama));
使用std::string
代替char*
来保存字符串
更改
char nama[20],*Grade;
到
char nama[20];
std::string Grade;
请勿使用非标准功能
删除行
getch();