當前位置:編程學習大全網 - 源碼下載 - 研發管理系統源代碼

研發管理系統源代碼

# include & ltstdio.h & gt

# include & ltconio.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

typedef結構

{

龍類_ 1;/*類*/

長號碼;/*學生ID */

char name[20];/*姓名*/

高高飄起;/*高度*/

浮點數學;/*數學*/

float c _ program/*C語言*/

浮動物理;/*大學物理*/

浮動英語;/*大學英語*/

浮動總和;/*總分*/

浮動平均值;/*平均分數*/

}學生;

學生stud[100];

int I = 0;

Int menu() /*菜單函數*/

{

int a;

系統(" graftabl 936 ");

Printf ("* * * * * * * * * * * * * * * * * *學生信息管理系統* * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");

Printf ("\ t \ t. (1)輸入學生信息\ n ");

Printf("\t\t\t.(2)顯示所有學生信息\ n ");

Printf("\t\t\t.(3)按平均升序和降序排序\ n ");

Printf("\t\t\t.(4)根據學號查找學生信息\ n ");

Printf ("\ t \ t. (5)插入學生信息\ n ");

Printf ("\ t \ t. (6)刪除學生信息\ n ");

Printf ("\ t \ t. (7)修改學生信息\ n ");

Printf ("\ t \ t. (8)從文件中讀取數據\ n ");

Printf("\t\t\t.(9)將所有記錄寫入文件\ n ");

Printf("\t\t\t.(0)退出此系統\ n \ n \ n ");

Printf ("* * * * * * * * * * * * * * * * * *學生信息管理系統* * * * * * * * * * * * * * * * * * * * \ n ");

Printf("請選擇妳想要的操作(0 ~ 9):");

scanf("%d ",& ampa);/*讀入壹個數字*/

while(a & lt;0 | | a & gt9)

{

Printf("輸入錯誤!請重新輸入:\ n ");

scanf("%d ",& ampa);/*輸入錯誤壹直流傳*/

}

系統(“cls”);/*清空屏幕*/

返回(a);/*返回a的值*/

}

int輸入(study[])

{

char flag = ' Y

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

{

Printf("請輸入該學生的班級:");

scanf("%ld ",& ampstud[i]。class _ 1);

Printf("請輸入學號:");

scanf("%ld ",& ampstud[i]。號);

Printf("請輸入學生姓名:");

scanf("%s ",stud[i].姓名);

Printf("請輸入學生身高:");

scanf("%f ",& ampstud[i]。個子高);

Printf("請輸入學生的"數學"成績:");

scanf("%f ",& ampstud[i]。數學);

Printf("請輸入學生的" C語言"成績:");

scanf("%f ",& ampstud[i]。c _ program);

Printf("請輸入學生的《大學物理》成績:");

scanf("%f ",& ampstud[i]。物理);

Printf("請輸入學生的《大學英語》成績:");

scanf("%f ",& ampstud[i]。英語);

getchar();

stud[i]。sum=stud[i]。數學+學習[i]。c_program+stud[i]。物理+stud[i]。英語;

stud[i]。平均值=stud[i]。sum/4;

Printf("該生總成績為% 6.2f \ t平均成績為% 6.2f \ n ",STUD [i]。SUM,STUD [i]。平均);

i++;

Printf("按:Y或Y繼續輸入學生信息,或按:N或n.\n "退出);

scanf("%c ",& amp旗幟);/*判斷是否繼續輸入*/

}

Printf("按任意鍵返回主菜單\ n ");

getchar();

系統(“cls”);

返回(壹);

}

Void display (student study [],int n)/*顯示所有記錄*/

{

int k;

如果(n==0)

Printf("沒有學生記錄!\ n ");

其他

{

Printf("班號,姓名,身高,數學,C語言,物理英語,平均分\ n ");

for(k = 0;k & ltn;K++) /*循環輸出*/

{

printf("%7ld ",stud[k]。class _ 1);

printf("%7ld ",stud[k]。號);

printf("%9s ",stud[k]。姓名);

printf("%7.1f ",stud[k]。個子高);

printf("%7.2f ",stud[k].數學);

printf("%7.2f ",stud[k].c _ program);

printf("%7.2f ",stud[k].物理);

printf("%7.2f ",stud[k].英語);

printf("%7.2f ",stud[k].sum);

printf("%8.2f\n ",stud[k].平均);

}

}

系統(“暫停”);

系統(“cls”);

}

void Sort(study[],int i) /*按平均分排序*/

{

int m,n,k;/*m,n是循環變量*/

學生t;

for(m = 0;m & ltI-1;M++) /* Sort */

for(n = m+1;n & lt我;n++)

if(stud[m].平均& lt螺柱。平均)

{

t =螺柱[m];

stud[m]= stud[n];

stud[n]= t;

}

Printf("排序順序:\ n ");

Printf("班號,姓名,身高,數學,C語言,物理英語,平均分\ n ");

for(k = 0;k & ltn;K++) /*循環輸出*/

{

printf("%7ld ",stud[k]。class _ 1);

printf("%7ld ",stud[k]。號);

printf("%9s ",stud[k]。姓名);

printf("%7.1f ",stud[k]。個子高);

printf("%7.2f ",stud[k].數學);

printf("%7.2f ",stud[k].c _ program);

printf("%7.2f ",stud[k].物理);

printf("%7.2f ",stud[k].英語);

printf("%7.2f ",stud[k].sum);

printf("%8.2f\n ",stud[k].平均);

}

系統(“暫停”);

系統(“cls”);

}

Void search (student study [],int I)/*查找並顯示壹條記錄*/

{

int p,k;/*p是要搜索的學號*/

char flag = ' y

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

{

Printf("請輸入要查找的學號:");

scanf("%d ",& ampp);

getchar();

for(k = 0;p!=stud[k]。數量和數量。& ampk & lt我;k++)

如果(k==i)

Printf("此學號不存在!\ n ");

其他

{

Printf("學生的信息是:\ n ");

Printf("班號,姓名,身高,數學,C語言,物理英語,平均分\ n ");

printf("%7ld ",stud[k]。class _ 1);

printf("%7ld ",stud[k]。號);

printf("%9s ",stud[k]。姓名);

printf("%7.1f ",stud[k]。個子高);

printf("%7.2f ",stud[k].數學);

printf("%7.2f ",stud[k].c _ program);

printf("%7.2f ",stud[k].物理);

printf("%7.2f ",stud[k].英語);

printf("%7.2f ",stud[k].sum);

printf("%8.2f\n ",stud[k].平均);

}

Printf("請輸入:Y或Y繼續搜索學生信息,退出:N或N,\ N ");

scanf("%c ",& amp旗幟);

}

系統(“cls”);

}

Int insert (student study [],int I)/*插入學生信息*/

{

char flag = ' Y

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

{

Printf("請進入班級插入學生:");

scanf("%ld ",& ampstud[i]。class _ 1);

Printf("請輸入要插入的學號:");

scanf("%ld ",& ampstud[i]。號);

Printf("請輸入要插入的學生姓名:");

scanf("%s ",& ampstud[i]。姓名);

Printf("請輸入要插入的學生身高:");

scanf("%f ",& ampstud[i]。個子高);

Printf("請輸入要插入的學生的"數學"成績:");

scanf("%f ",& ampstud[i]。數學);

Printf("請輸入待插入學生的" C語言"成績:");

scanf("%f ",& ampstud[i]。c _ program);

Printf("請輸入待插入學生的《大學物理》成績:");

scanf("%f ",& ampstud[i]。物理);

Printf("請輸入待插入學生的"大學英語"成績:");

scanf("%f ",& ampstud[i]。英語);

getchar();

stud[i]。sum=stud[i]。數學+學習[i]。c_program+stud[i]。物理+stud[i]。英語;

stud[i]。平均值=stud[i]。sum/4;

Printf("學生總分%6.2f\n ",stud[i]。sum);

Printf("該生平均分%6.3f\n ",stud[i]。平均);

i++;

Printf("請輸入Y或Y繼續插入學生信息,n或n退出");

scanf("%c ",& amp旗幟);/*判斷是否繼續輸入*/

}

getchar();

Printf("需要排序嗎?如有必要,按“Y”或“Y ”;無需按“N”或“N”。\ n ");

flag = getchar();

if(flag=='y'||flag=='Y ')

Sort(stud,I);

系統(“cls”);

返回(壹);

}

int Delete(study[],int I)/*根據學號刪除學生信息*/

{

龍s;

int t,p;

char a = ' Y/*判斷是否繼續*/

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

{

Printf("請輸入要刪除的學生的學號:\ n ");

scanf("%ld ",& amps);

getchar();

for(t = 0;t & lt我& amp& amps!=stud[i]。號碼;t++)

if(s==stud[t]。編號)

{

for(p = t;p & lt我;p++)

stud[p]= stud[p+1];

I = I-1;

Printf("刪除成功!\ n ");

}

Else printf("沒有找到要刪除的學號!\ n ");

Printf("繼續刪除,按' Y '或' Y '繼續,按' n '或' n '退出。\ n ");

a = getchar();/*判斷是否繼續*/

getchar();/*消除Enter鍵的影響*/

}

系統(“cls”);

返回(壹);

}

Voidchange (student study [],int I)/*修改學生信息*/

{

長p = 0;/*p用來表示要修改的學號*/

int k;/*k是循環變量*/

char a = ' y

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

{

printf(" \ t \ t學生信息修改:\ n ");

Printf("請輸入要修改的學生的學號:\ n ");

scanf("%ld ",& ampp);

for(k = 0;p!=stud[k]。數量和數量。& ampk & lt我;k++)

如果(k==i)

Printf("找不到學生的信息:\ n ");

其他

{

Printf("學生的信息是:\ n ");

Printf("班號,姓名,身高,數學,C語言,物理英語,平均分\ n ");

printf("%7ld ",stud[k]。class _ 1);

printf("%7ld ",stud[k]。號);

printf("%9s ",stud[k]。姓名);

printf("%7.1f ",stud[k]。個子高);

printf("%7.2f ",stud[k].數學);

printf("%7.2f ",stud[k].c _ program);

printf("%7.2f ",stud[k].物理);

printf("%7.2f ",stud[k].英語);

printf("%7.2f ",stud[k].sum);

printf("%8.2f\n ",stud[k].平均);

Printf("請輸入該學生的新信息:\ n ");

Printf("請輸入該學生的班級:");

scanf("%d ",& amp螺柱[k]。class _ 1);

Printf("請輸入學號:");

scanf("%d ",& amp螺柱[k]。號);

Printf("請輸入學生姓名:");

scanf("%s ",stud[k].姓名);

Printf("請輸入學生身高:");

scanf("%f ",& amp螺柱[k]。個子高);

Printf("請輸入學生的"數學"成績:");

scanf("%f ",& amp螺柱[k]。數學);

Printf("請輸入學生的" C語言"成績:");

scanf("%f ",& amp螺柱[k]。c _ program);

Printf("請輸入學生的《大學物理》成績:");

scanf("%f ",& amp螺柱[k]。物理);

Printf("請輸入學生的《大學英語》成績:");

scanf("%f ",& amp螺柱[k]。英語);

getchar();

螺柱[k]。sum=stud[k]。數學+stud[k]。c_program+stud[k]。物理+stud[k]。英語;

螺柱[k]。平均值=螺柱[k]。sum/4;

Printf("修改成功!\ n ");

}

Printf("繼續修改,按' y '或' y '繼續,按' n '或' n '退出。\ n ");

a = getchar();

}

系統(“暫停”);

系統(“cls”);

}

intread(study[],int I)/*從文件中讀取學生信息*/

{

int k = I;

FILE * fp/*定義文件類型的指針*/

字符文件名[20];/*定義文件名*/

Printf("請輸入文件名:\ n ");

scanf("%s ",& amp文件名);

If ((FP = fopen (filename," Rb))= = null)/*打開文件*/

{

Printf("無法打開文件!\ n ");/*打開失敗消息*/

返回0;

}

Printf("從文件%s讀取的數據是:\n ",文件名);

弗雷德(& ampstud[k],sizeof(學生),1,FP);

Printf("班號,姓名,身高,數學,C語言,物理英語,平均分\ n ");

而(!feof(fp))

{

printf("%7ld ",stud[k]。class _ 1);

printf("%7ld ",stud[k]。號);

printf("%9s ",stud[k]。姓名);

printf("%7.1f ",stud[k]。個子高);

printf("%7.2f ",stud[k].數學);

printf("%7.2f ",stud[k].c _ program);

printf("%7.2f ",stud[k].物理);

printf("%7.2f ",stud[k].英語);

printf("%7.2f ",stud[k].sum);

printf("%8.2f\n ",stud[k].平均);

k++;

弗雷德(& ampstud[k],sizeof(學生),1,FP);

}

fclose(FP);

Printf("讀入成功!\ n ");

系統(“暫停”);

系統(“cls”);

返回(k);

}

Void Save(Student stud[],int i) /*將所有記錄寫入文件*/

{

int k = 0;

FILE * fp/*定義文件指針*/

字符文件名[80];/*定義文件名*/

Printf("請輸入要存儲學生信息的文件名");/*輸入文件名*/

scanf("%s ",& amp文件名);

If ((FP = fopen (filename," wt")) = = null)/*打開文件*/

{

Printf("無法打開此文件!\ n ");

返回;

}

while(k & lt;我)

{

fwrite(& amp;(stud[k]),sizeof(學生),1,FP);

k++;

}

Printf("信息保存成功!\ n ");

fclose(FP);

}

int main(void)

{

int n = 0;

While(1) /*選擇要執行的語句*/

{

開關(菜單())

{

案例1:printf(" \ n * * * * * * * * *輸入學生信息* * * * * * * * ");/*輸入學生信息*/

n =輸入(螺柱);打破;

案例二:printf(" \ n * * * * * * * * * *顯示所有學生信息* * * * * * \ n ");

顯示(stud,n);打破;

情況3: printf ("\ n * * * * * * * * *按平均升序和降序排序* * * * * * \ n ");

Sort(stud,n);打破;

案例四:printf ("\ n * * * * * * * * *根據學號查找學生的信息* * * * * * \ n ");

搜索(stud,n);打破;

案例五:printf ("\ n * * * * * * *插入學生信息* * * * * * *);

n =嵌件(螺柱,n);打破;

案例6:printf(" \ n * * * * * * * * *刪除學生信息* * * * * * *);

n=Delete(stud,n);

案例7:printf(" \ n * * * * * * * * *修改學生信息* * * * * * \ n ");

change(stud,n);打破;

案例8:printf(" \ n * * * * * * * * *從文件中讀取數據* * * * * * \ n ");

n=Read(stud,n);打破;

情況9: printf ("\ n * * * * * * * *將所有記錄寫入文件* * * * * * \ n ");

Save(stud,n);打破;

案例0: printf ("\ n * * * * * * * *感謝使用!* * * * * * * \ n ");

退出(0);

}

}

返回0;

}

學生管理系統,,,這個可不行

  • 上一篇:stm32固件庫SPI操作
  • 下一篇:背包問題,頭搞大了!網上的代碼
  • copyright 2024編程學習大全網