本文目錄一覽:
做一個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語言
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/183914.html