日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

夜深深~帮别人做课程设计。。。

發布時間:2025/7/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 夜深深~帮别人做课程设计。。。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** Answer.cpp 單項選擇題標準化考試系統設計 ***/ #include <stdio.h> #include <stdlib.h> #include <string.h> #define LEN sizeof(struct test) struct test { char number[10]; char que[81]; char answer1[81]; char answer2[81]; char answer3[81]; char answer4[81]; char ture; struct test *next; }; struct test *head;//全局變量儲存第一個結構體的指針 struct test *p_head=NULL;//儲存所有的題目 int que_number=-1; char que_number_string[10]; /*** put_all_que() 修改后的試題重新寫入 return int 寫入是否成功標志 ***/ int put_all_que() { FILE *fp; int n=1; char number[10]; struct test *p; remove("test.txt"); if((fp=fopen("test.txt","a"))==NULL) { printf("文件打開失敗請檢查當前文件夾下的test.txt文件。\n"); exit(0); } p=p_head->next; do { fputc('\n',fp); itoa(n,number,10); fputs(number,fp); fputc(' ',fp); fputs(p->que,fp); fputc(' ',fp); fputs(p->answer1,fp); fputc(' ',fp); fputs(p->answer2,fp); fputc(' ',fp); fputs(p->answer3,fp); fputc(' ',fp); fputs(p->answer4,fp); fputc(' ',fp); fputc(p->ture,fp); p=p->next; n++; } while (p!=NULL); fclose(fp); return 1; } /*** get_all_que() 獲取全部的題目 return void ***/ void get_all_que() { FILE *fp; struct test *p1; struct test *p2; char ch,ch1[5]; int n=1,i,wz,py; if((fp=fopen("test.txt","r"))==NULL)//只讀方式打開文件 { printf("文件打開失敗請檢查當前程序文件夾下的test.txt文件。\n"); exit(0); } do { py=1; ch=fgetc(fp); if (ch==EOF) break; for(i=0;ch!='\n'&&ch!=-1;i++)//循環判斷回車符個數 { py++; ch=fgetc(fp); } p1=(struct test *)malloc(LEN); wz=ftell(fp);//記錄指針當前位置 fseek(fp,(wz-py-1),0);//調整指針位置到行首 fscanf(fp,"%s%s%s%s%s%s%s",&p1->number,&p1->que,&p1->answer1,&p1->answer2,&p1->answer3,&p1->answer4,&ch1); fseek(fp,wz,0);//調整指針位置到行末 p1->ture=ch1[0]; if (n==1) { p_head=p1; n=0; } else p2->next=p1; p2=p1; }while(!feof(fp));//文件結束跳出循環 p2->next=NULL; fclose(fp); } /*** now_que_number_exe() 檢查當前有多少題目 return int 當前題目數 ***/ int now_que_number_exe() //檢查當前有多少題目 { FILE *fp; int now_que_number=0; char ch; char cc[810]; if((fp=fopen("test.txt","r"))==NULL)//只讀方式打開文件 { printf("文件打開失敗請檢查當前程序文件夾下的test.txt文件。\n"); exit(0); } ch=fgetc(fp); if (ch!=EOF) { do { now_que_number++; fgets(cc,sizeof(cc),fp); if (cc[0]==EOF) break; } while(!feof(fp)); } fclose(fp); return now_que_number; } int zts(int m)//將第m道題裝入內存,輸入-1時將返回總題數 { FILE *fp; struct test *p1=NULL; char ch,ch1[5]; char number[10]; int i,n=0,wz,py; if((fp=fopen("test.txt","r"))==NULL)//只讀方式打開文件 { printf("文件打開失敗請檢查當前程序文件夾下的test.txt文件。\n"); exit(0); } do { py=1; ch=fgetc(fp); for(i=0;ch!='\n'&&ch!=-1;i++)//循環判斷回車符個數 { py++; ch=fgetc(fp); } n++; //儲存行數的變量 if(n==m)//如果當前行數與傳入參數相等 { if(p1==NULL)//判斷是否是第一次開辟內存空間 { p1=(struct test *)malloc(LEN); head=p1; p1->next=NULL; } else { p1->next=p1; p1=(struct test *)malloc(LEN); p1->next=NULL; } wz=ftell(fp);//記錄指針當前位置 fseek(fp,(wz-py-1),0);//調整指針位置到行首 fscanf(fp,"%s%s%s%s%s%s%s",&number,&p1->que,&p1->answer1,&p1->answer2,&p1->answer3,&p1->answer4,&ch1); fseek(fp,wz+1,0);//調整指針位置到行末 p1->ture=ch1[0]; break;//將數據裝入內存后跳出循環 } }while(!feof(fp));//文件結束跳出循環 fclose(fp); return n;//返回題目總數n } void exe1() { void main(); void exe2(); int n,m=0,tm,i,t=0,f=0; char ans[2]; struct test *p1; system("cls"); printf("請輸入要答題數:"); scanf("%d",&n); tm=zts(-1); if(0>n||n>tm) { printf("答題數應小于總數!"); exe1(); } for(i=0;i<n;i++)//n為用戶要答題數 { do { m=rand();//置隨機數 }while(!(0<m&&m<=tm));//判斷產生的隨機數是否符合要求 zts(m); p1=head;//將zts開辟的結構體首地址賦給p1 printf("\n第%d題:\n",i+1); printf("%s\n%s\n%s\n%s\n%s\n請輸入答案:",p1->que,p1->answer1,p1->answer2,p1->answer3,p1->answer4); scanf("%s",&ans); if(toupper(ans[0])==p1->ture)//判斷用戶輸入答案是否正確 { printf("恭喜你答對了!\n\n"); t++;//回答正確統計 } else { printf("對不起,你答錯了。。。\n正確答案是:%c\n\n",p1->ture); f++;//回答錯誤統計 } } p1=head; do { head=p1->next; free(p1); p1=head; }while(p1!=NULL);//釋放結構體占用內存 printf("*******************************\n"); printf("\n已完成測試!\n共做%d道題:%d錯誤,%d正確。\n正確率:%5.2f%%\n\n",n,f,t,(float)t/n*100); printf("*******************************\n"); printf("\n\n1.繼續答題;2.添加題目;3.返回主菜單;\n請選擇:"); i=0; scanf("%d",&i); if(i==1) exe1();//繼續答題 else if(i==2) exe2();//添加題目 else main();//返回主菜單 } void exe2()//實現用戶自主輸入題目 { void main(); system("cls"); int n; FILE *fp; if((fp=fopen("test.txt","a"))==NULL) { printf("文件打開失敗請檢查當前文件夾下的test.txt文件。\n"); exit(0); } struct test *p1=NULL; p1=(struct test *)malloc(LEN);//開辟內存空間 do { printf("請輸入題目:"); scanf("%s",&p1->que); }while(p1->que[0]=='\0'); do { printf("請輸入選項A:"); scanf("%s",&p1->answer1); }while(p1->answer1=='\0'); do { printf("請輸入選項B:"); scanf("%s",&p1->answer2); }while(p1->answer2=='\0'); do { printf("請輸入選項C:"); scanf("%s",&p1->answer3); }while(p1->answer3=='\0'); do { printf("請輸入選項D:"); scanf("%s",&p1->answer4); }while(p1->answer4=='\0'); printf("請輸入答案:"); do { scanf("%c",&p1->ture); p1->ture=toupper(p1->ture); }while(p1->ture!='A'&&p1->ture!='B'&&p1->ture!='C'&&p1->ture!='D'); printf("\n確認輸入題目?\n1.是。 2.否。\n"); scanf("%d",&n); if(n==1) { fputc('\n',fp); if (que_number==-1) { que_number=now_que_number_exe()+1; itoa(que_number,que_number_string,10); fputs(que_number_string,fp); fputc(' ',fp); } else { que_number++; itoa(que_number,que_number_string,10); fputs(que_number_string,fp); fputc(' ',fp); } fputs(p1->que,fp); fputc(' ',fp); fputs("A.",fp); fputs(p1->answer1,fp); fputc(' ',fp); fputs("B.",fp); fputs(p1->answer2,fp); fputc(' ',fp); fputs("C.",fp); fputs(p1->answer3,fp); fputc(' ',fp); fputs("D.",fp); fputs(p1->answer4,fp); fputc(' ',fp); fputc(p1->ture,fp); fclose(fp); printf("保存成功!"); system("cls"); free(p1); printf("是否繼續添加?\n1.繼續添加 2.返回主菜單\n"); scanf("%d",&n); if(n==1) exe2(); else main(); } else { free(p1); exe2(); } } void exe3(int change_number) //修改試題 { struct test *p; struct test *pt; int n; int is_changed_choose; char que_content[81]; int number; system("cls"); if (p_head==NULL) get_all_que(); if (p_head!=NULL) { if (change_number==-1) printf("所有題目如下\n"); p=p_head->next; do { number=atoi(p->number); if (number==change_number) { printf("是否修改題目? 是(1) , 否(0)"); do { scanf("%d",&is_changed_choose); }while (is_changed_choose!=1 && is_changed_choose!=0); if (is_changed_choose) { printf("\n你想修改成什么題目:"); scanf("%s",&que_content); strcpy(p->que,que_content); } printf("是否修改選項? 是(1) , 否(0)"); scanf("%d",&is_changed_choose); while (is_changed_choose==1) { } printf("是否修改標準答案? 是(1) , 否(0)"); scanf("%d",&is_changed_choose); if (is_changed_choose) { } break; } if (change_number==-1) printf("%s. %s\n %s %s\n %s %s",p->number,p->que,p->answer1,p->answer2,p->answer3,p->answer4); if (change_number==-1) printf("%c\n",p->ture); p=p->next; } while (p!=NULL); if (change_number==-1) printf("所有題目如上\n輸入想要修改題目的編號"); if (change_number==-1) { scanf("%d",&n); exe3(n); } else { if (put_all_que()) { printf("修改成功!"); p_head=NULL; } else printf("修改失敗!"); } } } void exe4(int del_number) //刪除試題 { struct test *p; struct test *pt; int n; int number; system("cls"); if (p_head==NULL) get_all_que(); if (p_head!=NULL) { if (del_number==-1) printf("所有題目如下\n"); p=p_head->next; do { if (del_number==1) { p_head->next=p->next; break; } number=atoi(p->number); if (number+1==del_number) { pt=p->next; p->next=pt->next; break; } if (del_number==-1) printf("%s. %s\n %s %s\n %s %s",p->number,p->que,p->answer1,p->answer2,p->answer3,p->answer4); if (del_number==-1) printf("%c\n",p->ture); p=p->next; } while (p!=NULL); if (del_number==-1) printf("所有題目如上\n輸入想要刪除題目的編號"); if (del_number==-1) { scanf("%d",&n); exe4(n); } else { if (put_all_que()) { printf("刪除成功!"); p_head=NULL; } else printf("刪除失敗!"); } } } void exe5() //查看英雄榜 { } void main() { system("cls"); int n; printf("********************************\n"); printf("歡迎使用單項選擇題標準化考試系統\n"); printf("********************************\n"); printf("\t1.開始答題。\n"); printf("\t2.添加試題。\n"); printf("\t3.修改試題。\n"); printf("\t4.刪除試題。\n"); printf("\t5.查看英雄榜。\n"); printf("\t6.退出系統。\n"); printf("\n請選擇:"); scanf("%d",&n); switch(n) { case 1:exe1();break; case 2:exe2();break; case 3:exe3(-1);break; case 4:exe4(-1);break; case 5:exe5();break; case 6:printf("\n^-^,goodbye!\n"); }while(n!=6); }

?

????????????4點多了,這幾天重慶的天氣一天比一天涼了,幫同學的同學寫課程設計。。。(寫完了請我吃飯,真心無所謂了)。寫了一點點,上面的代碼等到大學畢業的時候看看,會有什么感覺哩(這也挺有意思的!)。
????????????現在晚上基本睡不著了,話說鍛煉熬夜編程的能力,盡然搞成了這種狀況,黑白顛倒。其實黑白顛倒倒也好,但是我是白天也不怎么睡覺,真成神仙了。就怕萬一年紀輕輕怎么了。-?-!?誒!現在什么身體亞健康已經不存在了,根本就是不健康。其實現在的狀況也要說是我脾氣的原因,往往不做完事不罷休。想著今天的事情今天一定要做完(殊不知已經熬夜過了今天,挺搞笑的!)。
????????????4:30,祝福所有人健康。while(1)?echo?"Happy";

轉載于:https://blog.51cto.com/hirube/1288856

總結

以上是生活随笔為你收集整理的夜深深~帮别人做课程设计。。。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。