当前位置:编程学习 > C/C++ >>

求学生管理系统C语言程序

答案:include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*其它说明*/ #include "string.h" /*字符串函数*/ #include "conio.h" /*屏幕操作函数*/ #include "mem.h" /*内存操作函数*/ #include "ctype.h" /*字符操作函数*/ #include "alloc.h" /*动态地址分配函数*/ struct score { int mingci; char xuehao[8]; char mingzi[20]; float score[6]; }data,info[1000]; int i,j,k=0; char temp[20],ch; FILE *fp,*fp1; void shuru() { if((fp=fopen("s_score.txt","ab+"))==NULL) { printf("cannot open this file.\n"); getch();exit(0); } for(i=0;i<=1000;i++) { printf("\nPlease shuru xuehao:"); gets(data.xuehao); printf("Please shuru mingzi:"); gets(data.mingzi); printf("Please shuru yuwen score:"); gets(temp);data.score[0]=atof(temp); printf("Please shuru shuxue score:"); gets(temp);data.score[1]=atof(temp); printf("Please input yingyu score:"); gets(temp);data.score[2]=atof(temp); printf("Please shuru wuli score:"); gets(temp);data.score[3]=atof(temp); printf("Please shur huaxue score:"); gets(temp);data.score[4]=atof(temp); data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]; fwrite(&data,sizeof(data),1,fp); printf("another?y/n"); ch=getch(); if(ch=='n'||ch=='N') break; } fclose(fp); } void xianshi() { float s;int n; if((fp=fopen("s_score.txt","rb+"))==NULL) { printf("Cannot reading this file.\n"); exit(0); } for(i=0;i<=1000;i++) { if((fread(&info[i],sizeof(info[i]),1,fp))!=1) break; } printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n"); for(j=0,k=1;j<i;j++,k++) { info[j].mingci=k; printf("%6s %8s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4], info[j].score[5]); } getch(); fclose(fp); } void xiugai() { if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL) { printf("Cannot open this file.\n"); exit(0); } printf("\nPLease shuru xiugai xuehao:"); scanf("%d",&i); getchar(); while((fread(&data,sizeof(data),1,fp))==1) { j=atoi(data.xuehao); if(j==i) { printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi); printf("Please shuru mingzi:"); gets(data.mingzi); printf("Please shuru yuwen score:"); gets(temp);data.score[0]=atof(temp); printf("Please shuru shuxue score:"); gets(temp);data.score[1]=atof(temp); printf("Please input yingyu score:"); gets(temp);data.score[2]=atof(temp); printf("Please input wuli score:"); gets(temp);data.score[3]=atof(temp); printf("Please input huaxue score:"); gets(temp);data.score[4]=atof(temp); data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]; } fwrite(&data,sizeof(data),1,fp1); } fseek(fp,0L,0); fseek(fp1,0L,0); while((fread(&data,sizeof(data),1,fp1))==1) { fwrite(&data,sizeof(data),1,fp); } fclose(fp); fclose(fp1); } void chazhao() { if((fp=fopen("s_score.txt","rb"))==NULL) { printf("\nCannot open this file.\n"); exit(0); } printf("\nPLease shuru xuehao chakan:"); scanf("%d",&i); while(fread(&data,sizeof(data),1,fp)==1) { j=atoi(data.xuehao); if(i==j) { printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]); }getch(); } } void shanchu() { if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL) { printf("\nopen score.txt was failed!"); getch(); exit(0); } printf("\nPlease input ID which you want to del:"); scanf("%d",&i);getchar(); while((fread(&data,sizeof(data),1,fp))==1) { j=atoi(data.xuehao); if(j==i) { printf("Anykey will delet it.\n"); getch(); continue; } fwrite(&data,sizeof(data),1,fp1); } fclose(fp); fclose(fp1); remove("s_score.txt"); rename("temp.txt","s_score.txt"); printf("Data delet was succesful!\n"); printf("Anykey will return to main."); getch(); } main() { while(1) { clrscr(); /*清屏幕*/ gotoxy(1,1); /*移动光标*/ textcolor(YELLOW); /*设置文本显示颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为蓝色*/ window(1,1,99,99); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ clrscr(); printf("*************welcome to use student manage******************\n"); printf("*************************menu********************************\n"); printf("* ========================================================= * \n"); printf("* 1>shuru 2>xiugai * \n"); printf("* 3>shanchu 4>chazhao * \n"); printf("* 5>xianshi 6>exit * \n"); printf("* * \n"); printf("* --------------------------------------------------------- * \n"); printf(" Please input which you want(1-6):"); ch=getch(); switch(ch) { case '1':shuru();break; case '2':xiugai(); break; case '3':shanchu(); break; case '4':chazhao(); break; case '5':xianshi(); break; case '6':exit(0); default: continue; } } }

上一个:C语言程序设计
下一个:c语言&= 是什么意思c语言+=是什么意思

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,