您的位置:

c语言编一个考试系统的简单介绍

本文目录一览:

做一个c语言程序单项选择题标准化考试系统

h"

ncompare()

{

char s[100];

char key[100]="haha";

while(1)

{

printf("请输入密码进行验证:");

there: scanf("%s",s);

if(strcmp(s,key)==0)

{

printf("密码验证正确,进入答题系统........\n");

break;

}

else

{

printf("密码错误,请重新输入:");

goto there;

}

}

}

//菜单

menu_list()

{

int c;

printf(" *******************主菜单**********************\n");

printf(" 1 进入答题\n");

printf(" 2 录入新的试题\n");

printf(" 3 删除记录试题\n");

printf(" 4 插入试题到指定位置\n");

printf(" 5 保存试题到文本\n");

printf(" 6 判断试题,查看成绩\n");

printf(" 7 输出例题以及答案\n");

printf(" 8 载入试题库\n");

printf(" 9 退出答题系统\n");

printf(" ***********************************************\n");

printf(" 请选择你想要的操作(1-9):");

scanf("%d",c);

if(c1||c9)

{

printf("操作数据错误!请重新输入选项:\n");

return 0;

}

else

return c;

}

//答题系统

test_test(struct test *p,int n)

{

int j;

int num;

int i;

int th=0;

int tem[100];

if(n==0)

printf("目前题库中还没有题目,请载入题库后在进行操作\n");

else

{

printf("首先请输入你希望测试的题目个数,系统会随机分配你输入个数的题目(目前总题目个数为%d)\n请输入要测试的题目个数:",n);

scanf("%d",num);

for(i=0;inum;i++)

{

here: th=rand()%n;

tem[i]=th;

for(j=0;ji;j++)

if(tem[j]==tem[i])

{

goto here;

}

printf(" =============================================\n");

printf(" 题目:%s\n",p[th].tm);

for(j=0;j4;j++)

{

printf(" 选项:%s\n",p[th].xx[j]);

}

printf(" 请输入你的答案(注意是大小写,大小写错误记零分):");

scanf("%s",p[th].as);

printf(" =============================================\n");

}

}

}

//试题录入

test_in(struct test *p,int n)

{

int i,j=0;

char sign='y';

while(sign=='Y'||sign=='y')

{

printf("===========请按提示输入数据===========\n");

printf("请输入题目:");

getchar();

aa: gets(p[n+j].tm);

for(i=0;in+j;i++)

if(p[n+j].tm[0]==p[i].tm[0])

{

printf("已有题号,请重新输入!\n题号:");

goto aa;

}

for(i=1;i=4;i++)

{

printf("请输入第%d个选项:",i);

gets(p[n+j].xx[i-1]);

}

printf("请输入正确答案:");

scanf("%s",p[n+j].da);

printf("====提示是否继续录入试题(Y or y继续,任意键退出):\n");

getchar();

scanf("%c",sign);

j++;

}

printf(" ===============转到主菜单==================\n");

return n+j;

}

//文件保存

void save(struct test *ts,int n)

{

FILE *fp;

int i=0;

char filename[50];

printf("请输入导出文件夹,列如:G:\\f1\\score.txt\n");

scanf("%s",filename);

if((fp=fopen(filename,"w+"))==NULL)

{

printf("文件保存失败!");

exit(1);

}

while(in)

{

fwrite(ts[i],sizeof(struct test),1,fp);

i++;

}

fclose(fp);

printf("------记录已保存到文件中-------\n");

}

//评分系统

test_compare(struct test *p,int n)

{

int i;

int temp=0;

int count=0;

if(n==0)

{

printf("目前题库中还没有题目,请载入题库后在进行操作\n");

return 0;

}

else

{

for(i=0;in;i++)

{

if(!strcmp(p[i].da,p[i].as))

{

count++;

}

}

printf("你答对的总题数是%d\n",count);

return n;

}

}

//例题以及答案

test_out(struct test *p,int n)

{

int i=0,j=0;

if(n==0)

{

printf("很抱歉,试题库中暂时没有任何试题!\n");

printf(" ===============转到主菜单==================\n");

}

else

while(in)

{

printf(" =============================================\n");

printf(" 题目:%s\n",p[i].tm);

for(j=0;j4;j++)

{

printf(" 选项:%s\n",p[i].xx[j]);

}

printf(" 正确答案:%s\n",p[i].da);

printf(" =============================================\n");

i++;

}

}

//试题库载入

test_under(struct test *p)

{

int i;

FILE *fp;

char filename[20];

printf("请输入你要导入的文件名及路径:");

scanf("%s",filename);

if((fp=fopen(filename,"rb"))==NULL)

{

printf("文件打开失败!\n");

return 0;

}

i=0;

while(!feof(fp))

{

if(1!=fread(p[i],sizeof(struct test),1,fp))

break;

i++;

}

fclose(fp);

printf("已经成功从文件%s导入数据!\n",filename);

return i;

}

//主函数

main()

{

int n=0;

struct test ts[100];

system("color 1f");

ncompare();

while(1)

{

switch(menu_list())

{

case 1: test_test(ts,n);break;

case 2: n=test_in(ts,n);break;

case 3: n=delete1(ts,n);break;

case 4: n=insert(ts,n);break;

case 5: save(ts,n);break;

case 6: test_compare(ts,n);break;

case 7: test_out(ts,n);break;

case 8: n=test_under(ts);break;

case 9: exit(0);

}

}

}

用c语言编写单项选择题标准化考试系统

一、课程设计计划

(一) 课程设计目的

学生通过本课程的课程设计实践,能进一步掌握高级语言程序设计基本概念,掌握基本的程序设计方法;通过设计一个完整的小型程序,初步掌握开发软件所需的需求定义能力、功能分解能力和程序设计能力、代码调试技能;学习编写软件设计文档;为未来的软件设计打下良好的基础。

(二)基本要求

要求学生认真对待本次课程设计,积极利用机房、网络资源,熟练掌握程序设计的方法和计算机基本技能操作实训,具备一定的程序设计能力。在课程设计中听从指导教师的安排,认真完成老师布置的各项任务,并以小组为单位,上交课程设计报告。

c语言 程序考试报名管理系统

#include stdio.h 

#include stdlib.h 

#define STU_NUM 10 /*宏定义学生的数量*/ 

struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/ 

char stu_id[20]; /*学生学号;*/ 

float score[3]; /*三门课成绩;*/ 

float total; /*总成绩;*/ 

float aver; /*平均成绩;*/ 

}; 

/*排序用一个函数来实现*/ 

void SortScore(student *stu,int n) 

student stud; 

for(int i = 0; i  n-1; i++) 

for(int j = i+1 ; j  n; j++) 

if(stu[i].total  stu[j].total) 

stud = stu[i]; 

stu[i] = stu[j]; 

stu[j] = stud; 

int main( ) 

student stu[STU_NUM]; /*创建结构体数组中有10个元素,分别用来保存这10个人的相关信息。*/ 

/*输入这十个学生的相关信息*/ 

for(int i = 0; iSTU_NUM; i++) 

printf("请输入第%d个学生的学号:",i+1); 

scanf("%s",stu[i].stu_id); 

printf("输入第%d个学生的数学成绩:",i+1); 

scanf("%f",stu[i].score[0]); 

printf("输入第%d个学生的英语成绩:",i+1); 

scanf("%f",stu[i].score[1]); 

printf("输入第%d个学生的计算机成绩:",i+1); 

scanf("%f",stu[i].score[2]); 

stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; 

stu[i].aver = stu[i].total/3; 

printf("\n"); 

SortScore(stu,STU_NUM);/*调用排序函数*/ 

/*输出排序后的各学生的成绩*/ 

for(i = 0 ; i  STU_NUM; i++) 

printf("序号: %d\t",i); 

printf("学号:%s\t",stu[i].stu_id); 

printf("数学:%f\t",stu[i].score[0]); 

printf("英语:%f\t",stu[i].score[1]); 

printf("计算机:%f\t",stu[i].score[2]); 

printf("平均成绩:%f\t",stu[i].aver); 

printf("总分:%f\t",stu[i].total); 

printf("\n\n"); 

return 0; 

注:(源程序中主要标识符含义说明) 

#define STU_NUM 10 /*宏定义学生的数量*/ 

struct student /*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*/ 

char stu_id[20]; /*学生学号;*/ 

float score[3]; /*三门课成绩;*/ 

float total; /*总成绩;*/ 

float aver; /*平均成绩;*/ 

}

用C语言设计一个学生成绩管理系统

#include stdio.h

#include string.h

#include stdlib.h

#define MAX 1000

/*定义学生成绩信息结构*/

struct stu

{

char id[8];

char name[8];

扩展资料:

short:修饰int,短整型数据,可省略被修饰的int。(KR时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(KR时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(KR时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(KR时期引入)

union:联合体声明。(KR时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(KR时期引入)

sizeof:得到特定类型或特定类型变量的大小。(KR时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

参考资料来源:百度百科-c语言