真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

查詢成績(jī)函數(shù)c語(yǔ)言 成績(jī)查詢系統(tǒng)c語(yǔ)言程序設(shè)計(jì)

C語(yǔ)言題 學(xué)生考試成績(jī)查詢程序

#include stdio.h

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)大石橋免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

#include string.h

#include ctype.h

#include stdlib.h

#define STU_NUM 40 /* 最多的學(xué)生人數(shù) */

#define COURSE_NUM 10 /* 最多的考試科目 */

struct student

{

int number; /* 每個(gè)學(xué)生的學(xué)號(hào) */

char name[10]; /* 每個(gè)學(xué)生的姓名 */

int score[COURSE_NUM]; /* 每個(gè)學(xué)生M門功課的成績(jī) */

int sum; /* 每個(gè)學(xué)生的總成績(jī) */

float average; /* 每個(gè)學(xué)生的平均成績(jī) */

};

typedef struct student STU;

/* 函數(shù)功能: 向鏈表的末尾添加從鍵盤輸入學(xué)生的學(xué)號(hào)、姓名和成績(jī)等信息

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量n,表示學(xué)生人數(shù)

整型變量m,表示考試科目

函數(shù)返回值: 無

*/

void AppendScore(STU *head, int n, int m)

{

int j;

STU *p;

for (p=head; phead+n; p++)

{

printf("\nInput number:");

scanf("%d", p-number);

printf("Input name:");

scanf("%s", p-name);

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

{

printf("Input score%d:", j+1);

scanf("%d", p-score+j);

}

}

}

/* 函數(shù)功能: 打印n個(gè)學(xué)生的學(xué)號(hào)、姓名和成績(jī)等信息

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量n,表示學(xué)生人數(shù)

整型變量m,表示考試科目

函數(shù)返回值: 無

*/

void PrintScore(STU *head, int n, int m)

{

STU *p;

int i;

char str[100] = {'\0'}, temp[3];

strcat(str, "Number Name ");

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

{

strcat(str, "Score");

itoa(i,temp, 10);

strcat(str, temp);

strcat(str, " ");

}

strcat(str," sum average");

printf("%s", str); /* 打印表頭 */

for (p=head; phead+n; p++) /* 打印n個(gè)學(xué)生的信息 */

{

printf("\nNo.%3d%8s", p-number, p-name);

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

{

printf("%7d", p-score[i]);

}

printf("%11d%9.2f\n", p-sum, p-average);

}

}

/* 函數(shù)功能: 計(jì)算每個(gè)學(xué)生的m門功課的總成績(jī)和平均成績(jī)

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量n,表示學(xué)生人數(shù)

整型變量m,表示考試科目

函數(shù)返回值: 無

*/

void TotalScore(STU *head, int n, int m)

{

STU *p;

int i;

for (p=head; phead+n; p++)

{

p-sum = 0;

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

{

p-sum = p-sum + p-score[i];

}

p-average = (float)p-sum / m;

}

}

/* 函數(shù)功能: 用選擇法按總成績(jī)由高到低排序

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量n,表示學(xué)生人數(shù)

函數(shù)返回值: 無

*/

void SortScore(STU *head, int n)

{

int i, j, k;

STU temp;

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

{

k = i;

for (j=i; jn; j++)

{

if ((head+j)-sum (head+k)-sum)

{

k = j;

}

}

if (k != i)

{

temp = *(head+k);

*(head+k) = *(head+i);

*(head+i) = temp;

}

}

}

/* 函數(shù)功能: 查找學(xué)生的學(xué)號(hào)

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量num,表示要查找的學(xué)號(hào)

整型變量n,表示學(xué)生人數(shù)

函數(shù)返回值: 如果找到學(xué)號(hào),則返回它在結(jié)構(gòu)體數(shù)組中的位置,否則返回-1

*/

int SearchNum(STU *head, int num, int n)

{

int i;

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

{

if ((head+i)-number == num) return i;

}

return -1;

}

/* 函數(shù)功能: 按學(xué)號(hào)查找學(xué)生成績(jī)并顯示查找結(jié)果

函數(shù)參數(shù): 結(jié)構(gòu)體指針head,指向存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體數(shù)組的首地址

整型變量n,表示學(xué)生人數(shù)

整型變量m,表示考試科目

函數(shù)返回值: 無

*/

void SearchScore(STU *head, int n, int m)

{

int number, findNo;

printf("Please Input the number you want to search:");

scanf("%d", number);

findNo = SearchNum(head, number, n);

if (findNo == -1)

{

printf("\nNot found!\n");

}

else

{

PrintScore(head+findNo, 1, m);

}

}

/* 函數(shù)功能: 顯示菜單并獲得用戶鍵盤輸入的選項(xiàng)

函數(shù)參數(shù): 無

函數(shù)返回值: 用戶輸入的選項(xiàng)

*/

char Menu(void)

{

char ch;

printf("\nManagement for Students' scores\n");

printf(" 1.Append record\n");

printf(" 2.List record\n");

printf(" 3.Search record\n");

printf(" 4.Sort record\n");

printf(" 0.Exit\n");

printf("Please Input your choice:");

scanf(" %c", ch); /*在%c前面加一個(gè)空格,將存于緩沖區(qū)中的回車符讀入*/

return ch;

}

int main()

{

char ch;

int m, n;

STU stu[STU_NUM];

printf("Input student number and course number(student number40,course number10):");

scanf("%d,%d", n, m);

while (1)

{

ch = Menu(); /* 顯示菜單,并讀取用戶輸入 */

switch (ch)

{

case'1':AppendScore(stu, n, m);/* 調(diào)用成績(jī)添加模塊 */

TotalScore(stu, n, m);

break;

case'2':PrintScore(stu, n, m); /* 調(diào)用成績(jī)顯示模塊 */

break;

case'3':SearchScore(stu, n, m);/* 調(diào)用按學(xué)號(hào)查找模塊 */

break;

case'4':SortScore(stu, n); /* 調(diào)用成績(jī)排序模塊 */

printf("\nSorted result\n");

PrintScore(stu, n, m); /* 顯示成績(jī)排序結(jié)果 */

break;

case'0':exit(0); /* 退出程序 */

printf("End of program!");

break;

default:printf("Input error!");

break;

}

}

}

c語(yǔ)言中根據(jù)姓名查詢成績(jī)

#include "conio.h"

struct student

{

char name [15];

int score;

};

int find (struct student s[]);void main()

{

int i=0;

struct student stu[5];

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

{

printf("輸入第%d個(gè)學(xué)生的姓名:",i+1);

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

printf("輸入第%d個(gè)學(xué)生的成績(jī):",i+1);

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

}

int nIndex=find(stu);

if(nIndex!=-1)

printf("找到該同學(xué)信息,該同學(xué)位于第%d個(gè)位置(數(shù)組下標(biāo))",nIndex);

getch();

}int find(struct student s[])

{

char name[15];

int i=0;

int nIndex=-1;

printf("輸入要查詢學(xué)生的姓名:");

scanf("%s",name);

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

{

if(strcmp(s[i].name,name)==0)

{

nIndex=i;

break;

}

}

return nIndex;

}

c語(yǔ)言編寫查詢學(xué)生成績(jī)管理程序。

#includestdio.h

#includestdlib.h

#includestring.hstruct record

{

char xuehao[10];//學(xué)號(hào)

char name[20]; //姓名

char sex[3];//性別

int ke1;//數(shù)學(xué)

int ke2 ;//語(yǔ)文

int ke3;//英語(yǔ)

int pin;

}stu[50];

int k=1,n,m;void readfile();

void seek();

void insert();

void del();

void save();

void menu();

void seek()

{int i,j,item,flag;brchar s1[20];brprintf("------------------\n");brprintf("1.按學(xué)號(hào)查詢\n");brprintf("2.退出本菜單\n");brprintf("------------------\n");brwhile(1)br{ printf("請(qǐng)選擇子菜單編號(hào):");brscanf("%d",item);brflag=0;brswitch(item)br{brcase 1:brprintf("請(qǐng)輸入要查詢的學(xué)生的學(xué)號(hào):\n");brscanf("%s",s1);brfor(i=0;in;i++)brif(strcmp(stu[i].xuehao,s1)==0)br{ flag=1;brprintf("該學(xué)生學(xué)號(hào),姓名,性別,數(shù)學(xué),語(yǔ)文,英語(yǔ) 分別為:\n");brprintf(" %s %s %s %d %d %d",stu[i].xuehao,stu[i].name,brstu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3);br}

if(flag==0)

printf("該學(xué)號(hào)不存在!\n"); break;

case 2:return;

default:printf("請(qǐng)?jiān)?-2之間選擇\n");

}

}

}

void insert()

{ int i=n,j,flag;

printf("請(qǐng)輸入待增加的學(xué)生數(shù):\n");

scanf("%d",m);

do

{ flag=1;

while(flag)

{ flag=0;

printf("請(qǐng)輸入第 %d 個(gè)學(xué)生的學(xué)號(hào):\n",i+1);

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

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

if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)

{ printf("已有該學(xué)號(hào),請(qǐng)檢查后重新錄入!\n");

flag=1;

break;

}

}

printf("請(qǐng)輸入第 %d 個(gè)學(xué)生的姓名:",i+1);

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

printf("\n請(qǐng)輸入第 %d 個(gè)學(xué)生的性別:",i+1);

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

printf("\n請(qǐng)輸入第 %d 個(gè)學(xué)生的數(shù)學(xué)成績(jī):",i+1);

scanf("%d",stu[i].ke1);

printf("\n請(qǐng)輸入第 %d 個(gè)學(xué)生的語(yǔ)文成績(jī):",i+1);

scanf("%d",stu[i].ke2);

printf("\n請(qǐng)輸入第 %d 個(gè)學(xué)生的英語(yǔ)成績(jī):",i+1);

scanf("%d",stu[i].ke3);if(flag==0)

{ i=i;

i++;

}

}while(in+m);

n+=m;

printf("錄入完畢!\n\n");

}void del()

{ int i,j,flag=0;

char s1[20];

printf("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):\n");

scanf("%s",s1);

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

if(strcmp(stu[i].xuehao,s1)==0)

{ flag=1;

for(j=i;jn-1;j++)

stu[j]=stu[j+1];

}

if(flag==0)

printf("該學(xué)號(hào)不存在!\n");

if(flag==1)

{ printf("刪除成功,顯示結(jié)果請(qǐng)選擇菜單6\n");

n--;

}

}

void readfile()

{

char buf[80],*p="student.dat";

FILE *fp;

int i=0;

if ((fp=fopen("student.dat","r"))==NULL)

{ printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,

stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3)==6)

{ i++;

i=i;

}

fclose(fp);

n=i;

printf("錄入完畢!\n");

}void save()

{ int i,j,k,flag=0;

FILE *fp;

fp=fopen("student.dat","w");

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

{

fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,stu[i].ke1,

stu[i].ke2,stu[i].ke3);

fclose(fp);

printf("已儲(chǔ)存");

}

}

void paixu()

{

int i,j,k,t;

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

{

stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3;

}

for(i=0;i=m-2;i++)

{

k=i;

for(j=i+1;j=m-1;j++)

if(stu[j].pinstu[k].pin)

k=j;

if(k!=i)

{

t=stu[k].pin;

stu[k].pin=stu[i].pin;

stu[i].pin=t;

}

}

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

{printf("第 %d 個(gè)學(xué)生的姓名%s:",i+1,stu[i].name);br printf("\n第 %d 個(gè)學(xué)生的性別:%s",i+1,stu[i].sex);br printf("\n第 %d 個(gè)學(xué)生的數(shù)學(xué)成績(jī):%d",i+1,stu[i].ke1);br printf("\n第 %d 個(gè)學(xué)生的語(yǔ)文成績(jī):%d",i+1,stu[i].ke2);br printf("\n第 %d 個(gè)學(xué)生的英語(yǔ)成績(jī):%d",i+1,stu[i].ke3);br printf("\n第 %d 個(gè)學(xué)生的平均成績(jī):%d",i+1,stu[i].pin);br }

}

void menu()

{ int nub;

printf(" \n\n學(xué)生成績(jī)管理系統(tǒng)\n\n");

printf("*****系統(tǒng)功能菜單*****\n");

printf("----------------------\n");

printf("1.輸入學(xué)生信息\n");

printf("2.查詢學(xué)生信息\n");

printf("3.按學(xué)號(hào)刪除信息\n");

printf("4.讀入學(xué)生信息\n");

printf("5.保存信息(要把修改保存到文件,退出程序前必須執(zhí)行本項(xiàng))\n");

printf("6.查詢學(xué)生平均成績(jī)信息\n");

printf("0.退出系統(tǒng)\n");

printf("----------------------\n");

printf("請(qǐng)選擇菜單編號(hào):");

scanf("%d",nub);

switch(nub)

{

case 1:insert();break;

case 2:seek();break;

case 3:del();break;

case 4:readfile();break;

case 5:save();break;

case 6:paixu();break;

case 0:k=0;break;

default:printf("請(qǐng)?jiān)?-6之間選擇\n");

}}

void main()

{

while(k)

menu();

}

//平均數(shù)是排序后,輸出的,如果你不想直接輸入,那就不要對(duì)每個(gè)學(xué)生進(jìn)行選擇排序了

C語(yǔ)言表若干學(xué)生成績(jī)函數(shù)

寫了個(gè)創(chuàng)建和查找函數(shù):

#include?stdio.h

#include?string.h

#include?stdlib.h

typedef?struct?Information

{

char?no[20];

int?english;

int?math;

int?computer;

struct?Information?*next;

}INFORMATION,?*PINFORMATION;

PINFORMATION?head?=?NULL;

void?createLink()

{

int?n,?i;

PINFORMATION?p,?q;

printf?("請(qǐng)輸入?個(gè)學(xué)生的信息:");

scanf?("%d",?n);

head?=?(PINFORMATION)malloc(sizeof(INFORMATION));

head-next?=?NULL;

p?=?head;

for?(i?=?1;?i?=?n;?++i){

q?=?(PINFORMATION)malloc(sizeof(INFORMATION));

fflush(stdin);

printf?("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",?i);

scanf?("%s",?q-no);

printf?("請(qǐng)輸入第%d個(gè)學(xué)生的英語(yǔ)成績(jī):",?i);

scanf?("%d",?q-english);

printf?("請(qǐng)輸入第%d個(gè)學(xué)生的數(shù)學(xué)成績(jī):",?i);

scanf?("%d",?q-math);

printf?("請(qǐng)輸入第%d個(gè)學(xué)生的計(jì)算機(jī)成績(jī):",?i);

scanf?("%d",?q-computer);

q-next?=?NULL;

p-next?=?q;

p?=?p-next;

}

}

void?searchInformation()

{

char?no[20];

PINFORMATION?p?=?head-next;

int?flag?=?0;

printf?("請(qǐng)輸入要查找的學(xué)生學(xué)號(hào):");

fflush(stdin);

scanf?("%s",?no);

while?(p?!=?NULL){

if?(strcmp(p-no,??no)==0){

flag?=?1;

break;

}

p?=?p-next;

}

if?(flag){

printf?("學(xué)號(hào):%s\t英語(yǔ)成績(jī):%d\t數(shù)學(xué)成績(jī):%d\t計(jì)算機(jī)成績(jī):%d\n",?p-no,?p-english,?p-math,?p-computer);

}

else?{

printf?("沒有找到學(xué)號(hào)為%s的學(xué)生記錄!\n",?no);

}

}

int?main()

{

createLink();

searchInformation();

return?0;

}

用C語(yǔ)言寫一個(gè)成績(jī)查詢系統(tǒng)。

#includestdlib.h

#includestdio.h

#includestring.h

#includeconio.h

#define N 10

/*****定義結(jié)構(gòu)體*****/

typedef struct students /*標(biāo)記為students*/

{

char num[10]; /*學(xué)生學(xué)號(hào)*/

char name[10]; /*學(xué)生姓名*/

int age; /*年齡*/

char sex[10]; /*性別*/

float cyy; /*C語(yǔ)言成績(jī)*/

float computer; /*計(jì)算機(jī)成績(jī)*/

float english; /*英語(yǔ)成績(jī)*/

float pj; /*平均成績(jī)*/

}STU;

STU temp;

void sort(STU students[],int n); //排序

void save(STU students[] ,int n);//導(dǎo)出

int Locate(STU students[],int n);//查詢

/*--------------顯示菜單--------------------*/

char displaymenu()

{

char k;

system("cls");

printf(" 學(xué)生成績(jī)管理 \n");

printf("-----------------------------------應(yīng)用菜單-------------------------------------\n");

printf(" 1 輸入學(xué)生成績(jī)\n\n");

printf(" 2 輸出學(xué)生成績(jī)\n\n");

printf(" 3 查詢學(xué)生成績(jī)\n\n");

printf(" 4 修改學(xué)生成績(jī)\n\n");

printf(" 5 查看成績(jī)排序\n\n");

printf(" 6 查看成績(jī)統(tǒng)計(jì)\n\n");

printf(" 7 保存數(shù)據(jù)\n\n");

printf(" 8 讀取數(shù)據(jù)\n\n");

printf(" 9 退出系統(tǒng)\n\n");

printf(" 請(qǐng)選擇你想進(jìn)行的操作:");

k=getchar();

return k;

}

/*****定義輸出函數(shù)*****/

void printheader() /*格式化輸出表頭*/

{

printf("\n\n************************學(xué)生成績(jī)管理系統(tǒng)****************************\n\n\n");

printf("| 學(xué)號(hào) | 姓名 | 年齡 | 性別 | C語(yǔ)言成績(jī) |計(jì)算機(jī)成績(jī) | 英語(yǔ)成績(jī)| 平均成績(jī) | \n");

}

void printdata(STU pp) /*格式化輸出表中數(shù)據(jù)*/

{

STU* p;

p=pp;

printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p-num,p-name,p-age,p-sex,p-cyy,p-computer,p-english,p-pj);

}

/*****添加學(xué)生信息*****/

int add(STU students[] ,int *n)

{

int i=0;

system("cls");

printf(" \n");

printf(" 請(qǐng)輸入學(xué)生信息 \n");

printf(" 退出請(qǐng)?jiān)趯W(xué)生號(hào)處輸入:0 \n");

printf("請(qǐng)輸入學(xué)生學(xué)號(hào):\n ");

scanf("%s",students[i].num);

while(strcmp(students[i].num,"0") )//當(dāng)輸入的學(xué)號(hào)為0時(shí)結(jié)束輸入

{

printf("請(qǐng)輸入學(xué)生姓名:\n ");

scanf("%s",students[i].name);

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

printf("請(qǐng)輸入學(xué)生年齡:\n ");

scanf("%d",students[i].age);

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

printf("請(qǐng)輸入學(xué)生性別:\n");

scanf("%s",students[i].sex);

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

printf("請(qǐng)輸入C語(yǔ)言成績(jī):\n ");

scanf("%f",students[i].cyy);

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

printf("請(qǐng)輸入計(jì)算機(jī)成績(jī):\n ");

scanf("%f",students[i].computer);

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

printf("請(qǐng)輸入英語(yǔ)成績(jī):\n ");

scanf("%f",students[i].english);

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

students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;

printf("學(xué)生平均成績(jī): %-8.0f\n",students[i].pj);

i++;

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

printf("請(qǐng)輸入學(xué)生學(xué)號(hào):\n ");

scanf("%s",students[i].num);

}

*n=i;

save(students ,i);

return i;

}

/*****查詢學(xué)生信息函數(shù)*****/

int Locate(STU students[],int n)

{

int k,m=-1;

char num[10],name[20];

int i=0;

system("cls");

printf(" 退出請(qǐng)輸入:0 \n");

printf("請(qǐng)選擇以什么方式查詢:1).按學(xué)生學(xué)號(hào)查詢 2).按學(xué)生姓名查詢 \n");

scanf("%d",k);

if(k==1)

{

printf("請(qǐng)輸入你要查詢的學(xué)生學(xué)號(hào):\n");

scanf("%s",num);

while(in)

{

if(strcmp(students[i].num,num)==0) /*若找到學(xué)號(hào)*/

{

printf("學(xué)生學(xué)號(hào):%s\n*學(xué)生姓名:%s\n*學(xué)生年齡:%d\n*學(xué)生性別:%s\nC語(yǔ)言成績(jī):%-8.0f\n計(jì)算機(jī)成績(jī):%-8.0f\n英語(yǔ)成績(jī):%-8.0f\n平均成績(jī):%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("沒有所找學(xué)生信息\n");

getchar();

}

else if(k==2)

{

printf("請(qǐng)輸入你要查詢的學(xué)生姓名:\n");

scanf("%s",name);

while(in)

{

if(strcmp(students[i].name,name)==0) /*若找到姓名*/

{ printf("學(xué)生學(xué)號(hào):%s\n學(xué)生姓名:%s\n學(xué)生年齡:%d\n學(xué)生性別:%s\n學(xué)生C語(yǔ)言成績(jī):%-8.0f\n計(jì)算機(jī)成績(jī):%-8.0f\n英語(yǔ)成績(jī):%-8.0f\n平均成績(jī):%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("沒有所找學(xué)生信息\n");

}

return m;/*返回一個(gè)根m便于修改學(xué)生信息*/

getchar();

}

/*****顯示函數(shù)*****/

void input(STU students[],int n)

{

int i;

system("cls"); //清屏

if(n==0) /*表示沒有學(xué)生信息記錄*/

{

printf("\n沒有學(xué)生記錄!\n");

}

printf("\n\n");

printheader(); /*輸出表格頭部*/

i=0;

while(in) /*逐條輸出數(shù)組中存儲(chǔ)的學(xué)生信息*/

{

printdata(students[i]);

i++;

}

getchar();

}

/*****修改子程序*****/

void Modify(STU students[],int n)

{

int i;

if(n=0)

{

system("cls");

printf(" \n退出請(qǐng)輸入:0 \n");

printf("\n----------not found!----------\n");

getchar();

return ;

}

system("cls");

printf("修改學(xué)生信息");

input(students,n);

i=Locate(students,n); /*查詢到該數(shù)組元素,并返回下標(biāo)值*/

if(i!=-1) /*若i!=-1,表明已經(jīng)找到該數(shù)組元素*/

{

printf("請(qǐng)輸入新的學(xué)生信息: \n");

printf(" 學(xué)號(hào): ");

scanf("%s",students[i].num);

printf(" 姓名: ");

scanf("%s",students[i].name);

printf(" 年齡: ");

scanf("%d",students[i].age);

printf(" 性別: ");

scanf("%s",students[i].sex);

printf(" C語(yǔ)言: ");

scanf("%f",students[i].cyy);

printf(" 英語(yǔ): ");

scanf("%f",students[i].english);

printf(" 計(jì)算機(jī): ");

scanf("%f",students[i].computer);

students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;

printf("平均成績(jī): %-9.0f\n",students[i].pj);

save(students ,n);

printf("\n-------------修改成功!-------------\n");

}

else

printf("not found!\n");

getchar();

}

/*****學(xué)生成績(jī)排序子程序*****/

void sort(STU students[],int n)

{

int i,j,a,b,c,d,e,f,k;

float p;

printf(" \n退出請(qǐng)輸入:0 \n");

printf("成績(jī)排序方式選擇: 1.按C語(yǔ)言 2.按英語(yǔ) 3.按平均 \n ");

scanf("%d",k);

if(k==1) /*用選擇法對(duì)C語(yǔ)言排序*/

{

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

for(j=0;jn-1;j++)

{

if(students[i].englishstudents[j+1].english)

{

temp=students[i];

students[i]=students[j+1];

students[j+1]=temp;

}

}

}

else if(k==2)/*英語(yǔ)用冒泡法*/

{

for(a=0; an-1; a++)

{

c=a;

//未完待續(xù)

C語(yǔ)言程序設(shè)計(jì)學(xué)生成績(jī)查詢系統(tǒng)

#include"stdio.h"

#include"string.h"

#define N 1000

void menu();

int password();

int dedao();

int uninque(struct STUDENT shu[],int len,int xuehao);

void shuchu(struct STUDENT shu[],int len);

void send(struct STUDENT shu[],int len);

int readFromFile(struct STUDENT shu[]);

void chaxun(struct STUDENT shu[],int len);

void paixu(struct STUDENT shu[],int len);

struct STUDENT

{

int num;

char name[10];

int score;

} shu[N];

main()

{ int len=0,key,choice;

do {

key=password();

}while(key==0);

while(1)

{ menu();

printf("請(qǐng)輸入選項(xiàng)1,2,3,4,5,6,7\n");

scanf("%d",choice);

switch(choice)

{

case 1:printf("輸入信息函數(shù)\n"); len=dedao(shu,len); break;

case 2:printf("輸出函數(shù)被調(diào)用\n"); shuchu(shu,len); break;

case 3:printf("保存到文件函數(shù)被調(diào)用\n"); send(shu,len); break;

case 4:printf("從文件讀函數(shù)被調(diào)用\n"); len=readFromFile( shu); break;

case 5:printf("按學(xué)號(hào)查詢函數(shù)被調(diào)用\n"); chaxun(shu,len); break;

case 6:printf("按成績(jī)排序函數(shù)被調(diào)用\n"); paixu(shu,len); break ;

case 7:exit(0);break;

}

}

}

void menu()

{

printf("\n");

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

printf(" * 學(xué)生成績(jī)管理系統(tǒng)2.0 *\n");

printf(" * 1.輸入信息 *\n");

printf(" * 2.輸出信息 *\n");

printf(" * 3.保存到文件 *\n");

printf(" * 4.從文件讀 *\n");

printf(" * 5.按學(xué)號(hào)查詢 *\n");

printf(" * 6.按成績(jī)排序(由大到小) *\n");

printf(" * 7.程序結(jié)束 *\n");

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

}

int password()

{

char a[100];

char key[]="asd";

printf("請(qǐng)輸入密碼\n");

scanf("%s",a);

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

return 1;

else

return 0;

}

int dedao(struct STUDENT shu[],int len)

{ int i=len;

int flag=0;

int xuehao,bank,chengji;

while(iN)

{

while(1)

{

printf("學(xué)號(hào)");

scanf("%d",xuehao);

if(xuehao==0)

{ flag=1;

break;

}

bank=uninque(shu,i,xuehao);

if(bank==0)

{ shu[i].num=xuehao;

break;}

}

if(flag==1)

break;

printf("姓名");

scanf("%s",shu[i].name);

while (1)

{

printf("成績(jī)");

if(scanf("%d",chengji)==1)

{break;}

printf("輸入格式錯(cuò)誤,請(qǐng)重新輸入!");

while(getchar()!='\n')

continue;

}

while(getchar()!='\n')

continue;

shu[i].score=chengji;

i++;

}

return i;

}

int uninque(struct STUDENT shu[],int len,int xuehao)

{ int i;

int bank=0;

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

{

if(xuehao==shu[i].num)

bank=1;

}

return bank;

}

void shuchu(struct STUDENT shu[],int len)

{

int i;

printf("%-4s %-10s %-3s","學(xué)號(hào)","姓名","成績(jī)\n\n");

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

{

printf("%-4d %-10s %-3d",shu[i].num,shu[i].name,shu[i].score);

printf("\n");

}

printf("\n\n");

}

void send(struct STUDENT shu[],int len)

{

int i;

FILE *fp;

fp=fopen("d:\\chegnji.txt","wb");

if(fp==NULL)

{

printf("打開文件出錯(cuò)!\n");

exit(0);

}

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

fwrite(shu+i,sizeof(struct STUDENT),1,fp);

fclose(fp);

}

int readFromFile(struct STUDENT shu[])

{

FILE *fp=NULL;

int i=0;

fp=fopen("d:\\chegnji.txt","rb");

if(fp!=NULL)

{

printf("%-4s %-10s %-3s","學(xué)號(hào)","姓名","成績(jī)\n\n");

while(!feof(fp))

{

if(i=N)

break;

if(fread(shu+i,sizeof(struct STUDENT),1,fp))

printf("%-4d %-10s %-3d",shu[i].num,shu[i].name,shu[i].score);

printf("\n");

i++;

}

fclose(fp);

}

i=i-1;

return i;

}

void chaxun(struct STUDENT shu[],int len)

{

int i,nue,b=0;

while(1)

{printf("input the student number (input'0' close) ");

scanf("%d",nue);

b=0;

if(nue==0)

break;

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

{

if(nue==shu[i].num)

{ printf("%-4s %-10s %-3s","學(xué)號(hào)","姓名","成績(jī)\n\n");

printf("%-4d %-10s %-3d\n",shu[i].num,shu[i].name,shu[i].score);

b=1;

}

}

if(b==0)

printf("The number is not exist!\n");

}

}

void paixu(struct STUDENT shu[],int len)

{

int i,j;

struct STUDENT temp;

printf("%-4s %-10s %-3s","學(xué)號(hào)","姓名","成績(jī)\n\n");

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

{

for(j=i;jlen;j++)

{

if(shu[j].scoreshu[i].score)

{

temp=shu[j];

shu[j]=shu[i];

shu[i]=temp;

}

}

printf("%-4d %-10s %-3d\n",shu[i].num,shu[i].name,shu[i].score);

}

}


網(wǎng)頁(yè)名稱:查詢成績(jī)函數(shù)c語(yǔ)言 成績(jī)查詢系統(tǒng)c語(yǔ)言程序設(shè)計(jì)
URL分享:http://weahome.cn/article/hhhjse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部