学生管理システム(構造体)一週間目

3833 ワード

テーマ:学生成績管理(構造体配列、関数、ポインタ、ファイル、選択、ループ)
学生記録には、学号、氏名、国語の成績、数学の成績、総成績が含まれている.
プログラム表示機能選択:1、成績情報追加;2、成績情報表示;3、成績情報検索;4、成績情報記録(入力した名前による);5、成績情報を修正する(入力した名前による);6、成績情報を保存する;7、退出する.
********************************************************************************************
全部自分のものじゃないから2017/12
#include             /*         */
#include            /*     */
#include            /*      */
#define FILENAME "phone.dat"
struct date                //           
	{ 	char name[10];            /*  */
        char sex[20];
        char age[20];
        char address[50];
		char phone[12];
		char qq[20];
	 }per[10];     
                   
int menu()               //       
	{ 	int c;                  //        
		do{ 
		system("cls");                       //  
	    printf("\t**************           *******************
"); printf("\t--------------------
"); printf("\t 1、
"); printf("\t 2、
"); printf("\t 3、
"); printf("\t 4、
"); printf("\t 5、
"); printf("\t 6、
"); printf("\t 7.
"); printf("\t--------------------
"); printf("\t (1-7):"); scanf("%d",&c); }while(c>7&&c<1); return(c); } int Input(struct date per[10],int n) { int i=0; char sign,x[10]; while(sign!='n'&&sign!='N') { printf("\tname:"); scanf("%s",per[n+i].name); printf("\tsex:"); scanf("%s",per[n+i].sex); printf("\tage:"); scanf("%s",per[n+i].age); printf("\taddress:"); scanf("%s",per[n+i].address); printf("\tphone:"); scanf("%s",per[n+i].phone); printf("\tqq:"); scanf("%s",per[n+i].qq); gets(x); printf("
\t ?(Y/N)"); fflush(stdin); // scanf("%c",&sign); i++; } return(n+i); } void writeToFile(struct date per[10],int n) { FILE *fp=NULL; int i=0; fp=fopen("phone.dat","wb"); if(fp==NULL) { printf(" !
"); exit(0); } for(i=0;i<10;i++) fwrite(&per[i],sizeof(per),1,fp); // 1 fclose(fp); } void Display(struct date per[10],int n) { int i; printf("----------------------------------------------------------------------
"); // / printf(" qq
"); printf("----------------------------------------------------------------------
"); for(i=1;i1&&i%10==0) { printf("\t-----------------------------------
"); printf("\t"); getchar(); getchar(); printf("\t-----------------------------------
"); } } printf("----------------------------------------------------------------------
"); getchar(); getchar(); } int Delete_a_record(struct date per[10],int n) { char s[20]; int i=0,j; printf("\t :"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i