成績管理c語言,成績管理C語言項目

本文目錄一覽:

成績管理系統用C語言做

#include stdio.h

#include stdlib.h

#include string.h

#include math.h

#include windows.h

#include conio.h

typedef struct student

{

//1、數據結構:學號 姓名 數學 英語 語文 C語言 總分 平均分

int num;

char name[10];

int math;

int english;

int chinese;

int cl;

int mark;

double average;

} student;

void Menu(); //主菜單

void Password(char *password);//密碼驗證

void Student_file(student people[]);//輸入數據

void Save(student people[]);//保存檔案

void Search();//查找學生檔案

void Search_Name(student people[]);//按照姓名查找學生信息

void Search_Num(student people[]);//按照學號查找學生信息

void Student_Add(); //添加學生檔案

void Student_Del(); //刪除學生檔案

void Student_Pass_Rate(); //學科及格概率

void Student_Sort(); //總分由高到低排序

void Student_Average(); //學科平均分

void Student_All_Del(); //刪除所有學生檔案

//void Student_Change_Password(); //修改密碼

void Student_Stat();//統計各分數段人數並輸出各科補考名單

int main()

{

FILE *fpn;

int s,n; //選項和人數

char password[50]=”123456″; //初始密碼

student people[50]; //支持的最大人數

system(“color 4e”);

system(“title 學生信息管理系統”);

Password(password);

for(;;)

{

Menu();

printf(“請輸入選項:”);

scanf(“%d”,s);

switch(s)

{

case 1:

printf(“請輸入人數:”);

scanf(“%d”,n);

if((fpn=fopen(“n.dat”,”wb”))==NULL)

{

printf(“Error!”);

exit(0);

}

fputc(n,fpn);

fclose(fpn);

Student_file(people);

break;

case 2:

Search_Name(people);

break;

case 3:

Search_Num(people);

break;

case 4:

Student_Add();

break;

case 5:

Student_Del();

break;

case 6:

Student_Pass_Rate();

break;

case 7:

Student_Sort();

break;

case 8:

Save(people);

break;

case 9:

Search();

system(“pause”);

break;

case 10:

Student_Average();

break;

case 11:

Student_All_Del();

break;

case 12:

Student_Stat();

break;

case 0:

exit(0);

break;

}

}

return 0;

}

void Menu()

{

system(“cls”);

printf(” 學生信息管理系統\n”);

printf(“**********************菜單****************************\n”);

printf(“按1鍵:讀入學生檔案 按6鍵:學科及格概率\n”);

printf(“按2鍵:按照姓名查詢 按7鍵:學生檔案排序\n”);

printf(“按3鍵:按照學號查詢 按8鍵:保存學生檔案\n”);

printf(“按4鍵:添加學生檔案 按9鍵: 查看學生檔案\n”);

printf(“按5鍵:刪除學生檔案 按10鍵:求各科平均分\n”);

printf(“按0鍵:退出管理系統 按11鍵:刪除所有學生檔案\n”);

printf(“按12鍵:統計各分數段人數並輸出各科補考名單\n”);

printf(“******************************************************\n”);

}

void Password(char *password)

{

int i,j;

char p;

char password2[50];

printf(“請輸入登錄密碼:”);

for(i=2; i=0; i–)

{

j=0;

while((p=getch())!=’\r’)

{

password2[j]=p;

printf(“*”);

j++;

}

password2[j]=’\0′;

if((strcmp(password,password2))==0)

{

printf(“密碼輸入正確!\n”);

break;

}

else

{

if(i0)

printf(“\n密碼輸入錯誤,請重新輸入(還有%d次機會):”,i);

else

printf(“密碼輸入錯誤,退出程序!\n”);

}

}

if(i0)

{

exit(0);

}

}

void Student_file(student people[])

{

int i,flag,j;

FILE *fpn;

int n,NUMS;

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

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

{

system(“cls”);

printf(“請輸入第%d個同學的數據:\n”,i+1);

printf(“學號:”);

//scanf(“%d”,people[i].num);

//Inputnum(people,n,i);

scanf(“%d”,NUMS); //外面聲明一個int型變數NUM

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

{

if(people[j].num==NUMS)

{

flag=1; //標誌位,有重複就置1,需要外面聲明

break;

}

}

if(flag==1)

{

i–;

printf(“學號重複!請按任意鍵重新輸入!\n”);

system(“pause”);

continue;

}

else

{

people[i].num = NUMS;

}

printf(“姓名:”);

scanf(“%s”,people[i].name);

printf(“數學成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入數學成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people[i].math=NUMS;

printf(“英語成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入英語成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people[i].english=NUMS;

printf(“語文成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入語文成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people[i].chinese=NUMS;

printf(“C語言成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入C語言成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people[i].cl=NUMS;

people[i].mark=people[i].math + people[i].english + people[i].chinese + people[i].cl;

people[i].average=(double)(people[i].math+people[i].english+people[i].chinese+people[i].cl)/4.0;

}

Save(people);

}

void Search()

{

FILE *fpn,*fp1;

int i;

int n;

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp1=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp1);

fclose(fp1);

printf(“學號 姓名 數學 英語 語文 C語言 總分 平均分\n”);

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

{

printf(“%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n”,people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);

}

}

void Save(student people[])

{

FILE *fp,*fpn;

int n;

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”wb”))==NULL)

{

printf(“保存檔案失敗!\n”);

exit(0);

}

fwrite(people,sizeof(student),n,fp);

fclose(fp);

printf(“保存成功!\n”);

system(“pause”);

}

void Search_Name(student people[])

{

FILE *fpn,*fp1;

int i;

int n;

student people2[50];

char Name2[20];

printf(“請輸入要查找的姓名:”);

scanf(“%s”,Name2);

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp1=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp1);

fclose(fp1);

printf(“學號 姓名 數學 英語 語文 C語言 總分 平均分 \n”);

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

{

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

{

printf(“%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n”,people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);

break;

}

}

if(i==n)

{

printf(“您要查找的姓名不存在!\n”);

}

system(“pause”);

}

void Search_Num(student people[])

{

FILE *fpn,*fp1;

int i;

int n;

student people2[50];

int Num2;

printf(“請輸入要查找的學號:”);

scanf(“%d”,Num2);

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp1=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp1);

fclose(fp1);

printf(“學號 姓名 數學 英語 語文 C語言 總分 平均分 \n”);

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

{

if(people2[i].num==Num2)

{

printf(“%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n”,people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);

break;

}

}

if(i==n)

{

printf(“您要查找的學號不存在!\n”);

}

system(“pause”);

}

void Student_Add()

{

FILE *fp,*fpn;

int n,NUMS,i,flag;

//int b;

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

n=n+1;

if((fpn=fopen(“n.dat”,”wb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fputc(n,fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

printf(“請輸入第%d個同學的數據:\n”,n);

printf(“學號:”);

for(;;)

{

scanf(“%d”,NUMS);

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

{

if(NUMS==people2[i].num)

{

flag=1;

break;

}

else

{

flag=0;

}

}

if(flag==1)

{

printf(“學號重複!請重新輸入學號:”);

}

if(flag==0)

{

break;

}

}

people2[n-1].num=NUMS;

printf(“姓名:”);

scanf(“%s”,people2[n-1].name);

printf(“數學成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入數學成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people2[n-1].math=NUMS;

printf(“英語成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入英語成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people2[n-1].english=NUMS;

printf(“語文成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入語文成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people2[n-1].chinese=NUMS;

printf(“C語言成績:”);

for(;;)

{

scanf(“%d”,NUMS);

if(NUMS0||NUMS100)

{

printf(“成績超出程序規定範圍,請重新輸入C語言成績:”);

flag=0;

}

else

{

flag=1;

}

if(flag==1)

break;

}

people2[n-1].cl=NUMS;

people2[n-1].mark=people2[n-1].math + people2[n-1].english + people2[n-1].chinese + people2[n-1].cl;

people2[n-1].average=(double)(people2[n-1].math+people2[n-1].english+people2[n-1].chinese+people2[n-1].cl)/4.0;

if((fp=fopen(“stu.dat”,”wb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fwrite(people2,sizeof(student),n,fp);

fclose(fp);

printf(“添加成功!\n”);

/*printf(“是否繼續添加?0(否) / 1(是):”);

scanf(“%d”,b);

switch(b)

{

case 1:

Student_Add();

break;

case 0:

break;

}*/

system(“pause”);

}

void Student_Del()

{

FILE *fp,*fpn;

int n,nums,i,j;

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

printf(“請輸入要刪除學生的學號:”);

scanf(“%d”,nums);

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

{

if(people2[i].num==nums)

{

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

{

people2[j]=people2[j+1];

}

break;

}

}

n=n-1;

if((fpn=fopen(“n.dat”,”wb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fputc(n,fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”wb”))==NULL)

{

printf(“打開檔案失敗!\n”);

exit(0);

}

fwrite(people2,sizeof(student),n,fp);

fclose(fp);

printf(“刪除檔案成功!\n”);

system(“pause”);

}

void Student_Pass_Rate()

{

FILE *fp,*fpn;

int n,smp=0,sep=0,scp=0,sclp=0,i;//數學 英語 語文 c語言的及格的人數

double mp,ep,cp,clp;// 及格率

int count1=0,count2=0,count3=0,count4=0;//及格的人數

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

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

{

if(people2[i].math = 60)

{

smp++;

count1++;

}

if(people2[i].english = 60)

{

sep++;

count2++;

}

if(people2[i].chinese = 60)

{

scp++;

count3++;

}

if(people2[i].cl = 60)

{

sclp++;

count4++;

}

}

//mp,ep,cp,clp

mp=((double)(smp))/n;

ep=((double)(sep))/n;

cp=((double)(scp))/n;

clp=((double)(sclp))/n;

printf(“總人數為:%d\n”,n);

printf(“各科的及格率和不及格率分別為:\n”);

printf(“\n數學:\n及格率%.2lf\t不及格率%.2lf\t不及格人數為:%d\n”,mp,1-mp,n-count1);

printf(“\n英語:\n及格率%.2lf\t不及格率%.2lf\t不及格人數為:%d\n”,ep,1-ep,n-count2);

printf(“\n語文:\n及格率%.2lf\t不及格率%.2lf\t不及格人數為:%d\n”,cp,1-cp,n-count3);

printf(“\nC語言:\n及格率%.2lf\t不及格率%.2lf\t不及格人數為:%d\n”,clp,1-clp,n-count4);

system(“pause”);

}

void Student_Sort()

{

FILE *fp,*fpn;

int n,i,j;

student people2[50];

student temp;

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

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

{

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

{

if(people2[j].markpeople2[j+1].mark)

{

temp=people2[j];

people2[j]=people2[j+1];

people2[j+1]=temp;

}

}

}

printf(“學號 姓名 數學 英語 語文 C語言 總分 平均分 \n”);

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

{

printf(“%-8d\t%-8s\t%-8d\t%-8d\t%-8d\t%-8d\t%-8d\t%-8.2lf\n”,people2[i].num,people2[i].name,people2[i].math,people2[i].english,people2[i].chinese,people2[i].cl,people2[i].mark,people2[i].average);

}

system(“pause”);

}

void Student_Average()

{

FILE *fp,*fpn;

int n,i;

double smp=0,sep=0,scp=0,sclp=0; //數學 英語 語文 c語言的總分

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

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

{

smp+=people2[i].math;

sep+=people2[i].english;

scp+=people2[i].chinese;

sclp+=people2[i].cl;

}

smp=smp/n;

sep=sep/n;

scp=scp/n;

sclp=sclp/n;

printf(“各科的平均分為:\n”);

printf(“數學: %.2lf\n”,smp);

printf(“英語: %.2lf\n”,sep);

printf(“語文: %.2lf\n”,scp);

printf(“C語言: %.2lf\n”,sclp);

system(“pause”);

}

void Student_All_Del()

{

FILE *fpn,*fp1;

int i;

int n=0;

student people2[50];

printf(“是否選擇刪除所有學生的檔案? 0(否) / 1(是):”);

scanf(“%d”,i);

switch(i)

{

case 1:

if((fpn=fopen(“n.dat”,”wb”))==NULL)

{

printf(“Error!”);

exit(0);

}

fputc(n,fpn);

fclose(fpn);

if((fp1=fopen(“stu.dat”,”wb”))==NULL)

{

printf(“刪除檔案失敗!\n”);

exit(0);

}

fwrite(people2,sizeof(student),0,fp1);

fclose(fp1);

printf(“刪除成功!\n”);

break;

case 0:

printf(“已經取消刪除操作!\n”);

break;

}

system(“pause”);

}

void Student_Stat()

{

FILE *fp,*fpn;

int n,i,j,k,l,p;//數學 英語 語文 c語言的及格的人數

int count[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//人數分布:0~59 60~74 75~89 90~100

/*count[1]shuxue count[2]yingyu count[3]yuwen count[4]cyuyan*/

int swap[4][50];

student people2[50];

if((fpn=fopen(“n.dat”,”rb”))==NULL)

{

printf(“Error!\n”);

exit(0);

}

n=fgetc(fpn);

fclose(fpn);

if((fp=fopen(“stu.dat”,”rb”))==NULL)

{

printf(“查看檔案失敗!\n”);

exit(0);

}

fread(people2,sizeof(student),n,fp);

fclose(fp);

for(i=0,j=0,k=0,l=0,p=0; in; i++)

{

if(0 = people2[i].math people2[i].math 60)

{

count[0][0]++; //記錄不及格的人數

swap[0][j]=i; //記錄不及格人數的位置

j++;

}

if(60 = people2[i].math people2[i].math 75)

{

count[0][1]++;

}

if(75 = people2[i].math people2[i].math 90)

{

count[0][2]++;

}

if(90 = people2[i].math people2[i].math = 100)

{

count[0][3]++;

}

if(0 = people2[i].english people2[i].english 60)

{

count[1][0]++; //記錄不及格的人數

swap[1][k]=i; //記錄不及格人數的位置

k++;

}

if(60 = people2[i].english people2[i].english 75)

{

count[1][1]++;

}

if(75 = people2[i].english people2[i].english 90)

{

count[1][2]++;

}

if(90 = people2[i].english people2[i].english =100)

{

count[1][3]++;

}

if( 0 = people2[i].chinese people2[i].chinese 60)

{

count[2][0]++; //記錄不及格的人數

swap[2][l]=i; //記錄不及格人數的位置

l++;

}

if( 60 = people2[i].chinese people2[i].chinese 75)

{

count[2][1]++;

}

if( 75 = people2[i].chinese people2[i].chinese 90)

{

count[2][2]++;

}

if( 90 = people2[i].chinese people2[i].chinese = 100)

{

count[2][3]++;

}

if(0 = people2[i].cl people2[i].cl 60)

{

count[3][0]++; //記錄不及格的人數

swap[3][p]=i; //記錄不及格人數的位置

p++;

}

if(60 = people2[i].cl people2[i].cl 75)

{

count[3][1]++;

}

if(75 = people2[i].cl people2[i].cl 90)

{

count[3][2]++;

}

if(90 = people2[i].cl people2[i].cl = 100)

{

count[3][3]++;

}

}

printf(“總人數為:%d\n”,n);

printf(“在0-59範圍內的各科人數:\n”);

printf(“數學:%d\t英語:%d\t語文:%d\tC語言:%d\n”,count[0][0],count[1][0],count[2][0],count[3][0]);

printf(“在60-74範圍內的各科人數:\n”);

printf(“數學:%d\t英語:%d\t語文:%d\tC語言:%d\n”,count[0][1],count[1][1],count[2][1],count[3][1]);

printf(“在75-89範圍內的各科人數:\n”);

printf(“數學:%d\t英語:%d\t語文:%d\tC語言:%d\n”,count[0][2],count[1][2],count[2][2],count[3][2]);

printf(“在90-100範圍內的各科人數:\n”);

printf(“數學:%d\t英語:%d\t語文:%d\tC語言:%d\n”,count[0][3],count[1][3],count[2][3],count[3][3]);

printf(“**********************************************************************\n”);

printf(“補考名單\n”);

printf(“\n數學的補考名單為:\n”);

printf(“\n學號 姓名 數學成績\n”);

for(i=0;icount[0][0];i++)//循環不及格人數次

{

printf(“%-10d%-22s%-10d\n”,people2[swap[0][i]].num,people2[swap[0][i]].name,people2[swap[0][i]].math);//找到不及格人數的位置進行讀取

}

printf(“**********************************************************************\n”);

printf(“\n學號 姓名 英語成績\n”);

for(i=0;icount[1][0];i++)

{

printf(“%-10d%-22s%-10d\n”,people2[swap[1][i]].num,people2[swap[1][i]].name,people2[swap[1][i]].english);

}

printf(“**********************************************************************\n”);

printf(“\n學號 姓名 語文成績\n”);

for(i=0;icount[2][0];i++)

{

printf(“%-10d%-22s%-10d\n”,people2[swap[2][i]].num,people2[swap[2][i]].name,people2[swap[2][i]].chinese);

}

printf(“**********************************************************************\n”);

printf(“\n學號 姓名 C語言成績\n”);

for(i=0;icount[3][0];i++)

{

printf(“%-10d%-22s%-10d\n”,people2[swap[3][i]].num,people2[swap[3][i]].name,people2[swap[3][i]].cl);

};

printf(“**********************************************************************\n”);

system(“pause”);

}

/*void Student_Change_Password()

{

FILE *fp;

int i,j;

char ps[50];

printf(“是否修改密碼?0(否) / 1(是):”);

scanf(“%d”,j);

switch(j)

{

case 1:

printf(“請輸入新密碼:”);

scanf(“%s”,ps);

if((fp=fopen(“password.dat”,”wb”))==NULL)

{

printf(“修改密碼失敗!\n”);

exit(0);

}

fprintf(fp,”%s”,ps);

fclose(fp);

printf(“修改密碼成功!\n”);

break;

case 0:

printf(“成功取消修改操作!\n”);

break;

}

system(“pause”);

}*/

大一中學期做的,你可以稍微修改一下,其中可能還有不同,自己看著改改吧,修改密碼就沒寫

用c語言編寫 學生成績管理

#includestdio.h

#includestring.h

#includestdlib.h

#includeconio.h

#define max 20

typedef struct student //學生

{

char sno[max]; // 學號

char sname[max]; //姓名

char sex[max]; //性別

char age[max]; //年齡

char depart[max]; //系

char classs[max]; //班

char grade[max]; //年級

struct student* next;

} student;

student* head;

int LogOn() //登錄模塊,已實現輸入密碼不回顯,如果中途發現輸錯某幾位,可退格鍵重輸

{

char username[max],password[max];

printf(“\n請輸入用戶名:”);

scanf(“%s”,username);

printf(“\n請輸入密碼(最多15位):”);

//開始以不回顯且支持退格方式獲取輸入密碼

int i=0;

while((i=0)(password[i++]=getch())!=13)//條件i=0是用於限制退格的範圍

{

if(password[i-1]==’\b’)//對退格鍵的處理

{

printf(“%c%c%c”,’\b’,’\0′,’\b’);

i=i-2;

}

else

printf(“*”);

}

password[–i]=’\0′;

//已獲取密碼。驗證用戶身份

if(!strcmp(username,”zhang”)!strcmp(password,”8147086″))

{

printf(“\n登錄成功!”);

return 1;

}

else

return 0;

}

void regist()

{

char ch;

student *s,*ptr; //s用來建新結點,ptr用來暫存頭結點

do

{

s=(student*)malloc(sizeof(student)); // 新建一個學生結點

printf(“\n開始註冊…”); //開始註冊

printf(“\n請輸入該學生的學號:”);

scanf(“%s”,s-sno);

printf(“\n請輸入該學生的姓名:”);

scanf(“%s”,s-sname);

printf(“\n請輸入該學生的性別:”);

scanf(“%s”,s-sex);

printf(“\n請輸入該學生的年齡:”);

scanf(“%s”,s-age);

printf(“\n請輸入該學生的系:”);

scanf(“%s”,s-depart);

printf(“\n請輸入該學生所在的班:”);

scanf(“%s”,s-classs);

printf(“\n請輸入該學生所在的年級”);

scanf(“%s”,s-grade);

ptr=head;

head=s;//將新結點插入隊頭

s-next=ptr;

fflush(stdin);

printf(“\n請問是否繼續註冊?(Y/N)”);

scanf(“%c”,ch);

}while(ch==’Y’||ch==’y’);

return;

}

void ElePrint(char str[]) //輸出單個元素

{

if(str==NULL) exit(0);

printf(“%s”,str);

for(unsigned int i=0;i12-strlen(str);i++) printf(” “);//為了對齊輸出,需插入一些空格

return;

}

int LinePrint(student *ptr) //輸出一行

{

if(ptr==NULL) //檢查傳進來的指針

return 0;

printf(“\n”);

ElePrint(ptr-sno);

ElePrint(ptr-sname);

ElePrint(ptr-age);

ElePrint(ptr-sex);

ElePrint(ptr-depart);

ElePrint(ptr-classs);

ElePrint(ptr-grade);

return 1;

}

void print() //輸出全部學生信息

{

student *ptr=head;

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

while(ptr)

{

LinePrint(ptr);

ptr=ptr-next;

}

printf(“\n”);

return;

}

void search()//查詢模塊

{

int method;//查詢方式

char no[max],name[max],departm[max],clss[max],grades[max]; //用來接收查詢關鍵字

while(1)

{

printf(“\n請選擇查詢方式”);

printf(“\n1.按學號查詢”);

printf(“\n2.按姓名查詢”);

printf(“\n3.按所在系查詢”);

printf(“\n4.按所在班級查詢”);

printf(“\n5.按所在年級查詢”);

printf(“\n6.列印全部學生信息”);

printf(“\n7.返回主菜單\n”);

scanf(“%d”,method);

student *p=head,*temp;

switch(method)

{

case 1:

printf(“\n請輸入要查詢的學號:”);

scanf(“%s”,no);

while(p)

{

if(!strcmp(p-sno,no))

break;

else

{

temp=p;

p=p-next;

}

}

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

LinePrint(p);

break;

case 2:

printf(“\n請輸入要查詢的姓名:”);

scanf(“%s”,name);

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

while(p)

{

if(!strcmp(p-sname,name))

LinePrint(p);

p=p-next;

}

break;

case 3:

printf(“\n請輸入學生所在的系:”);

scanf(“%s”,departm);

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

while(p)

{

if(!strcmp(p-depart,departm))

LinePrint(p);

p=p-next;

}

break;

case 4:

printf(“\n請輸入學生所在的班:”);

scanf(“%s”,clss);

printf(“\n請輸入學生所在的年級:”);

scanf(“%s”,grades);

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

while(p)

{

if(!strcmp(p-classs,clss)!strcmp(p-grade,grades))

LinePrint(p);

p=p-next;

}

break;

case 5:

printf(“\n請輸入學生所在的年級:”);

scanf(“%s”,grades);

printf(“\n學號 姓名 年齡 性別 系 班 年級 “);

while(p)

{

if(!strcmp(p-grade,grades))

LinePrint(p);

p=p-next;

}

break;

case 6:

print();

break;

case 7:

return;

default:

printf(“很抱歉,暫無此查詢方式!”);

break;

}

}

}

void modify()//修改學生信息

{

char num[max];

student *p=head;

printf(“\n請輸入要修改的學生的學號:”);

scanf(“%s”,num);

while(p)

{

if(!strcmp(p-sno,num))

break;

else

p=p-next;

}

if(p==NULL)

{

printf(“\n錯誤:沒有此學生的信息!\n”);

return;

}

LinePrint(p);

printf(“\n請輸入要修改的該學生的信息:”);

printf(“\n1.姓名”);

printf(“\n2.性別”);

printf(“\n3.年齡”);

printf(“\n4.所在的系”);

printf(“\n5.所在的班”);

printf(“\n6.所在的年級”);

char name1[max],sex1[max],age1[max],depart1[max],class1[max],grade1[max];

int select;

fflush(stdin);

scanf(“%d”,select);

printf(“\n請輸入新的信息:”);

switch(select)

{

case 1:

scanf(“%s”,name1);

strcpy(p-sname,name1);

break;

case 2:

scanf(“%s”,sex1);

strcpy(p-sex,sex1);

break;

case 3:

scanf(“%s”,age1);

strcpy(p-age,age1);

break;

case 4:

scanf(“%s”,depart1);

strcpy(p-depart,depart1);

break;

case 5:

scanf(“%s”,class1);

strcpy(p-classs,class1);

break;

case 6:

scanf(“%s”,grade1);

strcpy(p-grade,grade1);

break;

default:

printf(“\nError!”);

break;

}

LinePrint(p);

return;

}

void del()// 刪除某學生的信息

{

student *p=head,*temp=head,*s;

char num1[max];

printf(“\n請輸入要刪除的學生的學號:”);

scanf(“%s”,num1);

while(p)//查找該學生所在的結點

{

if(!strcmp(p-sno,num1))

break;

else

{

temp=p;

p=p-next;

}

}//while

if(!p)

{

printf(“\n不存在此學生的信息.”);

return;

}

LinePrint(p);//輸出該學生的信息

printf(“\n請問真的要刪除該學生的信息嗎?(Y/N)”);

char ch;

fflush(stdin);

scanf(“%c”,ch);

if(ch==’Y’||ch==’y’)

{

s=p-next;

temp-next=s;

free(p);

printf(“\n已經刪除該學生的信息.”);

}

return;

}

void sort() //排序模塊。將學生記錄按學號從小到大排列。用起泡排序演算法實現

{

student *ptr,*s=head,*p;

int count=0,count1;

while(s)//統計鏈表結點個數

{

count++;

s=s-next;

}

for(int i=1;icount;i++)

{

ptr=head;

p=NULL;

count1=count-i; //用來控制每輪起泡排序的終點,即每次把學號最小的結點移到倒數第i個結點

while(ptrptr-next(count1–))

{

if(strcmp(ptr-sno,ptr-next-sno)0)

{

s=ptr-next;

ptr-next=s-next;

if(p==NULL) //ptr處於隊頭時

head=s;

else

p-next=s;

s-next=ptr;

p=s;

}

else

{

ptr=ptr-next;

if(p==NULL) //ptr處於隊頭時

p=head;

else

p=p-next;

}

}

}

return;

}

void quit()

{

char ch;

printf(“\n真的要退出?(Y/N)”);

fflush(stdin);

scanf(“%c”,ch);

if(ch==’Y’||ch==’y’)

exit(0);

return;

}

int main()

{

int option;

printf(“\nCopyright@2005 KongXinCai All rights reserved.”);

printf(“\n歡迎使用學生信息管理系統!\n”);

//登錄模塊

int icheck=0;

while(icheck3)

{

if(LogOn()==0)

icheck++;

else

break;

}

if(icheck==3)

{

printf(“\n連續登錄三次不成功,退出!”);

exit(0);

}

//系統界面

while(1)

{

printf(“\n\n請選擇需要的服務:”);

printf(“\n1.註冊”);

printf(“\n2.查詢”);

printf(“\n3.修改”);

printf(“\n4.刪除”);

printf(“\n5.排序”);

printf(“\n7.求平均”);

printf(“\n6.退出\n”);

scanf(“%d”,option);

switch(option)

{

case 1:

regist();

break;

case 2:

search();

break;

case 3:

modify();

break;

case 4:

del();

break;

case 5:

sort();

break;

case 6:

quit();

break;

}

}

return 0;

}

c語言編寫查詢學生成績管理程序。

#includestdio.h

#includestdlib.h

#includestring.hstruct record

{

char xuehao[10];//學號

char name[20]; //姓名

char sex[3];//性別

int ke1;//數學

int ke2 ;//語文

int ke3;//英語

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.按學號查詢\n”);brprintf(“2.退出本菜單\n”);brprintf(“——————\n”);brwhile(1)br{ printf(“請選擇子菜單編號:”);brscanf(“%d”,item);brflag=0;brswitch(item)br{brcase 1:brprintf(“請輸入要查詢的學生的學號:\n”);brscanf(“%s”,s1);brfor(i=0;in;i++)brif(strcmp(stu[i].xuehao,s1)==0)br{ flag=1;brprintf(“該學生學號,姓名,性別,數學,語文,英語 分別為:\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(“該學號不存在!\n”); break;

case 2:return;

default:printf(“請在1-2之間選擇\n”);

}

}

}

void insert()

{ int i=n,j,flag;

printf(“請輸入待增加的學生數:\n”);

scanf(“%d”,m);

do

{ flag=1;

while(flag)

{ flag=0;

printf(“請輸入第 %d 個學生的學號:\n”,i+1);

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

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

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

{ printf(“已有該學號,請檢查後重新錄入!\n”);

flag=1;

break;

}

}

printf(“請輸入第 %d 個學生的姓名:”,i+1);

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

printf(“\n請輸入第 %d 個學生的性別:”,i+1);

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

printf(“\n請輸入第 %d 個學生的數學成績:”,i+1);

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

printf(“\n請輸入第 %d 個學生的語文成績:”,i+1);

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

printf(“\n請輸入第 %d 個學生的英語成績:”,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(“請輸入要刪除學生的學號:\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(“該學號不存在!\n”);

if(flag==1)

{ printf(“刪除成功,顯示結果請選擇菜單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(“已儲存”);

}

}

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 個學生的姓名%s:”,i+1,stu[i].name);br printf(“\n第 %d 個學生的性別:%s”,i+1,stu[i].sex);br printf(“\n第 %d 個學生的數學成績:%d”,i+1,stu[i].ke1);br printf(“\n第 %d 個學生的語文成績:%d”,i+1,stu[i].ke2);br printf(“\n第 %d 個學生的英語成績:%d”,i+1,stu[i].ke3);br printf(“\n第 %d 個學生的平均成績:%d”,i+1,stu[i].pin);br }

}

void menu()

{ int nub;

printf(” \n\n學生成績管理系統\n\n”);

printf(“*****系統功能菜單*****\n”);

printf(“———————-\n”);

printf(“1.輸入學生信息\n”);

printf(“2.查詢學生信息\n”);

printf(“3.按學號刪除信息\n”);

printf(“4.讀入學生信息\n”);

printf(“5.保存信息(要把修改保存到文件,退出程序前必須執行本項)\n”);

printf(“6.查詢學生平均成績信息\n”);

printf(“0.退出系統\n”);

printf(“———————-\n”);

printf(“請選擇菜單編號:”);

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(“請在0-6之間選擇\n”);

}}

void main()

{

while(k)

menu();

}

//平均數是排序後,輸出的,如果你不想直接輸入,那就不要對每個學生進行選擇排序了

成績管理系統 c語言

學生成績管理系統代碼

#includestdio.h

#includemalloc.h

#includestring.h

typedef struct Student

{

int no;

char name[10];

float score[3]; //three scores

float average; //average score

struct Student *next;

}Student;

void Initial(Student *p)

{

p=(Student*)malloc(sizeof(Student));//the head of the linklist

p-next=NULL;

}

void Input(Student *p)

{

Student *stu=(Student*)malloc(sizeof(Student));

printf(“學號:”); scanf(“%d”,stu-no);

printf(“姓名:”); scanf(“%s”,stu-name);

printf(“成績1:”); scanf(“%f”,stu-score[0]);

printf(“成績2:”); scanf(“%f”,stu-score[1]);

printf(“成績3:”); scanf(“%f”,stu-score[2]);

stu-average=(stu-score[0]+stu-score[1]+stu-score[2])/3;

stu-next=NULL;

Student *ps=(Student*)malloc(sizeof(Student));

ps=p;

while(ps-next)

ps=ps-next;

ps-next=stu;

//free(ps);

}

void Output(Student *p)

{

Student *ps=(Student*)malloc(sizeof(Student));

ps=p-next;

printf(“學號\t姓名\t成績1\t成績2\t成績3\t平均分\n”);

while(ps!=NULL)

{

printf(“%d\t”,ps-no);

printf(“%s\t”,ps-name);

printf(“%.1f\t”,ps-score[0]);

printf(“%.1f\t”,ps-score[1]);

printf(“%.1f\t”,ps-score[2]);

printf(“%.1f\t\n”,ps-average);

ps=ps-next;

}

free(ps);

}

void Find(Student *p)

{

Student *ps=(Student*)malloc(sizeof(Student));

ps=p-next;

char name[10];

printf(“輸入要查詢的學生姓名:”);

scanf(“%s”,name);

while(strcmp(ps-name,name)!=0) //相同時為0

ps=ps-next;

printf(“學號\t姓名\t成績1\t成績2\t成績3\t平均分\n”);

printf(“%d\t”,ps-no);

printf(“%s\t”,ps-name);

printf(“%.1f\t”,ps-score[0]);

printf(“%.1f\t”,ps-score[1]);

printf(“%.1f\t”,ps-score[2]);

printf(“%.1f\t\n”,ps-average);

}

void swap(Student *p1, Student *p2) //swap two nodes for sorting

{

Student *temp=(Student*)malloc(sizeof(Student));

temp-no=p1-no;

strcpy(temp-name,p1-name);

temp-score[0]=p1-score[0];

temp-score[1]=p1-score[1];

temp-score[2]=p1-score[2];

temp-average=p1-average;

p1-no=p2-no;

strcpy(p1-name,p2-name);

p1-score[0]=p2-score[0];

p1-score[1]=p2-score[1];

p1-score[2]=p2-score[2];

p1-average=p2-average;

p2-no=temp-no;

strcpy(p2-name,temp-name);

p2-score[0]=temp-score[0];

p2-score[1]=temp-score[1];

p2-score[2]=temp-score[2];

p2-average=temp-average;

free(temp);

}

void Sort(Student *p) //sort by average

{

Student *p1=(Student*)malloc(sizeof(Student));

Student *p2=(Student*)malloc(sizeof(Student));

p1=p-next;

while(p1)

{

float avg=p1-average;

p2=p1-next;

while(p2)

{

if( avg (p2-average))

{

swap(p1,p2);

avg=p2-average;

}

p2=p2-next;

}

p1=p1-next;

}

}

void Insert(Student *p)

{

printf(“按平均分高低插入數據!\n”);

Student *stu=(Student*)malloc(sizeof(Student));//the data being inserted

printf(“學號:”); scanf(“%d”,stu-no);

printf(“姓名:”); scanf(“%s”,stu-name);

printf(“成績1:”); scanf(“%f”,stu-score[0]);

printf(“成績2:”); scanf(“%f”,stu-score[1]);

printf(“成績3:”); scanf(“%f”,stu-score[2]);

stu-average=(stu-score[0]+stu-score[1]+stu-score[2])/3;

stu-next=NULL;

Student *p1=(Student*)malloc(sizeof(Student));//temp

p1=p;

while(p1-next ((p1-next)-average) (stu-average))

p1=p1-next;

//p1=p1-next;

stu-next=p1-next;

p1-next=stu;

}

void Menu(Student *p)

{

int select;

printf(“您好,歡迎使用學生成績管理系統!\n”);

printf(“1:輸入學生成績數據\n2:輸出全部學生信息\n3:按姓名查找學生記錄\n4:按平均成績進行排序\n5:按平均成績高低插入數據\n6:退出\n”);

scanf(“%d”,select);

while(select=6 select0)

{

switch(select)

{

case 1: Input(p);break;

case 2: Output(p);break;

case 3: Find(p); break;

case 4: Sort(p); break;

case 5: Insert(p); break;

case 6: printf(“成功退出,歡迎再次使用!\n”); return ; break;

}

printf(“1:輸入學生成績數據\n2:輸出全部學生信息\n3:按姓名查找學生記錄\n4:按平均成績進行排序\n5:按平均成績高低插入數據\n6:退出\n”);

scanf(“%d”,select);

}

}

int main()

{

Student *head=(Student*)malloc(sizeof(Student));

Menu(head);

}

C語言 學生成績管理系統?

附錄* 綜合實例——學生成績查詢系統

這是一個用c語言編寫的小軟體——學生成績查詢系統,同學們可以將其作為一個綜合實例,對其進行仔細的閱讀和研究,體驗編程處理問題的過程,加深對編程語言的理解,提高處理問題的綜合能力。

1、程序的功能:

1)可以根據用戶輸入的輸入、輸出文件名,讀入學生成績,完成數據的初始化。

2)可以查詢指定學生的成績,可以是指定科目的成績,也可以是全部科目的成績。

3)友好退出。

2、使用說明:

1)將輸入文件放到指定的目錄下(即../student/)

圖1

2)啟動管理程序student.exe

3)在程序的使用界面,首先輸入輸入文件名和輸出文件名,完成程序的初始化,操作如下圖所示

圖2

然後,按照按照提示,輸入學生姓名和需要程序的成績(此軟體暫時只設置了五成成績,同學們可以按照需要擴展)科目代碼,也可以輸入查詢所有成績的代碼。程序成績,如下圖所示

圖3

4)輸入代碼「q」退出程序。

3、程序代碼

#include

#include

#include

FILE *f1,*f2;

char file1[20],file2[20],name[200][20],name1[15];

int n,m,data[200][10];

void init(){

int i,j;

char ch=’ ‘;

printf(“%20c歡迎使用班級成績管理系統\n\n”,ch);

printf(“請輸入輸入和輸出文件名(中間用一個空格隔開):\n”);

scanf(“%s %s”,file1,file2);// 1)該條語句的功能是什麼?

f1=fopen(file1,”r”);

f2=fopen(file2,”w”);

fscanf(f1,”%d%d”,n,m); // 2)該條語句的功能是什麼?

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

{

fscanf(f1,”%s”,name[i]); // 3)該條語句的功能是什麼?

data[i][0]=0; // 4)該條語句的功能是什麼?沒有這條語句可不可以?

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

{

fscanf(f1,”%d”,data[i][j]);

data[i][0]+=data[i][j]; // 5)該條語句的功能是什麼?

}

}

fprintf(f2,”name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n “);

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

{

fprintf(f2,”%s\t”,name[i]);

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

fprintf(f2,”%d\t”,data[i][j]);

fprintf(f2,”%d\n”,data[i][0]);

}

fclose(f1);// 6)問什麼可以在這關閉輸入文件?

fclose(f2);

}

void search(char na[],char num){

int i=1,j;

while((i=n)(strcmp(na,name[i])!=0))i++;

if(i=n){

switch(num){

case ‘1’:printf(“%s的語文成績為%d!\n”,na,data[i][1]);break;

case ‘2’:printf(“%s的數學成績為%d!\n”,na,data[i][2]);break;

case ‘3’:printf(“%s的英語成績為%d!\n”,na,data[i][3]);break;

case ‘4’:printf(“%s的物理成績為%d!\n”,na,data[i][4]);break;

case ‘5’:printf(“%s的化學成績為%d!\n”,na,data[i][5]);break;

case ‘a’:

printf(“%s的各科成績為:\n”,name[i]);

printf(“語文\t數學\t英語\t物理\t化學\t總成績\n”);

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

printf(“%d\t”,data[i][j]);

printf(“%d\n”,data[i][0]);

break;

default: printf(“沒有這種查詢方式,請確認後再次輸入!\n”);

}

}

else printf(“查無此人,請確認後再次查詢!\n”);

printf(“\n\n”);

}

main(){

init();//數據初始化

printf(“數據初始化結束!\n\n”);

printf(“————————————————\n\n”);

char na[20];

char num;

while(1){ // 7)該條語句的功能是什麼?

//scanf(“%s%c%c”,na,num,num); // 8)此處的輸入可不可以用這條語句?

printf(“請輸入學生的姓名和要查詢成績的科目代碼(中間用一個空格隔開):\n(1 語文 2 數學 3 英語 4 物理 5 化學 a 所有科目成績 q 退出)\n”);

scanf(“%s”,na);

if(strcmp(na,”q”)==0)break; // 9)問什麼要用這條語句strcmp(na,”q”)==0?

scanf(“%c%c”,num,num); // 10)為什麼用了兩次num?

search(na,num);

printf(“————————————————\n\n”);

printf(“\n請輸入新的查詢:\n\n”);

}

system(“pause”);

}

這是我以前的一個程序,你改改吧,應該很好改

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237829.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:08
下一篇 2024-12-12 12:08

相關推薦

  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python輸入姓名成績輸出等級

    在這個項目中,我們需要輸入一個學生的姓名和成績,然後根據成績給出等級。 一、獲取用戶輸入 首先,我們需要獲取用戶輸入的姓名和成績。可以使用Python中的input()函數,讓用戶…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python成績分段統計

    成績分段統計是針對一組成績數據進行分組計數,以便更好地了解數據的分布情況。Python語言作為一門高效簡潔的編程語言,在數據處理領域有著廣泛應用,實現成績分段統計在Python中也…

    編程 2025-04-29
  • GitHub好玩的開源項目

    本文旨在介紹GitHub上一些好玩的開源項目,並提供代碼示例供讀者參考和學習。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各種平台和設備,方便用戶在Git…

    編程 2025-04-28
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28

發表回復

登錄後才能評論