c語言課程學生,高校大學生c語言課程

本文目錄一覽:

C語言編製學生課程信息管理程序

#include stdio.h

#include string.h

int n;

struct Student {

int no;

char name[10];

int score[5];

int sum;

int average;

}student[100000];

void Sort(Student *s){

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

for(int j=i+1;jn;j++){

if(s[j].sums[i].sum){

char ns[100];

strcpy(ns,s[i].name);

strcpy(s[i].name,s[j].name);

strcpy(s[j].name,ns);

int snum=s[i].sum,save=s[i].average;

s[i].sum=s[j].sum,s[i].average=s[j].average;

s[j].sum=snum,s[j].average=save;

}

}

}

void printInfo() {

for (int i = 0; i n; i++) {

printf(“%s,%d,%d\n”, student[i].name, student[i].sum, student[i].average);

}

}

int main()

{

printf(“請輸入學生的數量n:”);

scanf(“%d”,n);

for (int i = 0; i n; i++) {

printf(“請分別輸入第%d名同學的id,名字,成績1,成績2,成績3,成績4”, i + 1);

scanf(“%d%s%d%d%d%d”, student[i].no, student[i].name, student[i].score[0], student[i].score[1], student[i].score[2],student[i].score[3]);

student[i].sum=student[i].score[0]+student[i].score[1]+student[i].score[2]+student[i].score[3];

student[i].average=student[i].sum/4;

}

Sort(student);

printInfo();

return 0;

}

c語言課程設計(學生成績管理)

#includeiostream.h

/*head.h*/

#includestring.h

#includefstream.h

#includestdlib.h

#includectype.h

typedef struct student

{

char num[6]; //定義學號

char name[8];//定義姓名

// int tax;//定義學生的按總分排名的名次,這個我不做了,自己可以加上,看看怎樣修改,都做出來就沒意思了呵呵。

int english;//定義英語成績

int math;//定義數學成績

// int score;//定義總分 這個我不要了

struct student *next;//指向下一個學生的指針鏈域

}student;

int getint(int a) //字符轉換成數字

{

return (int)(a-‘0’);

}

student * head1;//頭指針,全局變量

void student_read() //從文件中讀入學生成績原始數據

{

int i=7;//共有7個學生的記錄,需要時可以修改該初始值

ifstream infile (“student.txt”,ios::in);//讀文件的操作使用C++

while(i0)

{

student * p;//定義臨時結構體指針變量p

p=new student;//開闢內存空間,並將p指向該地址的引用

infilep-nump-namep-englishp-math;//為了簡化

p-next=head1-next;

head1-next=p;

i–;//下標減1

}

}

void Reverselist(student *p)

{ student *p1,*p2,*p3;

student *_data;

_data=new student;

p1=p-next;

if(!p1-next) return;

p2=p1-next;

if(!p2-next)

{

strcpy(_data-num,p1-num);

strcpy(_data-name,p1-name);

// _data-tax=p1-tax;

_data-english=p1-english;

_data-math=p1-math;

//_data-score=p1-score;

strcpy(p1-num,p2-num);

strcpy(p1-name,p2-name);

// p1-tax=p2-tax;

p1-english=p2-english;

p1-math=p2-math;

//p1-score=p2-score;

strcpy(p2-num,_data-num);

strcpy(p2-name,_data-name);

// p2-tax=_data-tax;

p2-english=_data-english;

p2-math=_data-math;

//p2-score=_data-score;

return;

}//if

p3=p2-next;

p1-next=NULL;

while(p3-next)

{p2-next=p1;

p1=p2;

p2=p3;

p3=p3-next;

}//while

p2-next=p1;

p3-next=p2;

p-next=p3;

}//Reverselist

void student_order(student *p)

{ student *_temp = p-next;

student *_node = p-next;

student *temp;

temp=new student;

temp-next=NULL;

for (;_temp-next;_temp = _temp-next)

{

for (_node = p-next;_node-next;_node = _node -next)

{

if ((_node-english+_node-math)(_node-next-english+_node-next-math))

{

strcpy(temp-num,_node-num);

strcpy(temp-name,_node-name);

temp-english=_node-english;

temp-math=_node-math;

// temp-score=_node-score;

strcpy(_node-num,_node-next-num);

strcpy(_node-name,_node-next-name);

_node-english=_node-next-english;

_node-math=_node-next-math;

//_node-score=_node-next-score;

strcpy(_node-next-num,temp-num);

strcpy(_node-next-name,temp-name);

_node-next-english=temp-english;

_node-next-math=temp-math;

//_node-next-score=temp-score;

}//if

}//for

}//for

Reverselist(p);

}//student_order

void student_output(student *p)

{ cout”學號 姓名 英語 數學\t\n”;

p=p-next;

while(p)

{cout” “p-num”\t”p-name”\t”p-english”\t”p-mathendl;

p=p-next;

}

}

void student_output1(student *p)

{ cout”學號 姓名 英語 數學 總分\t\n”;

p=p-next;

while(p)

{ cout” “p-num”\t”p-name”\t”p-english”\t”p-math”\t “(p-english+p-math)endl;

p=p-next;

}

}

void student_write() //將項目數據寫入文本文檔

{

student * p;

p=head1;

p=p-next;

ofstream outfile(“result.txt”,ios::out);

while (p!=NULL)

{

outfile” “p-num”\t”p-name”\t”p-english”\t”p-math”\t “p-english+p-mathendl;

p=p-next;

}

outfile.close();

}

/*主程序*/

#includeiostream.h

#includefstream.h

#include stdlib.h

#include stdio.h

#includeconio.h

#include”head.h”

void main()

{ system(“color 1b”);

head1=new student;

head1-next=NULL;

student_read(); //讀入學生數據

student * p1;

p1=head1;

p1=p1-next;

int temp;

student_output(head1); /*顯示原有的記錄*/

student_order(head1);

student_output1(head1); //信息的輸出函數

student_write();//將學校數據寫入文本

getch();

}

c語言課程設計學生成績管理系統

#includestdio.h

#includeconio.h

#include stdlib.h

#includestring.h

#define MAX 80

#define max 3

int nu=0;

struct classname

{

char name[20];

float score;

};

struct student

{

char no[20];

char std_name[20];

struct classname km[max];

float ave;

float sum;

int save;

};

struct student stu[MAX],*p;

void chushi()

{

int i,j;

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

{

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

{

stu[i].no[j]=NULL;

stu[i].std_name[j]=NULL;

stu[i].km[j].name[j]=NULL;

stu[i].km[j].score=0;

}

stu[i].ave=0;

stu[i].sum=0;

stu[i].save=0;

}

}

void av()/*求平均值*/

{

int i;

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

{

stu[i].sum=stu[i].km[1].score+stu[i].km[2].score+stu[i].km[3].score;

stu[i].ave=stu[i].sum/3;

}

}

void first_check()

{

FILE *p;

int i,j;

struct classname frist[max];

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

{

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

frist[i].name[j]=NULL;

frist[i].score=0;

}

if ((p=fopen(“c:\\kemu.txt”,”r”))==NULL)

{

printf(“您好,歡迎使用學生成績管理系統\n\n因為您是第一次使用,請輸入科目名稱(三科)\n\n”);

p=fopen(“c:\\kemu.txt”,”w”);

printf(“輸入課程1名稱:”);

scanf(“%s”,frist[0].name);

fprintf(p,”%s\n”,frist[0].name);

printf(“輸入課程2名稱:”);

scanf(“%s”,frist[1].name);

fprintf(p,”%s\n”,frist[1].name);

printf(“輸入課程3名稱:”);

scanf(“%s”,frist[2].name);

fprintf(p,”%s\n”,frist[2].name);

}

system(“cls”);

fclose(p);

}

void save_nu()

{

FILE *p;

p=fopen(“c:\\renshu.txt”,”w”);

fprintf(p,”%d\n”,nu);

fclose(p);

}

void Save_add(int n)

{

FILE * p;

int i;

p= fopen(“c:\\cheji.txt”,”at”);

if (p == NULL)

{

printf(“文件不存在!!\n”);

exit(0);

}

save_nu();

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

if(stu[i].save==1)

{

stu[i].sum=stu[i].km[1].score+stu[i].km[2].score+stu[i].km[3].score;

stu[i].ave=stu[i].sum/3;

fprintf(p,”%s %s %2.1f %2.1f %2.1f %2.1f %2.1f \n”,stu[i].no,stu[i].std_name,stu[i].km[0].score,stu[i].km[1].score,stu[i].km[2].score,stu[i].ave,stu[i].sum);

}

fclose(p);

}

void Save()

{

FILE * p;

int i;

p= fopen(“c:\\cheji.txt”,”w”);

if (p == NULL)

{

printf(“文件不存在!!\n”);

exit(0);

}

save_nu();

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

if(stu[i].save==1)

{

av();

fprintf(p,”%s %s %2.1f %2.1f %2.1f %2.1f %2.1f \n”,stu[i].no,stu[i].std_name,stu[i].km[0].score,stu[i].km[1].score,stu[i].km[2].score,stu[i].ave,stu[i].sum);

}

fclose(p);

}

int read_nu()

{

FILE *p;

char ch,s[10]={‘\0’};

int i=0;

p=fopen(“c:\\renshu.txt”,”r”);

if(p==NULL)

{

save_nu();

return 0;

}

ch=fgetc(p);

while(ch!=’\n’)

{

s[i]=ch;

ch=fgetc(p);

i++;

}

nu=atoi(s);

fclose(p);

return 0;

}

int read_km()

{

FILE *p;

int i,j=0;

char s[20]={‘\0’};

chushi();

p=fopen(“c:\\kemu.txt”,”r”);

if(p==NULL)

{

printf(“ERROR read_km”);

return 0;

}

fgets(s,20,p);

while(strlen(s)!=0)

{

for(i=0;istrlen(s);i++)

if(s[i]==10)

{

s[i]=’\0′;

break;

}

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

strcpy(stu[i].km[j].name,s);

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

s[i]=’\0′;

j++;

fgets(s,20,p);

}

}

void read()

{

FILE *p;

int i,j,n,k,z=0;

char s[50]={‘\0’};

char o[10]={‘\0’};

p=fopen(“c:\\cheji.txt”,”r”);

if(p==NULL)

printf(“ERROR_read”);

chushi();

read_km();

fgets(s,50,p);

while(strlen(s)!=0)

{

j=0;

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

{

if(s[i]!=’\n’)

{

n=0;

while(j==0)

{

if(s[i]!=’ ‘)

{

stu[z].no[n]=s[i];

n++;i++;

}

else

break;

}

while(j==1)

{

if(s[i]!=’ ‘)

{

stu[z].std_name[n]=s[i];

n++;i++;

}

else

break;

}

while(j==2)

{

if(s[i]!=’ ‘)

{

o[n]=s[i];

n++;i++;

}

else

{

stu[z].km[0].score=atoi(o);

break;

}

}

while(j==3)

{

if(s[i]!=’ ‘)

{

o[n]=s[i];

n++;i++;

}

else

{

stu[z].km[1].score=atoi(o);

break;

}

}

while(j==4)

{

if(s[i]!=’ ‘)

{

o[n]=s[i];

n++;i++;

}

else

{

stu[z].km[2].score=atoi(o);

break;

}

}

while(j==5)

{

if(s[i]!=’ ‘)

{

o[n]=s[i];

n++;i++;

}

else

{

stu[z].ave=atoi(o);

break;

}

}

while(j==6)

{

if(s[i]!=’ ‘)

{

o[n]=s[i];

n++;i++;

}

else

{

stu[z].sum=atoi(o);

break;

}

}

for(k=0;k10;k++)

o[k]=’\0′;

}

else

break;

j++;

}

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

s[i]=’\0′;

fgets(s,50,p);

z++;

}

}

void putin()

{

int n,i=0;

char ch;

read_km();

do

{

printf(“\t\t\t\t錄入學員信息\n輸入第%d個學員的信息\n”,i+1);

printf(“\n輸入學生編號:”);

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

printf(“\n輸入學員姓名:”);

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

printf(“\n輸入課程%s的分數:”,stu[0].km[0].name);

scanf(“%f”,stu[i].km[0].score);

printf(“\n輸入課程%s的分數:”,stu[0].km[1].name);

scanf(“%f”,stu[i].km[1].score);

printf(“\n輸入課程%s的分數:”,stu[0].km[2].name);

scanf(“%f”,stu[i].km[2].score);

stu[i].save=1;

printf(“\n\n”);

i++;

n=i;

printf(“是否繼續輸入?(Y/N)”);

fflush(stdin);

ch=getch();

system(“cls”);

}

while(ch!=’n’ch!=’N’);

system(“cls”);

if(nu==0)

{

nu=n;

Save();

}

else

{

nu=n+nu;

Save_add(n);

}

}

int putout()

{

int i;char s;

if(nu==0)

{

printf(“學生信息為零!請錄入…”);

return 0;

}

read();

do

{

printf(“學生成績信息:\n\n”);

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

printf(“學號:%s 姓名:%s\n%s分數:%2.1f\t%s分數:%2.1f\t%s分數:%2.1f\n平均分數:%2.1f\t總成績:%2.1f\n\n”,stu[i].no,stu[i].std_name,stu[i].km[0].name,stu[i].km[0].score,stu[i].km[1].name,stu[i].km[1].score,stu[i].km[2].name,stu[i].km[2].score,stu[i].ave,stu[i].sum);

printf(“\t\t按任意鍵返回主菜單”);

fflush(stdin);

s=getch();

}

while(!s);

system(“cls”);

}

int sort()/*排序數據函數*/

{

struct student temp;

int i,j;

char s;

if(nu==0)

{

printf(“學生信息為零!請錄入…”);

return 0;

}

chushi();

read();

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

{

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

{

if(stu[j-1].avestu[j].ave)

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

do

{

printf(“學生成績信息:\n\n”);

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

printf(“學號:%s 姓名:%s 平均成績:%2.1f\n\n”,stu[i].no,stu[i].std_name,stu[i].ave);

printf(“\t\t按任意鍵返回主菜單”);

fflush(stdin);

s=getch();

}

while(!s);

system(“cls”);

}

void find()/*查詢函數*/

{

int j,i=0;

int c=0;

char search[10]={‘\0’};

char as;

if(nu==0)

{

printf(“學生信息為零!請錄入…”);

return 0;

}

chushi();

read();

do

{

printf(“輸入要查詢課程名稱:”);

scanf(“%s”,search);

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

if(!strcmp(stu[i].km[j].name,search))

{

c=1;

printf(“\n該課程不及格學生姓名:\n”);

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

if(stu[i].km[j].score60)

printf(“%s\n”,stu[i].std_name);

}

if(c==0)

printf(“無此課程!”);

printf(“\n\t\t按任意鍵返回主菜單”);

fflush(stdin);

as=getch();

}

while(!as);

system(“cls”);

}

void tongji()

{

int j,m,z,i=0;

char s;

if(nu==0)

{

printf(“學生信息為零!請錄入…”);

return 0;

}

chushi();

read();

for(z=0;zmax;z++)

{

m=stu[i].km[z].score;j=0;

printf(“%s 最高分: “,stu[i].km[z].name);

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

if(mstu[i].km[z].score)

{

m=stu[i].km[z].score;

j=i;

}

printf(“%s\t”,stu[j].std_name);

j=0;i=0;m=stu[i].km[z].score;

printf(“%s 最低分: “,stu[i].km[z].name);

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

if(mstu[i].km[z].score)

{

m=stu[i].km[z].score;

j=i;

}

printf(“%s\t”,stu[j].std_name);

m=0;j=0;i=0;

printf(“%s 平均分: “,stu[i].km[z].name);

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

m=m+stu[i].km[z].score;

printf(“%d\n”,m/nu);

m=0;i=0;

printf(“%s 分數低於的60人數: “,stu[i].km[z].name);

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

if(stu[i].km[z].score60)

m++;

printf(“%d\t”,m);

m=0;j=0;i=0;

printf(“%s 分數高於60的人數: “,stu[i].km[z].name);

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

if(stu[i].km[z].score60)

m++;

printf(“%d\n\n”,m);

}

do

{

printf(“\t\t按任意鍵返回主菜單”);

fflush(stdin);

s=getch();

}

while(!s);

system(“cls”);

}

void main()/*主函數*/

{

int as;

first_check();

start: printf(“\n\t\t\t歡迎使用學生成績管理系統\n”);

/*一下為功能選擇模塊*/

do

{

printf(“\n\t\t\t\t1.錄入學員信息\n\t\t\t\t2.顯示學員信息\n\t\t\t\t3.成績排序信息\n\t\t\t\t4.查詢不及格學生\n\t\t\t\t5.統計信息\n\t\t\t\t6.退出\n”);

printf(“\t\t\t\t選擇功能選項:”);

fflush(stdin);

read_nu();

scanf(“%d”,as);

switch(as)

{

case 1:system(“cls”);putin();break;

case 2:system(“cls”);putout();break;

case 3:system(“cls”);sort();break;

case 4:system(“cls”);find();break;

case 5:system(“cls”);tongji();break;

case 6:system(“exit”);exit(0);

default:system(“cls”);goto start;

}

}

while(1);

/*至此功能選擇結束*/

}

C語言課程設計任務——學生成績統計程序設計

#includestdio.h /*引用庫函數*/

#includestdlib.h

#includectype.h

#includestring.h

typedef struct /*定義結構體數組*/

{

char num[10]; /*學號*/

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

int score; /*成績*/

}Student;

Student stu[80]; /*結構體數組變量*/

int menu_select() /*菜單函數*/

{

char c;

do{

system(“cls”); /*運行前清屏*/

printf(“\t\t****Students’ Grade Management System****\n”); /*菜單選擇*/

printf(“\t\t | 1. Input Records |\n”);

printf(“\t\t | 2. Display All Records |\n”);

printf(“\t\t | 3. Sort |\n”);

printf(“\t\t | 4. Insert a Record |\n”);

printf(“\t\t | 5. Delete a Record |\n”);

printf(“\t\t | 6. Query |\n”);

printf(“\t\t | 7. Statistic |\n”);

printf(“\t\t | 8. Add Records from a Text File|\n”);

printf(“\t\t | 9. Write to a Text file |\n”);

printf(“\t\t | 0. Quit |\n”);

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

printf(“\t\t\tGive your Choice(0-9):”);

c=getchar(); /*讀入選擇*/

}while(c’0’||c’9′);

return(c-‘0’); /*返回選擇*/

}

int Input(Student stud[],int n) /*輸入若干條記錄*/

{int i=0;

char sign,x[10]; /*x[10]為清除多餘的數據所用*/

while(sign!=’n’sign!=’N’) /*判斷*/

{ printf(“\t\t\tstudent’s num:”); /*交互輸入*/

scanf(“\t\t\t%s”,stud[n+i].num);

printf(“\t\t\tstudent’s name:”);

scanf(“\t\t\t%s”,stud[n+i].name);

printf(“\t\t\tstudent’s score:”);

scanf(“\t\t\t%d”,stud[n+i].score);

gets(x); /*清除多餘的輸入*/

printf(“\t\t\tany more records?(Y/N)”);

scanf(“\t\t\t%c”,sign); /*輸入判斷*/

i++;

}

return(n+i);

}

void Display(Student stud[],int n) /*顯示所有記錄*/

{

int i;

printf(“\t\t\t———————————–\n”); /*格式頭*/

printf(“\t\t\tnumber name score\n”);

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

for(i=1;in+1;i++) /*循環輸入*/

{

printf(“\t\t\t%-16s%-15s%d\n”,stud[i-1].num,stud[i-1].name,stud[i-1].score);

if(i1i%10==0) /*每十個暫停*/

{printf(“\t\t\t———————————–\n”); /*格式*/

printf(“\t\t\t”);

system(“pause”);

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

}

}

printf(“\t\t\t”);

system(“pause”);

}

void Sort_by_num(Student stud[],int n) /*按學號排序*/

{ int i,j,*p,*q,s;

char t[10];

for(i=0;in-1;i++) /*冒泡法排序*/

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

if(strcmp(stud[j].num,stud[j+1].num)0)

{strcpy(t,stud[j+1].num);

strcpy(stud[j+1].num,stud[j].num);

strcpy(stud[j].num,t);

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

p=stud[j+1].score;

q=stud[j].score;

s=*p;

*p=*q;

*q=s;

}

}

int Insert_a_record(Student stud[],int n) /*插入一條記錄*/

{char x[10]; /*清除多餘輸入所用*/

printf(“\t\t\tstudent’s num:”); /*交互式輸入*/

scanf(“\t\t\t%s”,stud[n].num);

printf(“\t\t\tstudent’s name:”);

scanf(“\t\t\t%s”,stud[n].name);

printf(“\t\t\tstudent’s score:”);

scanf(“\t\t\t%d”,stud[n].score);

gets(x);

n++;

Sort_by_num(stud,n); /*調用排序函數*/

printf(“\t\t\tInsert Successed!\n”); /*返回成功信息*/

return(n);

}

int Delete_a_record(Student stud[],int n) /*按姓名查找,刪除一條記錄*/

{ char s[20];

int i=0,j;

printf(“\t\t\ttell me his(her) name:”); /*交互式問尋*/

scanf(“%s”,s);

while(strcmp(stud[i].name,s)!=0in) i++; /*查找判斷*/

if(i==n)

{ printf(“\t\t\tnot find!\n”); /*返回失敗信息*/

return(n);

}

for(j=i;jn-1;j++) /*刪除操作*/

{

strcpy(stud[j].num,stud[j+1].num);

strcpy(stud[j].name,stud[j+1].name);

stud[j].score=stud[j+1].score;

}

printf(“\t\t\tDelete Successed!\n”); /*返回成功信息*/

return(n-1);

}

void Query_a_record(Student stud[],int n) /*查找並顯示一個記錄*/

{ char s[20];

int i=0;

printf(“\t\t\tinput his(her) name:”); /*交互式輸入*/

scanf(“\t\t\t%s”,s);

while(strcmp(stud[i].name,s)!=0in) i++; /*查找判斷*/

if(i==n)

{ printf(“\t\t\tnot find!\n”); /*輸入失敗信息*/

return;

}

printf(“\t\t\this(her) number:%s\n”,stud[i].num); /*輸出該學生信息*/

printf(“\t\t\this(her) score:%d\n”,stud[i].score);

}

void Statistic(Student stud[],int n) /*新增功能,輸出統計信息*/

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

float aver; /*成績平均值*/

for(i=0;in;i++) /*循環輸入判斷*/

{

sum+=stud[i].score;

if(stud[j].scorestud[i].score) j=i;

if(stud[k].scorestud[i].score) k=i;

}

aver=1.0*sum/n;

printf(“\t\t\tthere are %d records.\n”,n); /*總共記錄數*/

printf(“\t\t\tthe hignest score:\n”); /*最高分*/

printf(“\t\t\tnumber:%s name:%s score:%d\n”,stud[j].num,stud[j].name,stud[j].score);

printf(“\t\t\tthe lowest score:\n”); /*最低分*/

printf(“\t\t\tnumber:%s name:%s score:%d\n”,stud[k].num,stud[k].name,stud[k].score);

printf(“\t\t\tthe average score is %5.2f\n”,aver); /*平均分*/

}

int AddfromText(Student stud[],int n) /*從文件中讀入數據*/

{ int i=0,num;

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

char filename[20]; /*定義文件名*/

printf(“\t\t\tInput the filename:”);

scanf(“\t\t\t%s”,filename); /*輸入文件名*/

if((fp=fopen(filename,”rb”))==NULL) /*打開文件*/

{ printf(“\t\t\tcann’t open the file\n”); /*打開失敗信息*/

printf(“\t\t\t”);

system(“pause”);

return(n);

}

fscanf(fp,”%d”,num); /*讀入總記錄量*/

while(inum) /*循環讀入數據*/

{

fscanf(fp,”%s%s%d”,stud[n+i].num,stud[n+i].name,stud[n+i].score);

i++;

}

n+=num;

fclose(fp); /*關閉文件*/

printf(“\t\t\tSuccessed!\n”);

printf(“\t\t\t”);

system(“pause”);

return(n);

}

void WritetoText(Student stud[],int n) /*將所有記錄寫入文件*/

{

int i=0;

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

char filename[20]; /*定義文件名*/

printf(“\t\t\tWrite Records to a Text File\n”); /*輸入文件名*/

printf(“\t\t\tInput the filename:”);

scanf(“\t\t\t%s”,filename);

if((fp=fopen(filename,”w”))==NULL) /*打開文件*/

{

printf(“\t\t\tcann’t open the file\n”);

system(“pause”);

return;

}

fprintf(fp,”%d\n”,n); /*循環寫入數據*/

while(in)

{

fprintf(fp,”%-16s%-15s%d\n”,stud[i].num,stud[i].name,stud[i].score);

i++;

}

fclose(fp); /*關閉文件*/

printf(“Successed!\n”); /*返回成功信息*/

}

void main() /*主函數*/

{

int n=0;

for(;;)

{

switch(menu_select()) /*選擇判斷*/

{

case 1:

printf(“\t\t\tInput Records\n”); /*輸入若干條記錄*/

n=Input(stu,n);

break;

case 2:

printf(“\t\t\tDisplay All Records\n”); /*顯示所有記錄*/

Display(stu,n);

break;

case 3:

printf(“\t\t\tSort\n”);

Sort_by_num(stu,n); /*按學號排序*/

printf(“\t\t\tSort Suceessed!\n”);

printf(“\t\t\t”);

system(“pause”);

break;

case 4:

printf(“\t\t\tInsert a Record\n”);

n=Insert_a_record(stu,n); /*插入一條記錄*/

printf(“\t\t\t”);

system(“pause”);

break;

case 5:

printf(“\t\t\tDelete a Record\n”);

n=Delete_a_record(stu,n); /*按姓名查找,刪除一條記錄*/

printf(“\t\t\t”);

system(“pause”);

break;

case 6:

printf(“\t\t\tQuery\n”);

Query_a_record(stu,n); /*查找並顯示一個記錄*/

printf(“\t\t\t”);

system(“pause”);

break;

case 7:

printf(“\t\t\tStatistic\n”);

Statistic(stu,n); /*新增功能,輸出統計信息*/

printf(“\t\t\t”);

system(“pause”);

break;

case 8:

printf(“\t\t\tAdd Records from a Text File\n”);

n=AddfromText(stu,n); /*新增功能,輸出統計信息*/

break;

case 9:

printf(“\t\t\tWrite to a Text file\n”);

WritetoText(stu,n); /*循環寫入數據*/

printf(“\t\t\t”);

system(“pause”);

break;

case 0:

printf(“\t\t\tHave a Good Luck,Bye-bye!\n”); /*結束程序*/

printf(“\t\t\t”);

system(“pause”);

exit(0);

}

}

}

這個我想就是你要的程序,具體功能跟你說的差不多

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

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

相關推薦

  • AES加密解密算法的C語言實現

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

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

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

    編程 2025-04-29
  • 如何寫好大學生周記1000字?

    大學生周記1000字是一項任務,也是一次鍛煉。如何寫好大學生周記1000字?從以下幾個方面來探討。 一、清晰表達 清晰表達是任何一篇文章的重要要素,大學生周記1000字也不例外。在…

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

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

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

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

    編程 2025-04-29
  • Python股票量化投資課程 百度網盤

    本文將從以下幾個方面對Python股票量化投資課程 百度網盤做詳細闡述。 一、量化投資的意義 量化投資是指利用數學模型和計算機技術,對市場進行數據挖掘、統計分析,採用科學的方法制定…

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

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

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論