欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)開(kāi)發(fā)

 更新時(shí)間:2022年08月05日 15:14:29   作者:D@@  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

程序介紹

運(yùn)行程序時(shí),首先進(jìn)入到菜單部分,菜單部分提供了菜單顯示和輸入功能部分。其運(yùn)行效果如圖所示。在主界面上輸入0——8內(nèi)的數(shù)字,實(shí)現(xiàn)相應(yīng)的功能。

主界面輸入1時(shí),進(jìn)入錄入學(xué)生信息的界面,當(dāng)沒(méi)有存儲(chǔ)記錄時(shí),根據(jù)提示對(duì)學(xué)生的信息進(jìn)行輸入,運(yùn)行效果如圖所示。

在存在學(xué)生信息的情況下繼續(xù)添加學(xué)生信息時(shí),會(huì)首先顯示存在的學(xué)生信息,運(yùn)行效果如圖所示。

主界面輸入2時(shí),進(jìn)入查詢學(xué)生信息模塊,根據(jù)學(xué)生學(xué)號(hào),對(duì)學(xué)生信息進(jìn)行查詢。運(yùn)行效果如圖所示。

在主界面輸入3時(shí),進(jìn)入到刪除學(xué)生信息模塊,輸入需要?jiǎng)h除的學(xué)生學(xué)號(hào),即可在文件中將該學(xué)號(hào)的所有信息刪除,運(yùn)行效果如圖所示。

當(dāng)在主界面輸入4時(shí),系統(tǒng)進(jìn)入到修改學(xué)生信息模塊,首先會(huì)顯示出所有學(xué)生的信息,輸入要修改的學(xué)生學(xué)號(hào),系統(tǒng)會(huì)對(duì)輸入的學(xué)號(hào)進(jìn)行匹配,若在顯示出來(lái)的學(xué)生信息中存在,則會(huì)提示輸入修改的內(nèi)容。運(yùn)行效果如圖所示。

在主界面輸入5時(shí),可以插入學(xué)生信息,根據(jù)提示輸入想要插入的位置,以及插入的學(xué)號(hào)等信息。運(yùn)行效果如圖所示。

在主界面輸入6時(shí),可以根據(jù)學(xué)生的總成績(jī)從高到低進(jìn)行排序。排序完成后,將排序結(jié)果保存,但是排序后的結(jié)果并不現(xiàn)實(shí)在該界面。運(yùn)行效果如圖所示。

當(dāng)在主界面輸入7時(shí),可以對(duì)學(xué)生的人數(shù)進(jìn)行統(tǒng)計(jì),顯示出統(tǒng)計(jì)的人數(shù)。運(yùn)行效果如圖所示。

當(dāng)在主界面輸入8時(shí),可以對(duì)學(xué)生的信息進(jìn)行顯示,運(yùn)行效果如圖所示。該圖為對(duì)成績(jī)進(jìn)行排序后的顯示結(jié)果。

代碼

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#define LEN sizeof(struct student)
#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"
#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum
/**
* ?結(jié) 構(gòu) 體
*/
struct student/*定義學(xué)生成績(jī)結(jié)構(gòu)體*/
{?
?? ?int num;?? ??? ?/*學(xué)號(hào)*/
? ?? ?char name[15];?? ?/*姓名*/
? ?? ?double elec;?? ?/*選修課*/
? ?? ?double expe;?? ?/*實(shí)驗(yàn)課*/
? ?? ?double requ;?? ?/*必修課*/
? ?? ?double sum;?? ??? ?/*總分*/
};
/**
* ?函數(shù)聲明
*/
struct student stu[50];?? ?/*定義結(jié)構(gòu)體數(shù)組*/
void in();?? ??? ??? ??? ?/*錄入學(xué)生成績(jī)信息*/
void show();?? ??? ??? ?/*顯示學(xué)生信息*/
void order();?? ??? ??? ?/*按總分排序*/
void del();?? ??? ??? ??? ?/*刪除學(xué)生成績(jī)信息*/
void modify();?? ??? ??? ?/*修改學(xué)生成績(jī)信息*/
void menu();?? ??? ??? ?/*主菜單*/
void insert();?? ??? ??? ?/*插入學(xué)生信息*/
void total();?? ??? ??? ?/*計(jì)算總?cè)藬?shù)*/
void search();?? ??? ??? ?/*查找學(xué)生信息*/

void main()?? ??? ??? ??? ?/*主函數(shù)*/
{?
?? ?system("color f0\n");?? ?//白底黑字
?? ?int n;
? ?? ?menu();
? ?? ?scanf("%d",&n);/*輸入選擇功能的編號(hào)*/
? ?? ?while(n)
? ?? ?{?
?? ? ??? ?switch(n)
? ? ??? ?{?
?? ??? ? ?? ?case 1: in();break;
? ? ? ??? ??? ?case 2: search();break;
? ? ? ??? ??? ?case 3: del();break;
? ? ? ??? ??? ?case 4: modify();break;
? ? ? ??? ??? ?case 5: insert();break;
? ? ? ??? ??? ?case 6: order();break;
? ? ? ??? ??? ?case 7: total();break;
?? ? ? ?? ??? ?case 8: show();break;
? ? ? ??? ??? ?default:break;
? ? ??? ?}
? ? getch();
? ? menu();/*執(zhí)行完功能再次顯示菜單界面*/
? ? scanf("%d",&n);
? ?? ?}
}

void in()/*錄入學(xué)生信息*/
{?
?? ?int i,m=0;/*m是記錄的條數(shù)*/
? ?? ?char ch[2];
? ?? ?FILE *fp;/*定義文件指針*/
? ?? ?if((fp=fopen("data.txt","a+"))==NULL)/*打開(kāi)指定文件*/
? ?? ?{?
?? ? ??? ?printf("文件不存在!\n");
?? ? ??? ?return;//直接返回,不在執(zhí)行
? ?? ?}
? ?? ?while(!feof(fp))//判斷是否指向結(jié)束符
? ? {
?? ? ??? ?if(fread(&stu[m] ,LEN,1,fp)==1)
? ? ? ? {
?? ??? ? ??? ?m++;/*統(tǒng)計(jì)當(dāng)前記錄條數(shù)*/
?? ??? ?}
? ?? ?}
? ?? ?fclose(fp);
? ?? ?if(m==0)
? ?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
?? ?}
? ?? ?else
? ?? ?{?? ? ??? ?
? ? ? ? show();/*調(diào)用show函數(shù),顯示原有信息*/
? ?? ?}
? ?? ?if((fp=fopen("data.txt","wb"))==NULL)
? ?? ?{
?? ? ??? ?printf("文件不存在!\n");
?? ? ??? ?return;
??? ? }


? ?? ?printf("輸入學(xué)生信息(y/n):");
? ?? ?scanf("%s",ch);
?? ?while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要錄入新信息*/
?? ?{
? ? ?? ?printf("number:");
?? ??? ?scanf("%d",&stu[m].num);/*輸入學(xué)生學(xué)號(hào)*/
? ? ?? ?for(i=0;i<m;i++)
?? ? ? ??? ?if(stu[i].num==stu[m].num)
?? ? ? ??? ?{
?? ? ? ?? ??? ??? ?printf("number已經(jīng)存在了,按任意鍵繼續(xù)!");
?? ? ? ??? ??? ?getch();
?? ? ? ??? ??? ?fclose(fp);
?? ? ? ??? ??? ?return;
?? ? ? ??? ?}
? ? ??? ?printf("name:");
?? ? ?? ?scanf("%s",stu[m].name);/*輸入學(xué)生姓名*/
? ? ??? ?printf("elective:");
? ? ?? ?scanf("%lf",&stu[m].elec);/*輸入選修課成績(jī)*/
? ? ??? ?printf("experiment:");
?? ? ?? ?scanf("%lf",&stu[m].expe);/*輸入實(shí)驗(yàn)課成績(jī)*/
? ? ??? ?printf("required course:");
?? ? ?? ?scanf("%lf",&stu[m].requ);/*輸入必修課成績(jī)*/
? ? ??? ?stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*計(jì)算出總成績(jī)*/
? ? ??? ?if(fwrite(&stu[m],LEN,1,fp)!=1)/*將新錄入的信息寫入指定的磁盤文件*/
? ? ??? ?{
?? ??? ? ?? ?printf("不能保存!");
?? ??? ? ?? ?getch();
?? ? ?? ?}
? ? ??? ?else
?? ? ?? ?{
?? ??? ? ?? ?printf("%s 被保存!\n",stu[m].name);
?? ??? ? ?? ?m++;
?? ? ?? ?}
? ? ??? ?printf("繼續(xù)?(y/n):");/*詢問(wèn)是否繼續(xù)*/
? ? ??? ?scanf("%s",ch);
? ?? ?}
? ?? ?fclose(fp);
? ?? ?printf("OK!\n");
}

void show()?? ??? ??? ??? ?//增加data.txt文件不存在或者文件內(nèi)容為空時(shí)的顯示?
?{?
?? ?FILE *fp;
? ?? ?int i,m=0;
? ?? ?fp=fopen("data.txt","rb");
? ?? ??
// ??? ?if((fp=fopen("data.txt","a+"))==NULL)/*打開(kāi)指定文件*/
// ??? ?{?
//?? ? ??? ?printf("文件不存在!\n");
//?? ? ??? ?return;
// ??? ?}
// ??? ?fclose(fp);
// ??? ?if(m==0)
//?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
//?? ??? ?return;?? ? ??? ?
? ?? ?while(!feof(fp))
? ?? ?{
? ?? ??? ?if(fread(&stu[m] ,LEN,1,fp)==1)?
? ??? ??? ?m++;
? ??? ?} ?
? ??? ?fclose(fp);
? ??? ?printf("number ?name ? ? ? ? ? elective ? ?experiment ?required ? ?sum\t\n");
? ??? ?for(i=0;i<m;i++)
? ? {?
?? ? ? printf(FORMAT,DATA);/*將信息按指定格式打印*/
? ? }
}
?
void menu()/*自定義函數(shù)實(shí)現(xiàn)菜單功能*/
{
? ?? ?system("cls");
? ?? ?printf("\n\n\n\n");
? ?? ?printf("\t\t|---------------學(xué)生信息管理系統(tǒng)---------------|\n");
? ?? ?printf("\t\t|\t\t\t\t\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 1. 錄入學(xué)生信息\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 2. 查找學(xué)生信息\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 3. 刪除學(xué)生信息\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 4. 修改學(xué)生信息\t ? ? ? |\n");
??? ?printf("\t\t|\t\t 5. 插入學(xué)生信息\t ? ? ? |\n");
??? ?printf("\t\t|\t\t 6. 排序\t\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 7. 統(tǒng)計(jì)學(xué)生總數(shù)\t ? ? ? |\n");
? ?? ?printf("\t\t|\t\t 8. 顯示所有學(xué)生信息\t ? ? ? |\n");
? ? printf("\t\t|\t\t 0. 退出系統(tǒng)\t\t ? ? ? |\n");
? ? printf("\t\t|\t\t\t\t\t ? ? ? |\n");
? ?? ?printf("\t\t|----------------------------------------------|\n\n");
? ?? ?printf("\t\t\t請(qǐng)選擇(0-8):");
}

void order()/*自定義排序函數(shù)*/
{?
?? ?FILE *fp;
? ?? ?struct student t;
? ?? ?int i=0,j=0,m=0;
? ?? ?if((fp=fopen("data.txt","r+"))==NULL)
? ? {?
?? ??? ?printf("文件不存在!\n");
? ? ? ? return;
? ?? ?}
? ?? ?while(!feof(fp))?
??? ?if(fread(&stu[m] ,LEN,1,fp)==1)?
?? ? ??? ?m++;
? ?? ?fclose(fp);
? ?? ?if(m==0)?
? ?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
?? ? ??? ?return;
? ?? ?}
? ?? ?if((fp=fopen("data.txt","wb"))==NULL)
? ? {
?? ? ??? ?printf("文件不存在!\n");
?? ? ??? ?return;
?? ?}
? ? for (i = 0; i < m - 1; i++)
? ? ? ? for (j = i + 1; j < m; j++)/*雙重循環(huán)實(shí)現(xiàn)成績(jī)比較并交換*/
? ? ? ? ? ? if (stu[i].sum < stu[j].sum) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ??? ? ??? ?t=stu[i];stu[i]=stu[j];stu[j]=t;
?? ??? ?}
?? ?if((fp=fopen("data.txt","wb"))==NULL)
? ? {?
?? ??? ?printf("文件不存在!\n");
?? ??? ?return;
?? ?}
? ?? ?for(i=0;i<m;i++)/*將重新排好序的內(nèi)容重新寫入指定的磁盤文件中*/
? ? ? ?? ?if(fwrite(&stu[i] ,LEN,1,fp)!=1)
? ? ? ??? ?{?
? ? ? ? ?? ?printf("%s 不能保存文件!\n");?
? ? ? ? ?? ?getch();
? ? ? ?? ?}
? ?? ?fclose(fp);
? ?? ?printf("保存成功\n");
}

void del()/*自定義刪除函數(shù)*/ ? /*邏輯:首先判斷data.txt文件是否存在,如果存在,繼續(xù)操作,判斷文件是否為空,不為空,則輸入要?jiǎng)h除的學(xué)生學(xué)號(hào);如果文件不存在
?? ??? ??? ??? ??? ??? ??? ? ? ?返回“文件不存在”,文件內(nèi)容為空則返回“文件中沒(méi)有記錄”
?? ??? ??? ??? ??? ??? ??? ??? ?輸入學(xué)號(hào)----判斷是否有這個(gè)學(xué)號(hào)。有:詢問(wèn)是否刪除,y刪除;n不刪除 ,“找到了記錄,選擇不刪除!”?
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?沒(méi)有:“沒(méi)有找到這名學(xué)生!”?
?? ??? ??? ??? ??? ??? ??? ??? ?*/?
{?? ?
?? ?FILE *fp;
? ?? ?int snum,i,j,m=0;
? ?? ?char ch[2];
? ?? ?if((fp=fopen("data.txt","r+"))==NULL)?? ??? ?//data.txt文件不存在?
? ? {?
?? ??? ?printf("文件不存在!\n");
?? ??? ?return;
?? ?}
? ?? ?while(!feof(fp)) ?if(fread(&stu[m],LEN,1,fp)==1) m++;
? ?? ?fclose(fp);
? ?? ?if(m==0)?
? ?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");?? ??? ??? ?//data.txt文件存在,但里面沒(méi)有內(nèi)容?
?? ? ??? ?return;
? ?? ?}
??
? ?? ?printf("請(qǐng)輸入學(xué)生學(xué)號(hào)");
? ?? ?scanf("%d",&snum);?
? ? for(i=0;i<m;i++) ? ? ? ??? ?
?? ? ?? ?if(snum==stu[i].num)
?? ? ? ?? ?{?? ??? ? ??
? ? ??? ??? ?printf("找到了這條記錄,是否刪除?(y/n)");
? ? ??? ??? ?scanf("%s",ch);
? ? ? ?? ??? ?if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要進(jìn)行刪除*/
? ? ? ?? ??? ?{
?? ? ??? ??? ??? ?for(j=i;j<m;j++)
?? ? ? ? ??? ??? ?stu[j]=stu[j+1];/*將后一個(gè)記錄移到前一個(gè)記錄的位置*/
?? ? ? ? ? ?? ??? ?m--;/*記錄的總個(gè)數(shù)減1*/
? ? ? ?? ??? ??? ?if((fp=fopen("data.txt","wb"))==NULL)
? ? ??? ??? ??? ?{?
?? ??? ??? ??? ? ?? ?printf("文件不存在\n");
?? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ?}
? ?? ??? ??? ??? ?for(j=0;j<m;j++)/*將更改后的記錄重新寫入指定的磁盤文件中*/
? ? ? ?? ??? ??? ?if(fwrite(&stu[j] ,LEN,1,fp)!=1)
? ? ? ??? ??? ??? ?{?
?? ??? ??? ??? ? ? ?? ?printf("can not save!\n");
? ? ? ?? ??? ??? ??? ?getch();
?? ??? ??? ??? ?}
? ?? ??? ??? ??? ?fclose(fp);
? ?? ??? ??? ??? ?printf("刪除成功!\n");
? ? ? ?? ??? ?}else{
? ? ? ?? ??? ??? ?printf("找到了記錄,選擇不刪除!");?
?? ? ??? ??? ?}
? ?? ??? ??? ??? ?break;
? ?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ? ??? ?printf("沒(méi)有找到這名學(xué)生!\n");/*未找到要查找的信息*/ ?
?? ??? ?}
}

void search()/*自定義查找函數(shù)*/?? ??? ??? ?//新增:搜索文件中沒(méi)有的學(xué)號(hào)時(shí)的情況?
{?
?? ?FILE *fp;
? ?? ?int snum,i,m=0;
? ?? ?if((fp=fopen("data.txt","rb"))==NULL)
? ? ?{?
?? ? ?? ?printf("文件不存在!\n");
?? ??? ?return;
?? ?}
? ?? ?while(!feof(fp)) ?
?? ? ?if(fread(&stu[m],LEN,1,fp)==1)?
?? ? ?m++;
? ?? ?fclose(fp);
? ?? ?if(m==0)?
?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
?? ? ??? ?return;
?? ?}
? ?? ?printf("請(qǐng)輸入number:");
? ?? ?scanf("%d",&snum);
? ?? ?for(i=0;i<m;i++)
? ? if(snum==stu[i].num)/*查找輸入的學(xué)號(hào)是否在記錄中*/
? ? {?
? ? ? ? ? printf("number ?name ? ? ? ? ? elective ? ?experiment ?required ? ?sum\t\n");
? ? ? ? ? printf(FORMAT,DATA);/*將查找出的結(jié)果按指定格式輸出*/
?? ? ?break;
? ? } ??
? ?? ?if(i==m) printf("沒(méi)有找到這名學(xué)生!\n");/*未找到要查找的信息*/
}

void modify()/*自定義修改函數(shù)*/?? ??? ??? ?//修正:要修改文件中沒(méi)有記錄的學(xué)號(hào)時(shí),還是說(shuō)“找到了。。?!?
{
? ?? ?FILE *fp;
? ?? ?struct student t;
? ?? ?int i=0,j=0,m=0,snum; ? ? ?? ?
? ?? ?if((fp=fopen("data.txt","r+"))==NULL)
? ? {?
?? ??? ?printf("文件不存在!\n");
? ? ? ? return;
? ?? ?}
? ?? ?while(!feof(fp))?
? ?? ??? ?if(fread(&stu[m] ,LEN,1,fp)==1)?
?? ??? ??? ?m++; ??? ?
? ?? ?if(m==0)?
? ?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
?? ??? ?fclose(fp);
?? ? ??? ?return;
? ?? ?}
? ?? ?show();
? ?? ?printf("請(qǐng)輸入要修改的學(xué)生number: ");
? ?? ?scanf("%d",&snum);
? ?? ?for(i=0;i<m;i++)?? ??? ? ?
?? ? ??? ?if(snum==stu[i].num)/*檢索記錄中是否有要修改的信息*/
?? ??? ? ?{
?? ? ??? ??? ?printf("找到了這名學(xué)生,可以修改他的信息!\n");?? ??
?? ? ??? ??? ?printf("name:");
?? ? ??? ??? ?scanf("%s",stu[i].name);/*輸入名字*/
? ? ? ??? ? ? ?? ?printf("elective:");
?? ? ??? ??? ?scanf("%lf",&stu[i].elec);/*輸入選修課成績(jī)*/
? ? ? ?? ? ? ?printf("experiment:");
?? ? ??? ??? ?scanf("%lf",&stu[i].expe);/*輸入實(shí)驗(yàn)課成績(jī)*/
? ? ? ?? ? ? ?printf("required course:");
?? ? ??? ??? ?scanf("%lf",&stu[i].requ);/*輸入必修課成績(jī)*/
?? ? ??? ??? ?printf("修改成功!");
?? ? ??? ??? ?stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;
?? ?
?? ??? ??? ?if((fp=fopen("data.txt","wb"))==NULL)
? ? ??? ??? ?{?
?? ??? ? ?? ??? ?printf("can not open\n");
?? ??? ??? ? ?? ?return;
?? ??? ??? ?}
?? ? ??? ??? ?for(j=0;j<m;j++)/*將新修改的信息寫入指定的磁盤文件中*/
?? ? ??? ??? ?if(fwrite(&stu[j] ,LEN,1,fp)!=1)
? ? ? ??? ??? ?{?
?? ??? ? ? ?? ??? ?printf("can not save!");?
?? ??? ? ? ?? ??? ?getch();?
?? ??? ??? ?}
?? ? ?? ??? ?fclose(fp); ?
?? ? ?? ??? ?break;
? ?? ??? ?}
? ?? ??? ?if(i==m) ?? ?
?? ??? ? ??? ?printf("沒(méi)有找到這名學(xué)生!\n");/*未找到要查找的信息*/?? ?
}

void insert()/*自定義插入函數(shù)*/
{?
?? ?FILE *fp;
? ?? ?int i,j,k,m=0,snum;
? ?? ?if((fp=fopen("data.txt","r+"))==NULL)
? ? {?
?? ??? ?printf("文件不存在!\n");
?? ??? ?return;
?? ?}
? ?? ?while(!feof(fp)) ?
??? ??? ?if(fread(&stu[m],LEN,1,fp)==1)?
?? ??? ? m++;
? ?? ?if(m==0)?
?? ?{
?? ? ??? ?printf("文件中沒(méi)有記錄!\n");
? ?? ??? ?fclose(fp);
? ?? ??? ?return;
? ?? ?}
? ?? ?printf("請(qǐng)輸入要插入的位置(number):\n");
? ?? ?scanf("%d",&snum);/*輸入要插入的位置*/
? ? for (i = 0; i < m; i++)//遍歷
? ? ? ? if (snum == stu[i].num)//判斷是否存在
? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ? ??? ?for(j=m-1;j>i;j--)//學(xué)號(hào)下面的內(nèi)容
? ? ? ? ? ??? ?stu[j+1]=stu[j];/*從最后一條記錄開(kāi)始均向后移一位*/
?? ? ??? ?printf("現(xiàn)在請(qǐng)輸入要插入的學(xué)生信息.\n");
? ? ? ? ? ?? ?printf("number:");
?? ? ??? ?scanf("%d",&stu[i+1].num);
?? ? ??? ?for(k=0;k<m;k++)//判斷是否存在
?? ? ? ??? ?if(stu[k].num==stu[m].num)
?? ? ? ??? ?{
?? ? ? ??? ??? ?printf("number已經(jīng)存在,按任意鍵繼續(xù)!");
?? ? ? ??? ??? ?getch();
?? ? ? ??? ??? ?fclose(fp);
?? ? ? ??? ??? ?return;
?? ? ? ??? ?}
?? ? ??? ?printf("name:");
?? ? ??? ?scanf("%s",stu[i+1].name);
? ? ? ? ??? ? printf("elective:");
?? ? ??? ?scanf("%lf",&stu[i+1].elec);
? ? ? ? ? ?? ?printf("experiment:");
?? ? ??? ?scanf("%lf",&stu[i+1].expe);
? ? ? ? ? ?? ?printf("required course:");
?? ? ??? ?scanf("%lf",&stu[i+1].requ);
?? ? ?? ? stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;
?? ? ?? ? printf("插入成功!按任意鍵返回主界面!");?
?? ? ?? ? if((fp=fopen("data.txt","wb"))==NULL)
? ? ?? ?{?
?? ? ?? ??? ?printf("不能打開(kāi)!\n");
?? ??? ??? ? return;
?? ??? ?}
?? ? ??? ?for(k=0;k<=m;k++)
?? ? ??? ?if(fwrite(&stu[k] ,LEN,1,fp)!=1)/*將修改后的記錄寫入磁盤文件中*/
? ? ? ??? ?{?
?? ??? ? ? printf("不能保存!");?
?? ??? ? ? getch();?
?? ??? ?}
? ?? ?fclose(fp);
}

void total()
{?
?? ?FILE *fp;
? ?? ?int m=0;
? ?? ?if((fp=fopen("data.txt","r+"))==NULL)
? ? ?{?
?? ? ?? ?printf("文件不存在!\n");
?? ??? ? return;
?? ?}
? ?? ?while(!feof(fp)) ?
?? ? ??? ?if(fread(&stu[m],LEN,1,fp)==1)?
?? ??? ? ??? ?m++;?? ??? ??? ?/*統(tǒng)計(jì)記錄個(gè)數(shù)即學(xué)生個(gè)數(shù)*/
? ?? ?if(m==0) {printf("no record!\n");fclose(fp);return;}
? ?? ?printf("這個(gè)班級(jí)一共有 %d 名學(xué)生!\n",m);/*將統(tǒng)計(jì)的個(gè)數(shù)輸出*/
? ?? ?fclose(fp);
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C/C++ 公有繼承、保護(hù)繼承和私有繼承的對(duì)比詳解

    C/C++ 公有繼承、保護(hù)繼承和私有繼承的對(duì)比詳解

    這篇文章主要介紹了C/C++ 公有繼承、保護(hù)繼承和私有繼承的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Qt實(shí)現(xiàn)文本編輯器(二)

    Qt實(shí)現(xiàn)文本編輯器(二)

    這篇文章主要介紹了利用Qt實(shí)現(xiàn)的一個(gè)文本編輯器。本文將具體講解下是如何實(shí)現(xiàn)菜單欄以及工具欄上對(duì)應(yīng)的需求,感興趣的可以動(dòng)手試一試
    2022-01-01
  • C語(yǔ)言自定義軍旗游戲源碼

    C語(yǔ)言自定義軍旗游戲源碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言自定義軍旗游戲源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C語(yǔ)言中continue的用法詳解

    C語(yǔ)言中continue的用法詳解

    在C語(yǔ)言當(dāng)中的continue和break語(yǔ)句是有一些類似的,但是它并不是強(qiáng)制進(jìn)行終止的,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中continue用法的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 溫故C語(yǔ)言內(nèi)存管理

    溫故C語(yǔ)言內(nèi)存管理

    這篇文章主要介紹了 C語(yǔ)言內(nèi)存管理的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • QT編寫窗口插件實(shí)現(xiàn)調(diào)用窗口的自適應(yīng)

    QT編寫窗口插件實(shí)現(xiàn)調(diào)用窗口的自適應(yīng)

    這篇文章主要為大家詳細(xì)介紹了QT編寫窗口插件實(shí)現(xiàn)調(diào)用窗口的自適應(yīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)數(shù)據(jù)分組導(dǎo)出

    Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)數(shù)據(jù)分組導(dǎo)出

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)分組導(dǎo)出,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以了解一下
    2022-06-06
  • C語(yǔ)言實(shí)現(xiàn)計(jì)算器的兩種方法

    C語(yǔ)言實(shí)現(xiàn)計(jì)算器的兩種方法

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)計(jì)算器的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++中Lambda表達(dá)式的語(yǔ)法與實(shí)例

    C++中Lambda表達(dá)式的語(yǔ)法與實(shí)例

    C++ 11 中的 Lambda 表達(dá)式用于定義并創(chuàng)建匿名的函數(shù)對(duì)象,以簡(jiǎn)化編程工作,下面這篇文章主要給大家介紹了關(guān)于C++中Lambda表達(dá)式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • C++生成key-value鍵值的三種方式總結(jié)

    C++生成key-value鍵值的三種方式總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C++中生成key-value鍵值的三種方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2023-09-09

最新評(píng)論