怎么用c语言编写考试管理系统程序

怎么用c语言编写考试管理系统程序,第1张

是做web管理还是单机的管理系统,如果是web的话,你显然没有选对语言,每种语言都有自己的长处,建议用J2EE,现在一般大型的管理系统都是用J2EE做的,当然如果不要求这么专业的话,可以用asp或php来做,C基本是不可能做出来啦,C++有可能做出来,但只能做单机的

计算机二级C语言程序设计的考试内容主要有以下几个方面:C语言程序的结构、数据类型及其运算、基本语句、选择结构程序设计、循环结构程序设计、数组的定义和引用、函数、编译预处理、指针、结构体(即“结构”)与共同体(即“联合”)、位运算、文件 *** 作。

考试的方式是上机考试,考试的时长为120分钟,满分100分。

题型及分值

单项选择题40分(含公告基础知识部分10分)、 *** 作题60分(包含程序填空题、程序修改题及程序设计题)

考试环境

*** 作系统(中文版Windows7)、开发环境(Microsoft Visual C++2010学习版)

具体的考试要求、考试内容可以登录NTCE - 中国教育考试网 (neeaeducn)进行查看:

1、计算机二级考试大纲,里面包含了详细的考试要求。

二级C语言程序考试大纲

2、计算机二级考试教材目录(C语言程序设计),这个是官方的教材目录,点开即是C语言类的教材,我觉得借鉴意义还是比较大的。

二级C语言程序设计考试目录

根据《全国计算机二级考试c语言程序设计考试大纲(2018年版) 》,计算机二级C 语言主要考C 语言程序的结构、数据类型及其运算、基本语句、选择结构程序设计、循环结构程序设计、数组的定义和引用、函数、编译预处理、指针、结构体(即“结构”)与共同体(即“联合”)、位运算和文件 *** 作12大块内容。采用上机考试形式,考试时长120分钟,满分100分。

考试内容

一、C 语言程序的结构

1 程序的构成,main 函数和其他函数。

2 头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3 源程序的书写格式。

4 C 语言的风格。

二、数据类型及其运算

1C 的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2 C 运算符的种类、运算优先级和结合性。

3 不同类型数据间的转换与运算。

4 C 表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句

1 表达式语句,空语句,复合语句。

2 输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计

1 用 if 语句实现选择结构。

2 用 switch 语句实现多分支选择结构。

3 选择结构的嵌套。

五、循环结构程序设计

1 for 循环结构。

2 while 和 do-while 循环结构。

3 continue 语句和 break 语句。

4 循环的嵌套。

六、数组的定义和引用

1 一维数组和二维数组的定义、初始化和数组元素的引用。

2 字符串与字符数组。

七、函数

1 库函数的正确调用。

2 函数的定义方法。

3 函数的类型和返回值。

4 形式参数与实际参数,参数值的传递。

5 函数的正确调用,嵌套调用,递归调用。

6 局部变量和全局变量。

7 变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

八、编译预处理

1 宏定义和调用(不带参数的宏,带参数的宏)。

2 “文件包含”处理。

九、指针

1 地址与指针变量的概念,地址运算符与间址运算符。

2 一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。

3 用指针作函数参数。

4 返回地址值的函数。

5 指针数组,指向指针的指针。

十、结构体(即“结构”)与共同体(即“联合”)

1 用 typedef 说明一个新类型。2 结构体和共用体类型数据的定义和成员的引用。

3 通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。

十一、位运算

1 位运算符的含义和使用。

2 简单的位运算。

十二、文件 *** 作

只要求缓冲文件系统(即高级磁盘 I / O 系统),对非标准缓冲文件系统(即低级磁盘 I / O 系统)不要求。

1 文件类型指针(FILE 类型指针)。

2 文件的打开与关闭(fopen,fclose)。

3 文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函数的应用),文件的定位(rewind,fseek 函数的应用)。

参考资料

考试吧考试吧[引用时间2018-4-30]

#include<iostream>

#include<timeh>

#include<string>

#include<fstream>

using namespace std;

class stu

{

public:

string num;//学号

string name;//姓名

int cond;//是否考过试

int fen;//得分

stu()

{

num="0";

name="0";

cond=0;

fen=0;

}

};

class ti

{

public:

string timu;//题目内容

string A;//A选项内容

string B;//B选项内容

string C;//C选项内容

string D;//D选项内容

string t;//正确选项

int q;//标记是否做过

ti()

{

timu="0";

A="0";

B="0";

C="0";

D="0";

t="0";

q=0;

}

};

void main()

{

ti shiti[20];

stu kao[5];

cout<<"欢迎使用考试管理系统"<<endl;

cout<<"功能选择:1考生管理,2考试,3试题库管理,4退出:";//功能选择

int n;

cin>>n;

while (n!=4)

{

while(!(n>=1&&n<4))

{

cout<<"输入有误,请重新输入:";

cin>>n;

}

//_______________________________考生管理___________________________________//

if(n==1)

{

ifstream inf("考生信息dat");

if(!inf)

{

cout<<"打开学生信息文件出错!"<<endl;

return;

}

string num1,num2,num3,num4,num5,name1,name2,name3,name4,name5;

int cond1,cond2,cond3,cond4,cond5,fen1,fen2,fen3,fen4,fen5;

cout<<"参加考试的考生学号与姓名为:"<<endl;

inf>>num1>>name1>>cond1>>fen1>>num2>>name2>>cond2>>fen2>>num3>>name3>>cond3>>fen3>>num4>>name4>>cond4>>fen4>>num5>>name5>>cond5>>fen5;

infclose();

cout<<num1<<" "<<name1<<endl;//输出五个考生的信息

cout<<num2<<" "<<name2<<endl;

cout<<num3<<" "<<name3<<endl;

cout<<num4<<" "<<name4<<endl;

cout<<num5<<" "<<name5<<endl;

infclose();

}

//________________________________考试______________________________________//

if(n==2)

{

ifstream inf("考生信息dat");

if(!inf)

{

cout<<"打开学生信息文件出错!"<<endl;

return;

}

for(int i=0;i<5;i++)

{

inf>>kao[i]num>>kao[i]name>>kao[i]cond>>kao[i]fen;

}

infclose();

string num;

cout<<"请输入你的学号:"<<endl;

cin>>num;

for(i=0;i<5;i++)

{

if(kao[i]num==num&&kao[i]cond!=1)

{

cout<<kao[i]name<<"欢迎你!"<<endl;

int nn,m=5;

cout<<"默认题数为5题,是否需要修改1是,2否,请选择:";

cin>>nn;

if(nn==1)

{

cout<<"请输入考试题数:";

cin>>m;

}

cout<<"下面开始答题(选项大写):"<<endl;

//_________________________将文件中的题目内容读出_________________________//

ifstream inf("试题dat");

if(!inf)

{

cout<<"打开试题文件出错!"<<endl;

return;

}

for(int k=0;!infeof();k++)

{

string timu,A,B,C,D,t;

inf>>timu>>A>>B>>C>>D>>t;

shiti[k]timu=timu;

shiti[k]A=A;

shiti[k]B=B;

shiti[k]C=C;

shiti[k]D=D;

shiti[k]t=t;

}

infclose();

int x2=k;//记录试题总数

//___________________________答m道题目__________________________//

for(int j=0;j<m;j++)

{

srand(time(NULL));

int r;

r=(rand()%x2+1)-1;//产生随机数

while(shiti[r]q==1)

{

srand(time(NULL));

r=(rand()%x2+1)-1;

}

cout<<"第"<<j+1<<"题:"<<endl;

cout<<shiti[r]timu<<endl<<shiti[r]A<<endl<<shiti[r]B<<endl<<shiti[r]C<<endl<<shiti[r]D<<endl;

cout<<"请选择:";

string daan;

cin>>daan;

if(daan==shiti[r]t)

kao[i]fen=kao[i]fen+10;

shiti[r]q=1;

}

//_______________________________________________________________//

cout<<"您的总分为:"<<kao[i]fen<<endl;

kao[i]cond=1;

for(int l=0;l<x2;l++)

shiti[l]q=0;

break;

}

else if(kao[i]num==num&&kao[i]cond==1)

{

cout<<"您已经参加过考试!"<<endl;

break;

}

}

if(i==5)

cout<<"所输入的学号不在考生名单中!"<<endl;

ofstream outf("考生信息dat");

if(!outf)

{

cout<<"打开试题文件出错!"<<endl;

return;

}

for(int c=0;c<5;c++)

outf<<" "<<kao[c]num<<" "<<kao[c]name<<" "<<kao[c]cond<<" "<<kao[c]fen;

outfclose();

}

//________________________________试题管理_________________________________//

if(n==3)

{

string a="123456";

string b;

int n=1;

cout<<"请输入试题管理密码:";

cin>>b;

while(a!=b)

{

n++;

if(n==4)return;

cout<<"密码有误,请重新输入:";

cin>>b;

}

ifstream inf("试题dat");

if(!inf)

{

cout<<"打开试题文件出错!"<<endl;

return;

}

for(int i=0;!infeof();i++)

{

string timu,A,B,C,D,t;

inf>>timu>>A>>B>>C>>D>>t;

shiti[i]timu=timu;

shiti[i]A=A;

shiti[i]B=B;

shiti[i]C=C;

shiti[i]D=D;

shiti[i]t=t;

cout<<"第"<<i+1<<"题:"<<endl;

cout<<shiti[i]timu<<endl<<shiti[i]A<<endl<<shiti[i]B<<endl<<shiti[i]C<<endl<<shiti[i]D<<endl;

cout<<"正确答案:"<<shiti[i]t<<endl;

}

infclose();

int x;//记录题数

int nn=1;

while(nn!=2)

{

ifstream inf("试题dat");

if(!inf)

{

cout<<"打开试题文件出错!"<<endl;

return;

}

for(int i=0;!infeof();i++)

{

string timu,A,B,C,D,t;

inf>>timu>>A>>B>>C>>D>>t;

shiti[i]timu=timu;

shiti[i]A=A;

shiti[i]B=B;

shiti[i]C=C;

shiti[i]D=D;

shiti[i]t=t;

}

x=i;

cout<<"是否要增加试题1是,2否,请选择:";

cin>>nn;

if(nn==1)

{

string timu,A,B,C,D,t;

cout<<"请输入题目:";

cin>>timu;

cout<<"请输入A选项";

cin>>A;

cout<<"请输入B选项";

cin>>B;

cout<<"请输入C选项";

cin>>C;

cout<<"请输入D选项";

cin>>D;

cout<<"请输入正确答案";

cin>>t;

ofstream outf("试题dat");

if(!outf)

{

cout<<"打开试题文件出错!"<<endl;

return;

}

for(int i=0;i<x;i++)

outf<<" "<<shiti[i]timu<<" "<<shiti[i]A<<" "<<shiti[i]B<<" "<<shiti[i]C<<" "<<shiti[i]D<<" "<<shiti[i]t;

outf<<" "<<timu<<" "<<A<<" "<<B<<" "<<C<<" "<<D<<" "<<t;

outfclose();

cout<<"已增加!"<<endl;

x++;

}

}

}

cout<<"功能选择:1考生管理,2考试,3试题库管理,4退出:";//功能选择

cin>>n;

}

cout<<"谢谢使用"<<endl;

}

考生信息和试题库文件自己建。

你好,是这样的

因为我考过计算机二级,这点我知道,考试的时候确实用的是vc60 这个软件即可以编译c++也可以编译c的。

建议你练习的时候,就用vc60因为考试就是用这个的

希望可以帮到你,望采纳

以上就是关于怎么用c语言编写考试管理系统程序全部的内容,包括:怎么用c语言编写考试管理系统程序、计算机二级c语言程序设计考什么、计算机二级(C语言)都考哪些内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10129245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存